본문 바로가기
728x90
반응형

분류 전체보기146

[Spring Boot]스프링부트 블로그 만들기 - 초기 세팅 스프링부트 블로그 만들기는 mvc패턴에서 view를 제외한 model과 controller 부분만 포스팅할 예정이니, view 구현을 원하시는 분들은 프론트엔드 기초 강의를 들으시기를 권합니다. 스프링부트 블로그 만들기 프로젝트의 1차 목표는 회원가입, 로그인, 글 쓰기, 글 보기, 글 수정, 글 삭제까지 구현하겠습니다. IDE는 VSCode를 사용하겠습니다. (툴은 Intelli j나 본인이 원하는 툴을 사용해도 무방합니다) 1. VSCode 프로젝트 만들기 2. 2.7.8 버전을 사용합니다. 3. 언어는 java를 선택. 4. domain 주소를 적어줍니다. 없으면 아무거나 적어주셔도 무방합니다. 5. 프로젝트 제목을 만들어주세요. ex. blog 6. jar로 설정합시다. 7. 자바는 11 버전을 .. 2023. 2. 15.
[Jsoup이란/Jsoup 자바로 구현해보기] Jsoup이란 html 문서로 저장된 데이터를 Parsing해주는 오픈 소스 라이브러리입니다. jsoup 공식 문서 보기 https://jsoup.org/ jsoup: Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safety jsoup: Java HTML Parser jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. .. 2023. 2. 8.
스프링 Parsing 방법(x-www-form-urlencoded, json) 우선 스프링의 기본 파싱 전략부터 알아보자. 스프링의 기본 전략은 x-www-form-urlencoded 스프링 Servlet Container는 x-www-form-urlencoded 타입의 데이터를 주고 받고 파싱하는 것을 기본적으로 제공해준다. (다른 데이터 타입은 제공하지 않는다.) x-www-form-urlencoded get 요청 만약 get 요청으로 x-www-form-urlencoded 데이터가 들어오면 body가 없으므로, url의 QueryString을 보고 request.getParameter(”key”); 로, key 값을 받아서 파싱한다. x-www-form-urlencoded post 요청 만약 post 요청으로 x-www-form-urlencoded 데이터가 들어오면 Buffe.. 2023. 2. 8.
사진 전송의 과정으로 보는 Base64, Segment, Packet, Fragment 서론 사진을 데이터로 전송해야 하는 상황이라고 가정해보자. 사진을 전송하려고 할 때, 색의 3원소인 RGB로 이미지를 전송한다고 하면, RGB 각각 8bit씩 총 24bit + 좌표 데이터(x: 8bit, y: 8bit) ⇒ 최소 40bit가 필요하다. 만약 200X200 픽셀에 사진을 다 채운다고 하면 40bit * 40000 ⇒ 1.6mbytes의 용량이 나온다. 만약 영상을 보낸다고 치면, 1초에 24장의 사진이 필요하므로 1.6 * 24 = 38.4mb의 용량이 필요하다. 그렇게 되면 용량이 기하급수적으로 상승하므로, 용량을 줄이기 위한 인코딩(압축)이 필요하다. 내 컴퓨터에서 상대방의 컴퓨터로 사진 전송을 한다고 치자. 이러한 Layer가 존재하는데, Application 영역 1번 영역 App.. 2023. 2. 6.
[Dart문법] 변수 Dart 설치 없이 코드 연습하는 사이트 https://dartpad.dev/ The Var Keyword 변수 타입을 지정할 수도 있고, var으로 쓸 수도있다. void main() { int a = 10; var b = 100; } dart에서는 가이드를 제공하는데, 함수나 메소드 내부에 지역 변수를 선언할 때는 var을 사용. class에서 변수나 property를 선언할 때는 타입을 지정. 그리고 변수는 데이터의 타입만 유지하면 업데이트 가능하다. Dynamic Type void main() { dynamic name; //var name; 도 가능. if(name is String) { name.length; } } 타입을 모를 때, dynamic을 붙일 수 있다. 만약 데이터를 받아야 하는데.. 2023. 2. 5.
객체지향의 5원칙 SOLID SRP SRP, 단일 책임 원칙, Single Responsibility Principle, 객체는 오직 하나의 책임을 가져야 한다. OCP OCP, 개방-폐쇄 원칙, Open-Closed Principle, 객체는 확장에 대해서는 개방적이고 수정에 대해서는 폐쇄적이어야 한다는 원칙이다. 즉, 새로운 코드를 생성하는 것은 개방하고 기존 코드를 수정하는 것은 폐쇄해야 한다. DIP가 선행되어야 한다. 유지보수에 편리하다. LSP LSP, 리스코프 치환 원칙, Liskov Substitution Principle, 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있다는 원칙이다. 즉 부모 클래스가 들어갈 자리에 자식 클래스를 넣어도 계획대로 잘 작동해야 한다는 것. 상속의 본질인데, 이를 지키지 않으면.. 2023. 1. 29.
728x90
반응형