본문 바로가기

분류 전체보기147

[스프링] 서블릿, JSP, MVC 패턴 서블릿, JSP, MVC 패턴 서블릿 서블릿: 자바 코드로 html 작성response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter w = response.getWriter(); w.write("html~~"); JSP JSP: import: 자바 코드 입력: 자바 코드 출력: MVC 패턴 배경: 너무 많은 역할, 변경의 라이프 사이클, 기능 특화 Model View Controller 컨트롤러: HTTP 요청-> 파라미터를 검증, 비즈니스 로직 실행, 뷰에 전달할 결과 데이터를 조회-> 모델에 담기 서비스: 비즈니스 로직 처리 리포지토리: 데이터 접근 모델: 뷰에 출력할 데이터 담아둠 뷰: 모델에 담겨있.. 2022. 6. 9.
[스프링] 웹 애플리케이션 이해, 서블릿 웹 애플리케이션 이해 웹 서버: HTTP 기반, 정적 리소스 제공, NGINX, APACHE 웹 애플리케이션 서버WAS: HTTP 기반, 웹 서버 기능+애플리케이션 로직 수행,톰캣 Jetty 서블릿: urlPatterns의 URL이 호출-> 서블릿 코드 실행, HttpServletRequest,HttpServletResponse 서블릿 컨테이너: 서블릿을 지원하는 WAS, 생명주기 관리, 싱글톤으로 관리: 최초 로딩 시점, 공유 변수 사용 주의, 서블릿 컨테이너 종료시 함께 종료 JSP도 서블릿으로 변환 멀티 쓰레드 지원: WAS가 처리 SSR(서버 사이드 렌더링): HTML 최종 결과를 서버에서 만들어서 웹 브라우저에 전달(JSP, 타임리프) CSR(클라이언트 사이드 렌더링): 동적인 화면에 사용(Re.. 2022. 6. 9.
인프랩 CTO 이동욱님과의 멘토링(2) 2번째 멘토링 5월 29일 디지털 청년 고민해결단 프로그램의 2번째 멘토링이 진행되었다. 멘토링이 일회성으로 끝나지 않고 최소 2번 진행되는데 이 점이 더 열심히 공부하게 만드는 계기가 되었다. 다음 멘토링까지의 텀이 어느정도 있다보니 이 기간동안 좀 더 발전해서 뵙고 싶은 마음... 2번째 멘토링을 하기전에 슬랙을 통해 다른 취준생분들과 인터뷰했던 내용을 공유해주셨고 공부하는데 참고할 수 있었다. 멘토링은 저번과 마찬가지로 Q&A 형식으로 진행이 되었다. 질문에 바로바로 대답해주시는 걸 보면서 계속 감탄하면서 들었다. 답변을 들으며 그동안 쌓인 노하우가 엄청 많으신게 느껴졌다. 줌으로 진행하는데 마치 개발바닥의 라이브에 직접 참여하고 있는 느낌이 든다. 아직도 믿기지 않는다. 멘토링 하게 된 것에 감사.. 2022. 6. 6.
자바 플레이그라운드 with TDD, 클린코드(4) 4/21 문자열 계산기를 다시 만들었다. 값을 공유할 때 변수에 static붙이고 인스턴스 변수를 쓰지 않으면 메서드에 static 붙인다고 알고 있었다. 그래서 메서드에 static을 다 갖다 붙였다. 뭔가 잘못된 느낌이었다. static쓰니까 객체생성을 하나도 안했다. 나는 인스턴스 변수를 쓰지 않고 있었고 값들은 매개변수로 계속 넘기고 있었다. 이건 객체지향적인 코드가 아니었다. 객체지향 프로그래밍으로 유틸리티 클래스를 대체하자. | Mimul Tech log 유틸리티 클래스를 안써본 사람은 거의 없을겁니다. 유틸리티 클래스가 좋다, 나쁘다는 논쟁꺼리지만, 객체지향의 관점에서 볼때 그래도 생각해볼 꺼리가 된다고 생각해, OOP Alternative to Utility Cl www.mimul.com .. 2022. 6. 4.
스프링 핵심원리 스프링 핵심원리 객체 지향 설계와 스프링 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임 워크 다형성 역할과 구현 구분:공연-역할(인터페이스)-배우(바꿀 수 있음,구현객체) 객체 인스턴스 실행시점 유연하게 변경 클라이언트 변경 x 객체 지향 설계 5가지 원칙(solid) 단일 책임(srp): 하나의 책임-변경의 파급효과 적게 개방-폐쇄(ocp): 확장에 열려있고 변경(클라이언트)에 닫힘(설정자 필요), 할인정책(고정, 정률) 리스코프 치환(lsp): 정확성 유지 하위타입 인스턴스로 바꿀 수 있어야 함(자동차 엑셀은 앞으로) 인터페이스 분리(isp): 특정 클라이언트 위한 인터페이스 여러개 > 범용 의존관계 역전(dip): 추상화(인터페이스,역할) 의존o, 구체화x 스프링 di(의존.. 2022. 6. 1.
HTTP 인터넷 네트워크 IP (인터넷 프로토콜) 역할: 지정한 IP 주소에 패킷이라는 통신 단위로 데이터 전달 패킷 정보: 출발지, 목적지, 전송제어, 순서 한계: 비연결성(대상없음, 서비스 불능), 비신뢰성(패킷소실, 순서), 프로그램 구분(같은 IP) TCP, UDP 인터넷 프로토콜 스택 4계층 애플리케이션 계층: http,ftp 전송 계층: tcp,udp 인터넷 계층: ip 네트워크 인터페이스 계층 애플리케이션(소켓 라이브러리) > os (tcp > ip) > 네트워크 인터페이스 tcp(전송제어 프로토콜) 특징 연결지향-tcp 3 way handshake (가상연결): syn(클라이언트)->syn+ack(서버)->ack(클라이언트)-> 데이터 전송 데이터 전달 보증: 데이터 전송(클라이언트)->응답(서버).. 2022. 5. 31.