본문 바로가기

전체 글47

기본형 특화 스트림(IntStream, LongStream, DoubleStream) Stream을 사용하다보면 mapToInt(), mapToLong() 과 같은 메서드를 본 적이 있을 것이다. 필자는 map() 과 비교했을 때 결과적으로 다른 것은 없지만, 각 타입에 대한 연산 처리 과정에서 효율적일 것이라는 뇌피셜을 가지고 사용하고 있었다. 정말 그럴까? 🤔 예제를 통해서 살펴보자. 기본형 특화 스트림이 뭘까? Stream에서 mapToInt(), mapToLong(), mapToDouble() 을 호출하면 각각 IntStream, LongStream , DoubleStream 이 반환된다. 해당 Stream들을 모두 기본형 특화 스트림이라고 부른다. 말 그대로 기본형, primitive type에 특화된 Stream 이라는 의미이다. 앞서서 뇌피셜로 각 타입에 대한 연산 처리 과정.. 2022. 10. 9.
[우아한테크코스] 6월 1주차 회고 저번 주는 급하게 회고를 쓰느라고 너무 글이 짧았 던 것 같다.. ㅎ 이번 주 회고는 조금 더 구체적으로 적어 보겠다! 서버 배포 저번주 부터 배포 인프라 강의가 시작되었다. aws 계정을 부여 받고, ec2 인스턴스를 생성 했다. 계속 로컬에서만 실행해보다가, 이제 정말 서버에 내 프로젝트를 띄운다고 생각하니 기분이 좋았다. 이제 정말 협업 프로젝트가 시작되는구나 싶기도 했다. 생각보다 간단할 줄 알았는데, 겪어야 할 문제들이 많았다. 알 수 없는 리눅스 커멘드 부터 시작해서 CORS 문제까지.. 로컬 환경에서는 쉽게 동작했던 것들이 서버 환경에서 구축하기가 꽤나 힘들었다. 또한 인메모리 H2 db를 mysql db로 변경해야 하는 문제 때문에 페어와 DB 서버를 추가로 구축해야 했다. 옛날에 프로젝트.. 2022. 6. 5.
서블릿 MVC 와 스프링 MVC 비교하기 Servlet 환경의 MVC를 살펴보고, 스프링과 비교해보자. Servlet Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술 Tomcat : 자바 서블릿 컨테이너 = 서블릿을 갖고 있고 서블릿을 적절히 관리하는 애로 생각하면 된다! Servlet 주기 init() 톰캣이 서블릿이 생성되면 init() 메소드를 실행하여 서블릿을 초기화함 서블릿 생성 시 최초 1번 실행 service() request를 처리하는 메소드 destroy() 서블릿을 제거할 때 실행되는 메소드 보통 서버가 종료될 때 실행됨 Servlet 주기 테스트 - 톰캣 설정파일에 Servlet 등록 newmadamequery index.html CorinneServlet controller.C.. 2022. 6. 4.
[우아한테크코스] 5월 5주차 회고 이번 주 월요일 부터는 지하철 경로 조회 미션을 하느랴고 바빴다. 수요일에는 장바구니 미션 페어가 공개 됐다. 그런데 페어가 lv1부터 친했던 에덴이어서 너무 웃기고 반가웠다. 그리고 이번 장바구니 미션에는 페어 뿐만 아니라 팀 협업이어서 다른 크루들과도 소통을 해야하는 상황이 있었다. 백엔드 크루로는 연로그, 호호가 있고 프론트 엔드 크루로는 나인과 위니가 있다. 다들 회의할 때도 너무 적극적이고 소통이 잘 되어서 모든 것이 수월했다. 처음으로 프론트엔드 크루와 협업을 하는 미션이라 설레고 기대된다. 2022. 5. 29.
[우아한테크코스] 5월 4주차 회고 미션 1단계 미션 이번 주에는 지하철 경로 미션을 진행했다. 바로 직전 미션인 지하철 노선도 미션의 코드를 기반으로 경로를 찾는 기능을 추가하는 것이었다. 환승을 포함하여 최단 거리로 목적지까지 갈 수 있는 경로를 찾는 것인데, 처음에는 어떻게 구현해야 할지 막막했으나 다익스트라 알고리즘을 사용하면 되는 간단한 문제였다. 이미 모듈까지 나와있어서, 내가 해야 할 일은 모듈을 활용하는 것 이었다. 지하철 경로 미션을 진행하기 위해서 페어의 코드와 나의 코드 중 어떤 것을 사용할지 선택해야 했다. 페어인 로마의 배려로 나의 코드로 진행하게 되었고 페어 미션이 그렇게 어렵지 않아서 이틀만에 끝냈다. 재밌는 로마 덕에 계속 웃으면서 미션을 진행했던 것 같다. 크게 웃고 나니 다들 조용하고 나만 웃고 있어서 머쓱.. 2022. 5. 22.
[우아한테크코스] 5월 3주차 회고 반성의 시간 저번주에 5월2주차 회고를 쓰는 것을 까먹고 아예 건너 뛰었다... 일요일에 미션하고 PR 날리느랴고 그랬던걸로 기억한다.. 항상 금요일에 회고 쓰기로 알림을 걸어놓기는 하는데 계속 무시하고 일요일에 쓰다가 이 사단이 난 듯 하다.. ^^ㅠ 어떡하면 안 밀리고 쓸 수 있을지 고민 좀 해봐야겠다 (오늘도 일요일에 썼지만) 미션 이번 미션은 지하철 노선도이였다. atdd를 기반으로 구현하는 것이었는데, 처음 해보는 테스트라서 조금은 어색하기도 했다. atdd는 Acceptance Test Driven Development의 약자로써 인수테스트를 기반으로 개발하는 방법이다. 인수테스트는 사용자 관점에서 테스트를 진행하는 것으로, 어떤 요청을 주었을 때 어떤 응답이 올지에 대해 테스트를 작성하는 것.. 2022. 5. 15.