분류 전체보기

    JAVA :: 배열

    JAVA :: 배열

    남궁성 저자의 Java의 정석 3판 스터디 기초로 돌아가는 마음으로 Java의 정석을 읽으며 스터디를 시작했다 🙂 챕터마다 중요하거나 몰랐던 부분들을 정리해보고자 한다. 배열이란 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열의 선언과 생성 자바에서 배열을 생성할 때는 아래와 같이 한다. int[] arr = new int[5]; // 가능 int[] arr = new int[] {50, 60, 70} // 가능 int[] arr; arr = {50, 60, 70} // 이건 불가능 그런데, 길이가 0인 배열도 생성이 가능하다 ! int[] arr = new int[0]; 길이가 0인 배열을 생성하는 것은 어떤 의미가 있을까? Java에서 main method 실행할 때를 생각해보자. class..

    BoB 10기 보안제품개발 Top30 회고

    보호되어 있는 글입니다.

    Spring Boot :: JPA란?

    Spring Boot :: JPA란?

    이동욱님의 스프링 부트와 AWS 로 혼자 구현하는 웹 서비스 와 인프런 김영한님의 자바 ORM 표준 JPA 프로그래밍 기본편 을 보다가 JPA 에 대해 이해하기 쉽게 설명된 부분이 있어 인용해서 적어보았다. 웹 서비스를 개발하면서 피할 수 없는 문제는 DB 를 다루는 일이다. 특히 백엔드 개발자를 희망하고 공부하면서 느끼는 점은 DB를 다룰 일이 생각보다 많다는 것. 당장 백엔드 프레임워크를 이용해서 어플리케이션 개발에 몰두하기에도 시간이 부족한데, DB는 또 언제 공부하는지.. 어쨌든 RDB 를 이용하는 프로젝트에서 어떻게 객체지향 프로그래밍을 할 수 있을까 에 대한 해답으로 JPA 라는 자바 표준 ORM (Object Relational Mapping) 기술을 만나게 된다. 참고로 MyBatis, i..

    Gradle :: Lombok 추가 시 이슈

    Gradle :: Lombok 추가 시 이슈

    Annotation 을 사용하기 위해 build.gradle 에 dependency 를 추가하는 과정에서 여러 이슈들이 있었다. 오늘은 그 이슈들을 해결하는 과정을 리마인더하기 위해 적어보려 한다. 먼저 lombok 을 사용하기 위해 build.gradle 에 다음 문구를 추가했다. implementation('org.projectlombok:lombok') 이후 아래 DTO 코드에 Annotation 을 추가하고 Unit test 를 진행했다. @Getter @RequiredArgsConstructor public class HelloResponseDto { private final String name; private final int amount; } 테스트 코드를 실행했는데 아래 에러 발생.. h..

    TDD와 Unit Test

    TDD와 Unit Test

    이동욱 저자의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 를 읽다가, Unit Test 에 대해 이해하기 쉽게 설명된 부분이 있어 인용해서 적어보았다. 먼저, TDD 와 Unit Test 는 다르다. TDD 는 Test-Driven Development, 테스트 주도 개발을 의미한다. TDD 는 Test 코드를 작성하는 것부터 시작한다. Red Green Cycle TDD는 위 그림과 같은 프로세스를 가진다. 항상 실패하는 테스트를 먼저 작성 (Red) 테스트가 통과하는 프로덕션 코드를 작성 (Green) 테스트가 통과하면 프로덕션 코드를 리팩토링 (Refactor) 반면 Unit Test 는 TDD 의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 의미한다. TDD 처럼 테스트를 반드시..

    Spring Boot :: 처음 시작하는 Gradle 프로젝트 (build.gradle)

    Spring Boot :: 처음 시작하는 Gradle 프로젝트 (build.gradle)

    spring initializr 를 사용하면 빠르게 spring boot 의 설정을 할 수 있지만, 공부하는 입장에서 build.gradle 의 코드가 무슨 역할을 하는지, 추가로 의존성 추가가 필요하면 어떻게 해야 하는지는 알고 넘어가보자. 먼저 IntelliJ 에서 New Project 로 Gradle 프로젝트를 생성한 후에 build.gradle 파일을 지우고 아래 코드들을 순서대로 작성해보자. 다 작성하고 나면 spring boot 에 필요한 최소 설정은 다 추가되어 있을 것이다. // build.gradle buildscript { ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentral() } dependencies { c..

    IntelliJ :: Mac용 단축키 모음

    IntelliJ :: Mac용 단축키 모음

    내가 보려고 쓰는 IntelliJ 단축키 모음 단축키를 이용해 코딩을 하는 사람을 보면 멋있다. 멋있게 코딩하고 싶어서 쓸만한 단축키를 적어두려고 한다. (계속 추가예정) 멋있기만 해서 하는 건 아니고 생산성이 높아지니까..~ View ⌘1 : 프로젝트 창 열고, 포커스 위치 Esc : 에디터로 다시 포커스 이동 ⌘E : 최근 실행했던 파일 확인 ⌘B : 해당 클래스 이동 ⌥⌘B : 구현으로 이동 ⌘[ : 이전 코드로 이동 Editing ⇧⌘⏎ : 현재 구문 완성 ⌥⌘V : 변수 추출하기 (Extract → Variable) ⌥⌘P : 변수 추출하기 (Extract → Parameter) ⌥⌘M : 변수 추출하기 (Extract → Method)

    SW마에스트로 13기 합격 후기

    SW마에스트로 13기 합격 후기

    얼떨결에 지원하고 얼떨결에 붙은 소마 아직도 어떻게 붙었는지 의문이긴 하다 🤔 소마 다 끝나고 마저 쓰는 게으름.. 이게 제일 의문.. 왜 소마를 선택했는가 학교에서 수업을 듣고 혼자 토이 프로젝트를 하는 것만으로는 뭔가 답답함이 느껴지던 때에, 비오비라는 보안 관련 대외활동을 하고 나서 이런 대외활동에 참여해서 팀 프로젝트를 하는 게 정말 도움이 많이 된다고 느꼈다. 개발자가 되기 위해선 협업이 중요하니까 🫠 일단 돈. 소마는 매달 100만원씩 장학금을 주고, 프로젝트 운영비로 팀당 720만원을 준다. 자기주도학습 지원금 100만원도 준다. 거기다 IT 장비 지원금 200만원까지. (바로 맥북 프로 질렀다) 내가 하고 싶은 공부도 하고 프로젝트도 하는데 돈까지 준다니 안 할 이유가 없었다. 그리고 창업..