본문 바로가기
반응형

전체 글46

[Java] List, ArrayList, LinkedList 최근에 면접을 보면서 들었던 질문이기도 하고 TDD 미션을 진행하면서 코딩할 때도 궁금증이 생겨서 위 제목에 관한 내용을 정리해보려고 합니다. 정리하기에 앞서 간략히 컬렉션 프레임워크에 대해 짚고 넘어가도록 하겠습니다. 컬렉션 프레임워크에서는 컬렉션 데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였다. 그리고 인터페이스 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의하였다. - Java의 정석 3판 中 - 3개의 인터페이스는 위 사진과 같습니다. List - 순서가 있는 데이터의 집합. 데이터 중복을 허용한다. - 구현클래스 : ArrayList, LinkedList, Stack,.. 2022. 4. 21.
TDD, Clean Code With Java 14기 2주차 회고 [2022. 04. 11 ~ 2022. 04. 18] 2주 차에 접어들면서 첫 번째 미션인 자동차 경주를 끝냈습니다. 첫 번째 미션에서는 테스트 작성 방법과 함께 메소드 분리, 클래스 분리 등과 같은 역할과 책임을 나누는데 초점을 둔 미션 같았습니다. 평소 코딩하던 습관이 있었기 때문에 리뷰를 통해서 좋은 코드를 작성하는 방법과 의식하는 코딩을 배울 수 있어서 재밌었습니다. 뿐만 아니라 메소드의 위치라던지 변수의 선언, 인스턴스 변수가 꼭 필요할지? 등과 같이 다른 개발자분들과 협업을 할 때 오해의 소지라던지 미스 커뮤니케이션이 날 수 있는 부분을 고민하고 개선하는 과정을 거쳤습니다. 미션을 진행하면서 스트림을 사용해봤는데 제가 작성한 스트림에서 더 간결한 방법이 있어서 그 내용을 정리하고 지금까지 진행한 두 번째 미션인 로또에 대해서 정리해보도록 하겠습니.. 2022. 4. 19.
2022년 1분기(22.01 ~ 22.03) 회고 1분기 회고를 작성하기에 좀 늦은 감이 없지 않아 있지만, 늦게라도 회고를 작성해보려 합니다. 22년도 회고는 주기를 어떻게 가져갈 까 고민을 했습니다. 너무 짧으면 저 자신을 돌아볼 내용이 없을 거 같고, 너무 길면 디테일한 부분을 놓칠 수 있을 거 같아서 잠정적으로 분기마다 한 번씩, 1년에 총 4번을 써보자 다짐했습니다. 해가 바뀌고 가장 먼저 맞이하는 1월, 새로운 사람이 될 줄 알았습니다. TMI 긴 하지만 새해 다짐으로 단발이었던 머리를 숏컷으로 잘랐거든요. 아무튼 1월은 작심삼일이란 말을 잇는 작심삼주를 경험한 달이었습니다. 작년(2021년) 2월에 취업 한 이후로 퇴근 후에 조금씩이지만 집에서 공부하고 지냈습니다. 그런데 21년도 말부터 (개발바닥이라는 유튜브의 커뮤니티를 통해) 배우고 싶.. 2022. 4. 15.
TDD, Clean Code With Java 14기 1주차 회고 [2022. 04. 04 ~ 2022. 04. 10] 현직자를 대상으로 하는 강의인 우아한테크캠프 Pro에 관심이 있어서 우테켐을 운영하는 nextstep 플랫폼을 알게 되었습니다. 그런데 우테캠은 만 3년 이상의 경력을 지원 자격으로 두고 있기 때문에 저는 수강을 할 수 없었습니다... 그래서 nextstep을 둘러보면서 수강할 수 있는 강의를 찾아봤는데 TDD, Clean Code With Java는 수강할 수 있었습니다! TDD 강의가 어떤지 커리큘럼을 보고 기존에 수료하신 분들의 후기를 보니깐 너무 좋은 강의인 거 같아서 오픈 알림 신청을 하고 강의가 개설된 후에 바로 결제해서 4월 4일에 첫 시작을 했습니다! 아직 강의는 1주 차 밖에 안됐고 2022년 4월이긴 하지만 아마 올해 최고의 선택이 되지 않을까 생각됩니다. 특히나 개발 문화가 없는 회사.. 2022. 4. 11.
Kotlin - 변수와 자료형, 연산자 오늘은 코틀린의 변수와 자료형, 연산자에 대해서 정리해보도록 하겠습니다. 언어를 배울 때 개인적으로는 익숙해져야 한다고 생각합니다. 이런 내용들을 숙지하고 코드를 보면서 코틀린과 좀 더 친해져 봅시다. ※ 변수의 사용 방법과 자료형 그리고 변수를 이용하여 연산할 때 사용하는 연산자 코틀린에서 프로젝트는 모듈(Module), 패키지(Package), 파일(File)로 구성 - 모듈은 목적지, 패키지는 여행용 가방, 파일은 가방 속에 넣는 짐 코드를 보면서 친해져 봅시다. 기본적인 클래스 사용 및 출력 package com.example.wangtak class Person(val name: String, val age: Int) package com.example import com.example.wang.. 2022. 4. 6.
Kotlin - 시작하기 졸업 전에 안드로이드를 개인적으로 공부하면서 코틀린을 알게 되었고(3년 전이네요) 싸피 교육을 받으면서 "Do it 코틀린 프로그래밍"과 "Udemy 강의"를 구입하여 취미로 코틀린을 공부했습니다. 그때 공부한 이후로 최근까지 실무에서 자프링을 사용했기에 코틀린과는 좀 멀어졌습니다. 그런데 최근 코틀린/스프링(코프링)으로 새로운 프로젝트를 시작하는 기업이 많아지면서 저를 포함한 자바/스프링(자프링)을 사용하는 백엔드 개발자분들의 코틀린 학습 의지와 관심이 생겼을 거라 생각이 됩니다. 그래서 이번에는 그때 당시 책과 인터넷 강의로 공부했던 내용의 일부인 코틀린의 장점, Hello World 출력 및 메모리 구조에 대해 정리해보려 합니다. 코틀린의 장점 1. 자료형 오류를 미리 잡을 수 있는 정적 언어 컴파.. 2022. 4. 2.
[Vue.js] Vue CLI로 프로젝트 생성하기 SSAFY에서 Vue.js를 배웠고 실무에서 잠깐 Vue.js를 사용할 일이 생겨서 SSAFY에서 배운 내용을 복기하고 인프런에서 Vue.js의 대가 캡틴판교님의 강의를 통해 들은 내용을 토대로 토이 프로젝트를 진행해볼까 합니다. 물론 이렇다 할 주제가 떠오르지 않기 때문에 Vue.js 간단하게 UI 배치하고 Spring으로 API 만들어서 가지고 노는 것이 끝일 것 같습니다. 다만! OAuth2를 사용하여 소셜 로그인을 구현하는 것은 꼭 해보도록 하겠습니다. 이런 거창한 계획에 앞서 프로젝트 생성은 마치 공부를 하려는 학생이 책상을 정리하는 일이라고 생각합니다. 그래서 짧고 빠르게 책상을 정리해보도록 하겠습니다. 구글에 vue cli를 검색하면 가장 위쪽에 Vue CLI: Home을 제목으로 가지는 사.. 2022. 3. 22.
Spring AOP - AspectJ Pointcut Expression 하이라이팅 최근 영한님의 Spring Core Advanced 강의를 들으면서 Proxy, BeanPostProcessor, Advisor, Advice, Pointcut 등등 방대한 양의 Spring 관련 기술을 습득하고 있습니다. 나중에 강의를 다 들은 후에 복습하고 토이 프로젝트를 진행하여 적용해보고 이리저리 곱씹어 본 후에 느낀 점, AOP 관련 내용을 정리해볼까 합니다. 오늘의 포스팅 내용은 강의를 들으면서 라이브 코딩을 하던 와중에 AspectJExpressionPointcut을 통해 pointcut의 표현식을 정의하는 코드를 접했습니다. 그런데 영한님의 pointcut 표현식 코드에는 JPQL을 작성할 때 처럼 Code Assistant, 코드 하이라이팅 기능이 있어서 자동 완성을 제공하였지만, 제 I.. 2022. 3. 16.
Nginx - Forward Proxy, Reverse Proxy 영한님의 스프링 핵심 원리 - 고급편의 프록시 패턴과 데코레이터 패턴 파트에서 프록시에 대한 설명을 해주셨습니다. 그리고 프록시라는 개념은 클라이언트, 서버라는 큰 개념안에서 자연스럽게 발생할 수 있다고 하셨으며, 웹 서버에서의 프록시도 있다고 하셨습니다. 실무에서 Nginx를 사용하고 있고, Nginx의 기능인 Forward Proxy, Reverse Proxy, LB 등을 사용하고 있는 저였기 때문에 좀 더 명확한 개념을 얻고자 공부를 하였고 그중 이해가 가장 잘 되었던 영상을 정리해봤습니다. 우아한Tech 채널의 [10분 테코톡] 제이미님의 Proxy 세미나입니다. 출처 : https://www.youtube.com/watch?v=YxwYhenZ3BE 본 포스트는 테코톡의 내용을 정리, 요약한 것이.. 2022. 3. 9.
반응형