잡다한 시리즈 18

TDD를 배우고 경험해보며 쌓아가는 이야기

요즘 회사에서 갑자기! Java 언어를 쓰고 있고 갑자기! SpringBoot 개발을 하고 있고 갑자기! TDD 기반의 개발을 하고 있다. 세가지 모두 학교다니면서 개발하던 내내 접하지 않았던 것들이라,, 근 2개월동안 스트레스도 많이 받고 우울해했다. 그래도 나름의 고난의 시간을 겪고 나니 하나둘씩 이해하고 있고, 아직은 팀원들의 코드를 복붙해서 재생산할 뿐이지만 적응해 가고 있다. 그래서 오랜만에 올리는 포스트로는 현재 우리 플젝에서 TDD를 어떻게 써 나가고 있는지,내가 프로젝트에 적응해가면서 어떤 점을 느꼈는지를 서술할 생각이다. 또한 현재 하고 있는 고민도 함께! 언제나 그랬듯이 이는 미래에 모든것을 까먹을 나를 위한 기록이다. TDD 적용 현황 현재 우리 프로젝트는 변화를 거듭하며 (아직도) ..

[Java] 테스트 코드 생성하고 돌리기

그렇다. 나는야 자바 테스트코드 돌리는것도 익숙하지 않은 자바 쌩초보 ^-^ 그래도 오늘 하나 배웠따 주말에 누워서 유튜브 보지 않고 성장했음에 만족. 기록해본다. Java Main/Test Java의 src 구조는 main과 test로 나뉜다 main에는 요구사항들을 구현한 모든 소스들이 들어가있고, test에는 main에서 구현한 애들을 시험해보기 위한 테스트코드들만이 들어가 있다. Java Test 코드 구조 test코드의 경우, 영한님이 말씀하시길 given-when-then 구조로 나누면 좋다고 하셨다. package hello.core.member; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; publi..

[Git] core.autocrlf, IntelliJ Line Separators Warnings

