전체 글

전체 글

    Suggestion 블럭 내에 코드 블럭 작성하기

    서론 최근 클린코드 스터디를 진행하며 겪었던 일이었습니다. ```java boolean isVisited = false; ``` 위처럼 백틱(`) 3개로 코드를 감싸는 것을 코드 블럭이라고 합니다. ```suggestion ```java boolean isVisited = false; ``` ``` Pull Request에 코드 블럭을 포함한 Suggestion을 등록했으나 백틱(`)이 제대로 동작하지 않았습니다. 원인 ```suggestion# suggestion 블럭 시작 ```java boolean isVisited = false; ```# suggestion 블럭 끝으로 인식!! ```# 실제 동작해야 하는 블럭의 끝 내용을 보면 유추할 수 있을텐데, 백틱(`)이 자신의 구역을 인지하지 못하고 j..

    [SpringBoot] Intellij spring boot 프로젝트 생성 방법

    서론 Intellij IDE를 이용해 Spring Boot 프로젝트 생성 방법에 대해 알아보겠습니다. 생성 방법 1. 프로젝트 생성 Intellij 최초 실행 시, [New Project]를 선택하거나 위 사진처럼 [File] - [New] - [Project]를 선택하는 방법이 있습니다. 2. Spring Initialzr 선택하기 Spring Initializr를 선택하고 설정값을 적어줍니다. 저는 Maven 대신 Gradle과 Java 버전 11을 선택했습니다. Maven에서 Gradle로 변경하는 방법은 꽤 번거로울 수 있으니 잘 선택하시기 바랍니다. 본인 환경에 맞게 설정하시면 됩니다. 3. Spring boot Dependencies 설정 Dependencies는 꼭 지금이 아니더라도 이후에 ..

    서버는 어떻게 늘려야할까?

    서론 흔히 알고 있는 "트래픽이 증가하면 서버를 늘린다"에서 그치는 것이 아니라, 어떻게 서버를 늘리는지 그 방법은 어떤 것이 있는지 궁금하여 포스팅하게 되었습니다. 팀구라는 프로젝트를 진행하면서 채팅 서버에 약 40명 정도의 인원이 동시에 채팅을 연사 한 적이 있습니다. t2.micro 서버였지만 거뜬하더라구요. 그때 느낀 점이 "내 생각보다 서버는 튼튼하다"와 "대체 얼마나 많은 트래픽이 있어야 터질까?"였습니다. 국내에서 흔히 접할 수 있는 카카오, 네이버, 당근마켓, 배달의민족과 같은 서비스를 한다면, 사용자가 늘어남에 따라 많은 트래픽을 견디기 위해 어떤 대처를 하면 좋을까요? "요새 내 몸이 하나로 부족해.." 다들 바쁘실 때 이런 말 쓰시죠? 이 상황에서 우리에겐 2가지 선택권이 있습니다. ..

    SSAFY 수료 후기 (feat. 중도퇴소)

    성과 프로젝트 성과 1학기 관통 프로젝트 우수상(2등) 2학기 공통 프로젝트 우수상(2등) 2학기 공통 프로젝트 UCC 우수상(4등) 2학기 특화 프로젝트 SSDC 오픈소스 삼성 리서치 우수상(1등) 2학기 특화 프로젝트 UCC 우수상(2등) 그 외 성과 오픈소스 기여 SSDC에 프로젝트 소개 좋은 사람들을 너무 많이 얻음😀 여러 기술 습득 중도 퇴소 수료까지 단 1개월을 앞둔 상황에서, 많은 고민 끝에 중도 퇴소를 결심했습니다. 갑작스러운 퇴소+방향성에 대해 큰 고민을 안고 있었는데, 2학기 컨설턴트님 두 분과 실습 코치님 한 분께서 너무 친절하고 자세하게 상담을 해주셔서 정말 감사했습니다. 🙏🏻 SSAFY 교육과정 짧은 후기 SSAFY에서 교육을 받으며 총 3개의 프로젝트를 진행했습니다. 1학기 교육..

    [Springboot] 민감정보 숨기기 - Argument 입력

    개요 지난번 작성했던 글에 이어 어떻게 민감정보를 숨기는지에 대해 작성하려고 합니다. application.properties 또는 application.yml 파일을 작성하다 보면 datasource.username, datasource.password와 같이 형상관리 페이지에는 숨기고 싶은 정보들이 존재합니다. 이를 숨기거나 암호화할 수 있는 방법이 여러 개 존재하는데, 이 중 사용자 입력을 통해 application.yml에 Argument 전달하는 방법을 포스팅합니다. 결과물 java -jar {jar 경로} --datasource.username=강승현 --datasource.password=비밀번호 --datasource.url=링크 위와 같이 --변수명=value 형태로 값을 전달하게 될 것..

    Spring 환경에서 Docker run으로 jar에 argument 전달하기

    사전 요구 지식 Docker에 대한 이해 및 실행하는 방법과 Dockerfile 사용법 Spring boot에서 cmd로 값을 입력 받아 사용하는 방법 cmd에서 java jar로 arguments를 전달하는 방법 환경 Spring boot 2.5.7 사용 gitlab-ci로 jar를 docker image로 만들어 빌드합니다. 여기서, 민감정보(datasource.password 등)는 사용자가 직접 입력하는 방식을 채택했으며 아래 사진처럼 username과 password는 사용자가 입력하는 값을 그대로 가져와 사용합니다. 이 때, docker run으로 해당 argument에 값을 전달하려면 어떻게 해야하는지 이 포스트에서 설명합니다. 하지만 해당 포스트에서 spring boot 내에서 argume..

    source 명령어와 bash에 대해 알아보자

    들어가며 항상 bash 설정 파일을 건들고 나서 source를 써야만 적용이 됐는데, 이 source가 무엇인지 그리고 어떤 예시가 있는지 살펴보겠습니다. source 명령어란 source [환경 설정 파일명] brew나 nodejs를 설치할 때 등 bash나 zsh 파일 설정 적용하는 과정에서 항상 필요한 명령어였습니다. 부팅 시 이러한 설정파일을 로드하게 되는데, 리부팅 없이 이를 즉시 적용하기 위해서 source 명령어를 사용하게 됩니다. Shell 환경설정 파일 bash는 Bourne Again Shell의 축약어입니다. 리눅스에서 가장 널리 사용되는 쉘이며, 개인적으로 가장 많이 사용하는 쉘이기도합니다. 환경설정 파일에도 다양한 파일이 존재합니다. /etc/profile /etc/bashrc ~..

    MAC Nodejs 12버전 설치하기

    작업 환경 MacOS Big Sur 버전 11.5.2 칩 Apple M1 bash 환경 특정 프로젝트 npm install을 하기 위해서 nodejs를 설치하게 됐고, 모든 버전 호환이 아닌 낮은 버전(현재 node@17이 최신)을 요구했기 때문에 12버전을 설치하는 방법을 안내합니다. 설치 방법 2021.11.04 - [MacOS] - [MacOS] Brew & Git 설치하기 반드시 상단의 HomeBrew가 선행 설치되어야 합니다. 1. node@12 설치하기 brew install node@12 2. 추가 명령어 입력하기 node@12 is keg-only, which means it was not symlinked into /opt/homebrew, because this is an alterna..

    SSAFY 7기 지원자 Q&A

    들어가기전 SSAFY 7기 지원자를 대상으로 약 4주간 질문을 받았고, 너무 사적인 질문을 제외하고 주관적으로 답변해보겠습니다. 절대 SSAFY의 공식적인 답변이 아니며, 먼저 경험해본 사람으로써 도움을 드리고자 작성하는 점 참고바랍니다. 또한, 중복 질문은 하나로 통일했습니다. 질문 각종 개발 과목 성적이 좋지 않고 졸업한지 시간이 꽤 지나 기초부터 배워야 하는 전공자 입니다. 전공자반 java 를 기초부터 배우기에 힘들까요? 다른 대안이 있을까요? 사람마다 너무 천차만별이라 일단 부딪혀보시는걸 추천합니다. 왜냐면 초반에 java반이 너무 힘들면 python 반으로 변경하는 분도 보았습니다. ct준비는 어떻게 하셨나요??🥺 제 개인적인 경험을 말씀드리자면 CT만을 위해서 문제집을 구매하진 않았고 그 때..

    [MacOS] M1 python3 설치하기

    사전 설치 2021.11.04 - [MacOS] - [MacOS] Git 설치하기 위 글에서 brew는 꼭 설치 되어야 합니다! 만약, bash에 대해 궁금하시다면 아래 글을 참고하세요 2021.11.15 - [OS/Linux] - [Linux] source 명령어와 bash에 대해 알아보자 주의할 점 제 맥북의 경우 python2 버전이 사전 설치되어 있었고 python3를 설치하게 되더라도 python을 실행하면 기존에 설치되어 있던 python2를 실행하는 문제점이 있었습니다. 이번 포스팅에서는 python2 대신 설치한 python3로 변경하는 작업도 진행하겠습니다. brew로 pyenv 설치 brew install pyenv MacOS에선 pyenv를 이용해 python을 설치합니다. pytho..