본문 바로가기
반응형

분류 전체보기96

함께 성장하는 개발 문화: 좋은 개발 문화란 무엇일까? 최근에 이직을 했다. 취업 후 지금껏 계속 같은 동료들과 함께 일을 했었는데, 새로운 동료들을 만나고 일을 함께 한다는게 아직까지는 어색하다. 기존에 함께 했던 동료들과는 당연하게 생각했던 부분들이 여기에서는 당연하지 않은 부분들도 많이 있다. 그것도 그럴 것이 개발, 테스트, 배포, 모니터링, 커뮤니케이션 등 많은 부분이 다르다. 이직한지 얼마 되지 않아 다 알 수는 없지만 지금까지 느낀 것은 주변 업무 환경, 동료 등이 바뀌니 그 분위기, 문화도 확실히 다르다는 점이었다. 그러면서 생각이 든 것이, 그럼 좋은 문화는 무엇일까? 좋은 문화라는 것은 있는걸까? 좀 더 나은 업무 환경, 개발 문화를 만들기 위해서는 어떤 노력을 해야 할까? 등 조직 문화에 대해 고민을 하게 되었고, 짧게 나마 이에 대한 생.. 2023. 6. 2.
12. SpringBoot 에서 AOP 적용하기 (Kotlin) AOP (Aspect Oriented Programming) 은 관점 지향 프로그래밍의 약자로 관심사의 분리를 하기 위한 방법으로 주로 사용합니다. 간단하게 여기서 한번 알아본 적이 있었는데, 이번 시간에는 코드로 한번 작성해보려고 합니다. Pull Request: https://github.com/kdohyeon/crypto-labs/pull/40 의존성 추가 SpringAOP 의존성을 추가해준다. implementation("org.springframework.boot:spring-boot-starter-aop") AOP 시작하기 @EnableAspectJAutoProxy 어노테이션을 어플리케이션 레벨에 추가해주어야 한다. @SpringBootApplication @EnableAspectJAutoPr.. 2023. 5. 4.
ssh: connect to host github.com port 22: Operation timed out 에러 현상 git fetch 명령어를 실행했는데, 연결이 되지 않는 이슈 에러 메시지 ssh: connect to host github.com port 22: Operation timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 해결 방법 아래 코드를 ~/.ssh/config 파일에 넣어주면 된다. Host github.com Hostname ssh.github.com Port 443 참고 자료 https://stackoverflow.com/questions/7953806/github-ssh-via-public-wif.. 2023. 5. 4.
터미널 꾸미기: Oh-my-zsh + iTerm2 이번 시간에는 맥북을 처음 세팅할 때 터미널 환경을 커스텀하게 설정하는 방법에 대해서 정리합니다. iTerm2 설치 MacOS 에서 기본으로 제공하는 터미널은 다소 아쉬운 부분이 있어 보통 iTerm2 어플리케이션을 많이 활용합니다. 여기에 접근해서 iTerm2 를 설치합니다. homebrew 설치 zsh 설치를 위해서는 먼저 homebrew 가 먼저 설치되어 있어야 합니다. 뿐만 아니라 zsh 관련 설정을 추가하기 위해서도 필요합니다. homebrew 는 다양한 어플리케이션을 커맨드로 설치하기 위한 툴이라고 보시면 됩니다. 아래를 복사하여 실행시켜 봅니다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD.. 2023. 4. 18.
OAuth 1.0 Protocol "카카오톡으로 로그인하기", "페이스북으로 로그인하기" 등의 기능은 사용자에게 편리함을 가져다 줍니다. 회원가입을 하기 위해 개인 정보를 다 입력할 필요도 없고 몇 번의 클릭만으로 로그인을 할 수 있기 때문입니다. 이러한 기능을 가능케 하는 인증 절차가 바로 OAuth 입니다. 기본 개념에 대해 알아보기 위해 RFC (Request for Comment) 5849 문서에 기반하여 OAuth 1.0 프로토콜에 대해 알아보려고 합니다. (요즘 흔히 이야기하는 OAuth 는 2.0 버전으로 이 문서의 내용과는 조금 다를 수 있습니다.) Open Authorization, OAuth 웹 서비스에서 사용자 인증을 하는 방법은 다양하다. 가장 간단한 방법으로는 직접 ID 와 PASSWORD 를 입력하여 본인 인증을.. 2023. 4. 10.
11. Jacoco + Gradle.kts 로 테스트 커버리지 확인하기 (feat. SonarQube) Jacoco 는 테스트 커버리지를 확인할 수 있는 라이브러리입니다. 프로젝트 내 작성되어 있는 테스트가 전체 코드의 몇 % 정도를 커버하고 있는지 확인할 수 있습니다. HTML, CSV, XML 등의 형태로 리포트를 만들 수 있으며 SonarQube 등 정적 분석 툴에서 활용할 수도 있습니다. 이번 시간에는 Gradle 프로젝트에서 Jacoco 를 설정하여 테스트 커버리지를 확인하고, 이를 기반으로 SonarQube 에서 정적 분석을 해보겠습니다. Pull Request: https://github.com/kdohyeon/crypto-labs/pull/20 Jacoco 설정하기 Gradle 설정에 jacoco 플러그인을 추가한다. JacocoReport 와 JacocoCoverageVerification.. 2023. 4. 7.
10. ArchUnit 으로 아키텍쳐 검사하기 서비스 또는 시스템은 목적에 따라 아키텍쳐를 설계하고 이에 기반하여 구현이 됩니다. 여기서 이야기하는 아키텍쳐란 기능, 조직, 구현에 대한 법칙과 방법을 의미합니다. 깨진 유리창 이론도 있듯이 초기에 아키텍쳐가 잘 설계되어 있다 하더라도 시간이 지남에 따라 점점 망가질 수 있습니다. 이를 최대한 방지하기 위해 아키텍쳐적인 부분에 대해서도 검사를 할 필요성이 있으며, 그 방법 중에 하나가 ArchUnit 이라는 라이브러리를 활용하는 것입니다. 이번 글에서는 ArchUnit 을 활용하여 아키텍쳐 검사를 해보도록 하겠습니다. Pull request: https://github.com/kdohyeon/crypto-labs/pull/18 의존성 추가 라이브러리 버전은 현재 기준 최신 버전인 1.0.1 을 사용했다.. 2023. 4. 5.
Port 8080 was already in use (feat. 8080 포트 죽이기) 스프링부트 어플리케이션을 시작하려고 했더니 Port 8080 was already in use 에러가 나면서 시작이 안되는 경우가 발생했습니다. {"timestamp":"2023-04-03 14:30:01.575","@version":"1","message":"\n\n***************************\nAPPLICATION FAILED TO START\n***************************\n\nDescription:\n\nWeb server failed to start. Port 8080 was already in use.\n\nAction:\n\nIdentify and stop the process that's listening on port 8080 or configur.. 2023. 4. 3.
반응형