개발자 일지129 [인프런 김영한 로드맵3]모든 개발자를 위한 HTTP 웹 기본 지식3 - 김영한님의 인프런강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 학습하고 정리한 내용이다.- HTTP 웹 기본 지식과 관련된 내용을 학습힌다.- 모든 내용 및 이미지 출처는 인프런 및 김영한님에게 있습니다.- 이전 글은 아래 링크를 클릭해주세요. [인프런 김영한 로드맵3]모든 개발자를 위한 HTTP 웹 기본 지식2- 김영한님의 인프런강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 학습하고 정리한 내용이다.- HTTP 웹 기본 지식과 관련된 내용을 학습힌다.- 모든 내용 및 이미지 출처는 인프런 및 김영한님에roadofdevelopment.tistory.com 8.HTTP헤더2 - 캐시와 조건부 요청 1.캐시 기본 동작 캐시가 적용되는 흐름은 다음과 같은 예시가 있다. 이미지파일을 요청하고.. 2022. 9. 1. [인프런 김영한 로드맵3]모든 개발자를 위한 HTTP 웹 기본 지식2 - 김영한님의 인프런강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 학습하고 정리한 내용이다.- HTTP 웹 기본 지식과 관련된 내용을 학습힌다.- 모든 내용 및 이미지 출처는 인프런 및 김영한님에게 있습니다.- 이전 글은 아래에 링크를 클릭해주세요. [인프런 김영한 로드맵3]모든 개발자를 위한 HTTP 웹 기본 지식1- 김영한님의 인프런강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 학습하고 정리한 내용이다. - HTTP 웹 기본 지식과 관련된 내용을 학습힌다. - 모든 내용 및 이미지 출처는 인프런 및 김영한님roadofdevelopment.tistory.com 6.HTTP 상태코드 1)HTTP 상태코드 소개 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다.1xx(Inf.. 2022. 8. 24. [인프런 김영한 로드맵3]모든 개발자를 위한 HTTP 웹 기본 지식1 - 김영한님의 인프런강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 학습하고 정리한 내용이다. - HTTP 웹 기본 지식과 관련된 내용을 학습힌다. - 모든 내용 및 이미지 출처는 인프런 및 김영한님에게 있습니다. 1.인터넷 네트워크 인터넷에서 클라이언트와 서버는 서로 통신 함 보내는 쪽(클라이언트)은 서버 정보를 알아야 보낼 수 있음 -> IP IP를 통해 데이터 전달 패킷이라는 통신단위로 데이터 전달 IP패킷에는 출발지IP, 도착지IP, 기타정보로 구성 클라이언트가 도착지IP에 패킷 전달하면 서버는 출발지IP를 확인 후 OK 응답 등을 보냄 IP 프로토콜의 한계 1)비연결성 : 패킷 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 2)비신뢰성 : 중간에 패킷이 사라지거나 패킷 순서가 변경되는.. 2022. 8. 22. [TIL]토이프로젝트 진행 학습내용 정리 - 학습용 토이프로젝트 진행하며 알게된 점이나 어설프게 알았던 점 등을 정리해둔다. 1.토이프로젝트 시작 단계에서 흐지부지 되지 않기 위한 방어책 토이프로젝트를 시작하는 것은 쉽지 않은 것 같다(적어도 나는). 서비스를 만들려면 DB, 도메인 설계를 하고 어떤 기술을 사용할지 정하고 서비스 스토리보드를 만들어 퍼블구성을 하고..그러기 위해서 보통 팀단위로 많이 하기도 하는 것 같다. 내가 토이프로젝트를 시작하기 어려웠던 점은 위의 설계 단계가 너무 힘들었기 때문이다. 사실 코딩하고 직접 설정 만지면서 실습은 재밌지만, 설계 단계를 하다보면 이게 맞는지 틀린지도 잘 모르겠고 하다보니 질질 시간이 끌리고 흐지부지하게 된다. 이런 적이 몇 번 있었다. 인프런의 김영한 강사님이 학자형 개발자와 야생형 개발자가 .. 2022. 8. 15. watch를 통해 객체 중첩 값 변경 감지하기 - watch 속성 기능에 대해 살펴본다. - 일반적으로 watch는 객체 내부 데이터 변경 감지를 할 수 없는데, 이를 해결하는 방법을 알아본다. 1.watch Vue.js에서 데이터를 감지할 때 watch 속성을 사용한다. 특정 프로퍼티가 변경될 때 지정한 콜백함수가 실행되는 기능이다. computed랑 비슷하다. 둘을 혼동하는 경우가 많아서 블로그에 찾아봤는데, https://blog.jeongwoo.in/vue-js-watch%EC%99%80-computed-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%99%80-%EC%82%AC%EC%9A%A9%EB%B2%95-e2edce37ec34 [Vue.js] watch와 computed 의 차이와 사용법 Vue.js에서 computed 프로퍼.. 2022. 8. 12. [토이프로젝트]토이플젝 시작 이야기 + @pathVariable 한글 깨짐 - 토이프로젝트 관련 잡담을 한다. - 컨트롤러 @PathVariable 한글 깨짐을 처리한다. 1.토이프로젝트(학습프로젝트) 시작 그냥 토이프로젝트라기보다 학습프로젝트가 더 맞겠다. 그냥 네이버 영화 API로 내 영화 리뷰 관리하는 애플리케이션을 만들어보고 있다. - springframework 4.2.4 - java 1.8 - vue2 - bootstrap 회사 프로젝트가 레거시에서 신기술들로 넘어가는 약간 과도기적 레거시(?)다. 아직 업무에 최적화가 안 되어서 일하는데에 에너지를 많이 쏟고 있다. 일단 업무효율을 높이는 것이 단기적, 1차적 목표기 때문에 토이프로젝트도 과도기적 레거시 모드(스프링 MVC, JSP + vue.js)로 설정해서 하고 있는데 상당한 판단 미스같다. 일단 이걸 ver1로.. 2022. 8. 2. [인프런 김영한 로드맵4]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(7) -스프링 MVC를 활용한 간단한 웹페이지를 만들어본다. -요구사항 분석 후 알맞은 도메인, HTML, 서비스 로직 등을 개발한다. -모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture4_Item-Service) 7.스프링 MVC - 웹 페이지 만들기 1.프로젝트 생성 우선 프로젝트를 다음과 같이 생성한다.(https://start.spring.io/) 2.요구사항 분석 핵심 요구사항은 상품을 관리할 수 있는 서비스다. 상품도메인 모델은 다음과 같다. 상품ID, 상품명, 가격, 수량 관련된 기능은 다음과 같다. 상품목록, 상품상세, 상품등록, 상품수정 서비스 흐름은 다음과 같다. 클라이언트(사용자)는 상품 목록을 조회한다. 상품 등록 클릭시, 상품.. 2022. 7. 3. [회고]2022년 상반기 회고 - 2022 상반기 회고를 한다. 1.들어가기 회고라는 것을 쓰는 것은 상당히 부끄러운 것 같다. 뭔가 공개된 곳에 내 히스토리를 적는게 INFJ인 나에게 있어서 상당히 부담이기도 했고, 뭔가 인스타그램마냥 보여주기에 치중이 된 개발자들의 문화같았다. 그래서 구글링을 통해 여러 사람들의 회고록을 구경했다. 회고를 해서 무엇을 얻는지 궁금했다. 근데 뭐 회고라는 게 딱히 정해진 틀은 없는 거 같다. 어쨋뜬 회고에 대해 많은 개발자들이 좋다고 얘기하고 있고 일단 매년 2번씩 상반기, 하반기로 써볼 예정이다. 2.돌고 돌아 개발자가 되기까지 요 근래 왜 개발자 되었냐는 질문을 두어번 받으면서 한 번 정리해보려고 한다. 개발자를 하게 된 가장 큰 이유는 고등학교 친구들이다. 나 포함 3명이서 주기적으로 만나는 .. 2022. 6. 26. [TIL]학습내용 정리(nslookup, AES256) - 오늘 배운 건 아니지만 기록이 밀린 것들을 정리한다. - nslookup 명령어로 도메인의 ip 찾는 법을 소개한다. -AES-256 암호화 방식을 소개한다. 1.nslookup 외부 API 연동 개발이 거의 끝나고, 운영 api URL을 받았다. ip를 찾아서 outbound 방화벽을 열어야 하는데, 이 때 사용할 수 있다. nslookup 명령어와 도메인명을 입력하면 DNS서버와 해당 도메인의 ip를 확인할 수 있다. 위의 서버와 Address는 ISP의 DNS 서버와 ip이다. KT를 사용해서 kns.kornet.net이 나오고 있다. 회사에서는 자체 dns를 사용해서 일반적인 ISP의 dns 주소가 안 나왔다. 그리고 밑에 '권한 없는 응답' 쪽이 쿼리한 도메인의 주소다. ip를 그대로 입력하.. 2022. 6. 25. [인프런 김영한 로드맵4]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(6) - 스프링 MVC의 기본 기능을 알아본다. - 스프링 로깅에 대해 간단히 알아본다. - HTTP 요청과 응답을 처리하는 다양한 방식을 알아본다. - HTTP 메시지 컨버터에 대해 알아본다. -모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture4_springMVC) 6.스프링 MVC - 기본 기능 1.프로젝트 생성 및 Welcome 페이지 만들기 스프링 부트 스타터 사이트에서 프로젝트를 생성한다. 이 때 Packaging을 Jar로 선택한다. Jar는 항상 내장서버(톰캣)를 사용하고 webapp 경로를 사용하지 않는다. 내장 서버 사용에 최적화 되어 있다. 반면, War를 사용하면 내장서버도 사용가능 하지만 주로 외부 서버 배포 목적으로 사용한다... 2022. 6. 18. [인프런 김영한 로드맵4]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(5) -이전 시간에 단계별로 만든 'MVC 프레임워크'와 '스프링 MVC'를 비교해본다. -스프링MVC에서 핸들러매핑, 뷰리졸버가 어떻게 사용되는지 확인한다. -컨트롤러 사용시 컨트롤러 인터페이스 방식과 애노테이션 방식을 학습하며 실무에서 사용되는 법을 학습한다. -모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture4) 5.스프링 MVC 구조 이해 1.스프링 MVC 전체 구조 직접만든 MVC프레임워크와 스프링 MVC를 비교해보자. FrontController -> DispatcherServlet handlerMappingMap -> HandlerMapping MyHandlerAdapter -> HandlerAdapter ModelView -> Mode.. 2022. 6. 14. [인프런 김영한 로드맵4]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(4) -이전 시간의 JSP, 서블릿 회원관리 개발을 하며 느낀 단점을 보완하기 위해 MVC프레임워크를 만들어본다. -버전을 5가지로 만들어 본다. 프론트 컨트롤러 도입(v1), View분리(v2), Model 추가(v3), 단순하고 실용적인 컨트롤러(v4), 유연한 컨트롤러(v5)로 단계별로 만들어 본다. -모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture4) 4.MVC 프레임워크 만들기 여기서는 기존 회원관리 애플리케이션의 단점을 한 단계씩 버전업하면서 단계별로 만들어본다. 버전별로 먼저 어떻게 변경되는지 간단하게 정리하면 다음과 같다. v1 : 프론트 컨트롤러라는 것을 도입한다. 말 그대로 기존 컨트롤러에 앞서 동작하는 부분으로, 요청에 맞는 컨.. 2022. 6. 4. [인프런 김영한 로드맵4]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(3) -회원관리 웹 애플리케이션을 간단하게 만들어본다. -처음에 서블릿 방식만 사용하여 만들고 JSP 방식으로도 만들어본다. -마지막으로 MVC방식으로 만들어 서블릿방식, JSP방식의 단점을 보완해본다. -모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture4) 3.서블릿, JSP, MVC 패턴 1.회원 관리 웹 애플리케이션 요구사항 이전 시간에는 서블릿에서 요청 데이터를 가져와서 처리하는 방법, 응답 데이터를 보낼 때 처리하는 방법 등을 살펴보았다. 이번 시간에는 본격적으로 간단한 회원관리 웹 애플리케이션을 만들어본다. 처음에는 서블릿을 통해서만 개발하면서 자바 코드 안에 HTML 작성을 해본다. 두번쨰로 서블릿을 통한 개발의 단점을 느끼고, JSP를.. 2022. 5. 31. [에러]java.lang.Integer cannot be cast to java.lang.String 해결방법 -java.lang.Integer cannot be cast to java.lang.String 해결방법을 알아본다. 1.에러 내용 캐스팅 대상이 Integer(int)인 경우 String으로 캐스팅할 때 (String)을 붙여 캐스팅하면 이 에러가 발생한다. 나는 프로젝트에서 map.get(값)으로 가져온 값이 int값인데 (String)map.get(값)으로 캐스팅하면서 발생했다. VO를 만들어 쓸 걸 그랬다. 2.해결 방법 String으로 캐스팅하려면 방법이 여러가지 있지만 보통 (String)으로 처리할 수 있다. 그러나 이건 캐스팅 대상이 문자열일 때 사용 가능하다. 캐스팅 대상이 실제로 Integer 타입이면 바로 (String)캐스팅시 저런 에러가 발생한다. 이럴 때 String.valueO.. 2022. 5. 27. [인프런 김영한 로드맵4]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(2) -서블릿 방식 요청 처리를 학습한다. -요청 방식(http get 쿼리파라미터, html form 전송, api 전송 등)에 따른 처리 방법을 학습한다. -목차는 강의 순서대로 진행한다. -모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture4) 2.서블릿 스프링 MVC 방식을 살펴보기 전에 프레임워크 없이 서블릿 스타일의 클라이언트-서버 통신 과정을 살펴본다. 1.프로젝트 생성 start.spring.io에서 스프링 부트 프로젝트를 생성하고 인텔리제이 프로젝트 오픈 및 설정을 한다. 그리고 롬복도 설치한다. start.spring.io에서 Dependencies로 lombok을 추가하여 생성하자. 그리고 스프링부트는 Jar로 빌드되지만 JSP사용.. 2022. 5. 16. [IntelliJ]깃허브 연동 및 commit and push 테스트 -인텔리제이를 통해 깃 연동을 한다. -깃허브에 commit and push를 해본다. 이클립스나 소스트리, git bash 등으로만 해봐서 인텔리제이로 연동 및 테스트를 해본다. 현재 로컬저장소와 원격저장소를 이미 소스트리로 연결해놔서 리모트연결에 대한 부분이 생략되었기 때문에 이부분에 대한 내용도 필요하면 다른 블로그들이 더 도움이 될 것이다. 1.깃&깃허브 연동 Settings(맥OS는 Preference) > Version Control > Git에서 path to Git executable 깃설치경로를 입력한다. Settings(맥OS는 Preference) > Version Control > GitHub에 들어가서 Add Account로 계정 추가를 한다. 2.Commit & Push 테스트 .. 2022. 5. 15. [인프런 김영한 로드맵4]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(1) -인프런 김영한 강사님의 스프링 MVC 1편 강의를 정리한다. -웹 애플리케이션에 대한 이해와 웹서버, WAS, 서블릿, 멀티쓰레드 처리 등에 대해 Intro 학습을 한다. -추후 모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture4) 신청만 해두고 미루고 미루다가 다시 시작했다. 로드맵3을 작성 안 했는데 HTTP 강의 수강한 거 얼른 정리할 예정이다. 1.웹 애플리케이션의 이해 1.웹 서버, 웹 애플리케이션 서버 웹에서 모든 형태의 데이터는 현재 HTTP 형식으로 전달된다. 서버끼리 데이터 주고받을 때도 HTTP로 통신한다. 웹 애플리케이션 통신은 웹서버와 웹 애플리케이션 서버를 통하여 통신한다. 1)웹서버 HTTP기반 동작이며 정적리소스(H.. 2022. 5. 12. [ WIL]한 주간 배운 것 정리 및 느낀점 -한주간 느낀 것들 간단히 정리한다. -한 주간 배운 것들을 간략히 정리한다(Week I Learn) 한 주간 상당히 바빴다. 이번에 코딩 몰아쳐서 엄청했다. 내가 공수를 좀 잘못잡은 탓에 어쨋뜬 끝내기 위해 전력을 다했다. 수면시간 줄여가며 쉬지않고 개발할 수 있었던 것은 재밌었기 때문이다. 피곤함과 스트레스가 극에 달했는데도 코딩이 재밌어서 마칠 수 있었다. 한편으로 딱 좋을시기에 검증(?)할 수 있는 좋은 기회였다고 본다. 그리고 실력을 늘릴 좋은 학습 기회가 있었는데 도저히 체력과 시간이 안 되어 포기하게 되었다. 그걸 포기한대신 업무력과 코딩력을 얻긴했는데 그런 기회들은 또 있을거라고 보며 계속 공부해나가야지. 그리고 올해 바쁜 이벤트들이 너무나 많아서 멀티플레이 할 수 있도록 체력과 정신을 항.. 2022. 4. 21. HTTP, TCP/IP 간단 정리 -OSI 7계층, TCP/IP 4계층을 알아본다. -HTTP, TCP/IP 특징, 관계를 알아본다.이직하고나서 네트워크 개념과 서버관련 개념들이 부족함을 깨닫고 있다. 생각 이상으로 응용되는 개념들이 많고 머리에서 엉킨다. 기능구현 위주의 개발회사에서 이직하면 이러한 약점이 있음을 몸소 깨닫는다! 뭐 깨닫는다고 어쩔 수 있는 것은 아니고 다시 꾸준히 정리해보자. OSI 7계층, TCP/IP 4계층 OSI 7계층은 클라이언트 or 서버에서 데이터 전송시 많은 단계를 거치는데 그 단계를 그림으로 표현한 것 정도로 생각하면 되겠다. 이렇게 계층을 그림으로 나누면 문제발생시 7단계에서 문제 발생 부분만 체크하면 된다는 이점도 있다. TCP/IP 4계층은 OSI 7계층을 기반으로 인터넷에서 실제로 사용되는 표준이.. 2022. 4. 10. [인프런 김영한 로드맵2]스프링 핵심 원리 정리(6) -인프런 김영한 강사님의 스프링 핵심 원리를 정리한다. -빈 생명주기와 생명주기에 따른 콜백 처리 방식을 알아본다. -빈 스코프의 개념, 종류 및 특징을 알아본다. -모든 소스는 깃허브에서 관리한다.(https://github.com/coderahn/Spring-Lecture2) 8.빈 생명주기 콜백 1.빈 생명주기 콜백 시작 DB Connection Pool과 같이 애플리케이션 시작 시점에 필요 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면 객체 초기화 및 종료작업이 필요하다. 우선 빈의 라이프사이클은 다음과 같다. 더보기 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료 보는 것처럼 의존.. 2022. 3. 20. 이전 1 2 3 4 5 6 7 다음