스프링 공부를 미루고 미루다가 발등에 불이 떨어진 지금 시점, 부랴부랴 인프런 강의 들으면서 git commit도 오랜만에 해보려고 했다. 근데 이게 웬걸, 커밋을 날렸더니 워닝이 뜨네! 얘는 무엇인고 하니.. CRLF line seperators 란? CRLF는 new line으로 바꾸는 방법의 조합을 의미한다. CRLF = CR(Carrige Return, \r) + LF(Line Feed, \n) 얘네는 과거 타자기가 있었을 시절부터 사용되었던 용어들로, 타자기를 연상해서 이해하면 쉽다. CR (Carrige Return, \r) 커서를 줄 바꿈 없이 해당 line의 가장 앞으로 갖다놓는것을 의미한다. 타자기에서 한 줄을 올리지 않고 그대로 입력만 맨 앞으로 다시 갖다놓는 것이다. LF (Line ..

Apple M1 macOS Gradle 설치하기

Gradle이라는 빌드 자동화 툴을 처음으로 설치해보게 되었다. 그렇게 나름 개발을 조금 해왔다고 생각했는데도 자동화 툴 조차 사용 안해봤다니.. 괜찮아 지금이라도 사용해봄을 다행으로 느끼며 차근차근 해보자. Gradle이 완전 처음이라 먼저 공식 docs를 보면서 얘가 뭐하는 애인지, 어떻게 설치해야 하는지 등을 파악해보기로 했다. 공식 docs는 이 링크를 따라가면 된다. 현재 Gradle에는 4, 5, 6, 7 버전을 이용할 수 있었는데 조금 찾아보니 너무 아래 버전은 Spring Boot를 이용할때 오류가 난다는 글이 몇가지 있었다. 따라서 나는 버전 7를 기준으로 알아보고, 설치할 것이다. Gradle 이란 무엇인가? https://docs.gradle.org/7.3.1/userguide/wha..

Apple M1 macOS Oracle Java 17 또는 OpenJDK 설치하기

목차 JDK? JRE? JVM? Java JVM JRE JDK JDK 종류 OracleJDK OpenJDK JDK 설치 OracleJDK 설치하기 OracleJDK Uninstall AdoptOpenJDK 설치 가능한가? Azul Zulu 설치하기 Azul Zulu Uninstall 며칠전인지 몇주전인지부터 맥북이 주인아 몬터레이 새로 나왔다!!!!! 깔아줘라!!!!!! 나는 준비 됐어 너만 준비되면 돼 준비됐니?!@?!@?!@! 를 끊임없이 외쳤다. 귀찮고.. 이래저래 충돌날꺼 생각하면 싫어서 안하려고 했는데 오랜만에 본격적으로 개발 환경 세팅하기 전에 올려놔야 개발중에 충돌하는 불상사를 막을 수 있지 않을까 싶어 그냥 올렸다. 몬터레이 예아. 이제 오랜만에 자바... 개발을 해보려고 했는데 맥북 사고..

[Ubuntu] Ubuntu에서 Anaconda 설치 후 terminal 앞에 (base)가 붙었을 때

conda를 깔고 나서 conda init을 installation 끝부분에 우리가 해줄까? 라고 물어보길래 냅다 yes를 눌렀다. 알아서 알잘딱깔센으로 해줘 제발. 해주긴 했는데 conda init을 하고 나서는 terminal을 다시 열라길래 다시 열어봤다. 그런데 웬걸, terminal 앞에 갑자기 (base)가 붙은 것이다. 이게 뭔가 했더니, conda가 activate 되어 있으면 어떤 환경에서 activate 되어 있는지를 알려 주는 것이라고 한다. 내가 가지고 있는 conda 환경은 conda info --envs 를 통해 알아볼 수 있다. 그럼 다음과 같이 * 가 붙어 있는 것이 현재 activate된 conda 환경이다. conda를 끄고 싶으면 conda deactivate 를 통해 ..

잡다한 시리즈 2021.07.01

[Ubuntu] Ubuntu 20.04 LTS에서 Pytorch GPU 설치하기

tensorflow gpu 설치하려고 설치다가 CUDA 설치부터 안돼서 빡쳐서 던졌는데 잘 되는 것이 있어서 정리해 보려고 한다. 근데 뭐가 됐든 Pytroch GPU도 똑같이 CUDA 설치해야 함... 그래도 되니까... 다행으로 여기며.. 미래의 나를 위해 정리한다. 일단 결과적으로는 이렇게 잘 깔렸다. 그럼 방법을 까먹기 전에 되짚어보면서 정리하도록 하자. 우선 내 환경은 Ubuntu 20.04 LTS 이다. 앞으로 최신 설치는 거르도록 NVIDIA 드라이버 설치 `nvidia-smi` 명령어를 입력했을 때, 다음과 같은 화면이 나온다면 NVIDIA 드라이버가 이미 설치되어 있는 것이다. 만약, 드라이버가 설치되어 있지 않다면 Ubuntu 18.04 CUDA + PyTorch 설치에서 드라이버 설치..

잡다한 시리즈 2021.07.01

[Ubuntu] VSCode Python Linter 오류 해결하기 - Unable to import torch pylint(import-error)

Ubuntu 20.04 LTS, Anaconda3를 이용하여 pytorch를 깐 상태이다. vscode에는 Python Linter가 설치되어 있다. pytorch가 깔려 있는 conda 환경을 activate 시키고 vscode에 들어와도 다음과 같은 오류가 난다. Unable to import 'torch'pylint(import-error) 이건 vscode python linter가 torch가 깔려 있지 않은 환경을 참조하고 있어서 그렇다. 나는 pytorch를 conda 환경에서 깔아 놓았기 때문에, vscode의 linter를 정상적으로 이용하기 위해서는 conda의 python 환경을 linter와 연결해 놓아야 한다. conda pytorch가 activate 되어 있는 상황에서, whi..

잡다한 시리즈 2021.07.01

[Ubuntu] 테마 바꾸기

github.io에 썼던 글을 옮긴 것입니다. 티스토리로 다 옮겨올거야! (조회수 분산 방지..) 우분투에는 여러가지 테마들이 있다. 나는 그 중에서 macOS Catalina와 비슷해 보이는 테마인 Mcata GTK를 설치해 볼 것이다. 아래는 설치를 직접 해 보면서 과정 하나하나를 기록한 것이다. 우선, 내 ubuntu는 20.04 LTS 버전이다. 근데 Mcata 하고 마음에 안들어서 다시 설치했다. Mcata 써둔게 아까워서 안지웠으니.... 더 밑에꺼 보고 하세요 마음에 안 드는 테마였음 Mcata 다운로드하기 Mcata GTK 테마는 Gnome-look.org 사이트에서 다운로드 받을 수 있다. 사이트에 들어가면, `Files` 탭을 눌러 보자. 그럼 아래와 같이 Mcata GTK의 여러가지 ..

잡다한 시리즈 2021.07.01

VSCode 설정 - (3) C/C++ 빌드 및 실행 설정하기

예전 티스토리에 있던 글을 옮기다가 갑자기 기록해놓고 싶은 커스텀이 생각나서 적어본다. > 그렇게 옛날 티스토리의 글을 열심히 벨로그로 옮기던 나는 다시 티스토리로 회귀하여 벨로그의 글을 가져오고 있음.. VSCode에서는 tasks.json 을 어떻게 설정하냐에 따라 사용법이 굉장히 달라지는데, 열심히 삽질을 하며 얻어낸 만족스러운 C/C++ 대상 tasks.json 사용법을 공유하려고 한다. 사건의 발단 일단 이 글을 쓰는 시점에서는 기록이 남아있지 않아 아쉽지만, 지금 이 설정을 갖기 전에는 C/C++ 파일을 빌드하고 실행할 때 터미널에 쓸데없이 굉장히 긴 커맨드가 자동으로 들어가서 터미널이 더러워지는게 꼴 보기 싫었다. 사실 그냥 내가 구글링해서 tasks.json 복붙해서 그런 참사가 일어나긴 ..

반응형