인기 글
최신 글
[부트캠프 QA편] 더 탄탄한 소프트웨어를 만들기 위한 테스트 방법
나는 리뷰어다 📚2024.07.28 22:59[부트캠프 QA편] 더 탄탄한 소프트웨어를 만들기 위한 테스트 방법

한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다 안녕하세요! 오늘은 이라는 책을 리뷰해보겠습니다! 이 책은 어떤 책인가요?' 이 책은 말그대로 QA 엔지니어가 만든 소프트웨어 테스트를 학습을 위한 책입니다. 이 책의 특징은 4주간의 커리큘럼 안에 QA 직무를 넘어 소프트웨어를 만들어가는 모든 조직원들이 알면 좋을 더 탄탄한 소프트웨어를 만드는 방법을 전수합니다. 소프트웨어 테스트란 무엇인가?저는 백엔드 개발자로서 만든 어플리케이션을 테스트 코드를 통해 테스트 함으로써 소프트웨어 테스트를 경험해보았는데요. 이 책은 그러한 코드레벨에서의 단위 테스트를 넘어 통합 테스트 / 기능 비기능 테스트 / 결함 및 리스크 관리 등기존의 시야에서 벗어나 더 넓은 의미에서의 테스트와 그를 통해 더욱 신뢰도 높..

코틀린과 JPA 같이 쓰지 말자
Kotlin 🤖2024.07.25 17:11코틀린과 JPA 같이 쓰지 말자

안녕하세요! 최근 지인들과 코틀린 스터디를 시작하게 되어서 코틀린에 대해서 학습을 해보고 있었습니다. 아직 깊이있게 이해했다라기 보다는 학습해나가는 중인데요. 자바에서 단점이라고 느꼈던 여러 문제들을 해결하기 위해 젯브레인사에서 얼마나 공들였는지 조금은 이해가 된달까요... 뭔가 Java + TS 느낌도 나구요.. ㅎㅎ 아무튼 코틀린의 매력에 빠져서 재미있게 시간을 보내고 있습니다. 스터디 과제가 자바와의 비교를 통해 코틀린에서 중요한 점을 정리해보는 것이여서 이를 정리할 겸 제가 느낀 코틀린의 첫인상과 자바와의 비교를 통한 가치를 글로써 남겨보고자 합니다. 코틀린에 대해 잘 모르는 자바 개발자가 쓴 글이니 지적은 언제나 환영입니다! 코틀린은 JPA랑 왜 같이 쓰면 안될까?기존에 자바 + 스프링 + JP..

AWS EC2 정복하기
AWS 🛒2024.06.18 19:50AWS EC2 정복하기

안녕하세요! 지난 번 글에서 IAM으로 계정을 관리해보았으니 이번에는 직접 인스턴스를 생성하고 공부해보도록 하겠습니다! AWS 예산 설정 하기실제로 AWS 서비스를 본격적으로 이용하기 전에 예기치 못한 과금이 발생하는 것을 막기 위해 예산을 설정하는 것이 좋습니다.계정명 클릭 후 결제 및 비용 관리 메뉴로 들어갑니다. (혹시 IAM 계정으로 결제 정보에 접근이 안되는 분은 루트 계정으로 들어간 후 해당화면에서 따로 권한을 주어야합니다!) 접속을 성공적으로 하게되면 이렇게 과금 정보를 볼 수 있습니다. 저같은 경우는 슬랙 봇 프로젝트 진행을 위해 프리티어 EC2 인스턴스를 사용중이어서 0$가 과금되는 모습을 볼 수 있습니다! 실제 서비스에서 이 메뉴를 통해 비용을 분석하고 예상할 수 있기 때문에 자주 사용..

AWS IAM으로 안전하게 협업하기
AWS 🛒2024.06.18 13:39AWS IAM으로 안전하게 협업하기

안녕하세요! 프로젝트를 진행하다보면 보통 AWS를 활용하기 마련인데요.AWS를 잘 모르고 사용했을 때는 AWS 계정 주인의 root 계정을 돌려서 사용하고 하다보니 보안적인 이슈나 협업 효율성에서 많이 손해를 보곤 하였습니다 😂 오늘은 안전하게 팀원들과 협업을 할 수 있도록 AWS IAM에 대해서 알아보는 시간을 갖겠습니다!IAM은 무엇인가? AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 접근을 관리하는 글로벌 서비스입니다. 글로벌 서비스란? 리전(지역)에 구애받지 않고 AWS 인프라에 전역적으로 설정 가능한 서비스! AWS를 사용하기 위해선 회원가입을 하는데요, 그 과정에서 사용자의 정보와 직접 결제가 이루어지는 계좌 정보를 입력하는 등 직접 AWS와 ..

ServiceImpl 쓰지 말까?
Spring 🌱2024.06.14 12:04ServiceImpl 쓰지 말까?

안녕하세요! 오늘 글을 쓰게된 계기는 하나의 유튜브 영상을 보고나서입니다! 아래는 그 영상입니다!! (두둥)ServiceImpl 쓰지 말자 - 제미니의 개발실무 해당 영상은 개인적으로 존경하는 개발자인 김재민님의 유튜브 영상인데요. 해당 영상을 보고 와닿은 점이 많이 있어 글로써 기록하고자 합니다. 개인적인 생각이 담긴 글에 가까우니 다들 가벼운 맘으로 읽어주세요 😉 (영상을 보고 오시면 더욱 좋습니다!) ServiceImpl이 무엇인가요?먼저 스프링 기반의 프로젝트를 진행할 때 대부분 국룰로써 이러한 구조를 사용하게 됩니다.사용자의 입력을 담당하는 Controller, 비즈니스 로직을 담당하는 Service, 데이터베이스와의 상호작용을 담당하는 Repository의 구조입니다. 여기서 Service계..

Backend
ServiceImpl 쓰지 말까?
ServiceImpl 쓰지 말까?
Spring 🌱
2024.06.14 12:04
안녕하세요! 오늘 글을 쓰게된 계기는 하나의 유튜브 영상을 보고나서입니다! 아래는 그 영상입니다!! (두둥)ServiceImpl 쓰지 말자 - 제미니의 개발실무 해당 영상은 개인적으로 존경하는 개발자인 김재민님의 유튜브 영상인데요. 해당 영상을 보고 와닿은 점이 많이 있어 글로써 기록하고자 합니다. 개인적인 생각이 담긴 글에 가까우니 다들 가벼운 맘으로 읽어주세요 😉 (영상을 보고 오시면 더욱 좋습니다!) ServiceImpl이 무엇인가요?먼저 스프링 기반의 프로젝트를 진행할 때 대부분 국룰로써 이러한 구조를 사용하게 됩니다.사용자의 입력을 담당하는 Controller, 비즈니스 로직을 담당하는 Service, 데이터베이스와의 상호작용을 담당하는 Repository의 구조입니다. 여기서 Service계..
스프링 빈과 컨테이너
스프링 빈과 컨테이너
Spring 🌱
2024.03.12 19:10
안녕하세요! 지난 번 의존성 주입에 대한 글을 작성했는데 혹시 보신 분 있으신가요?! Dependency Injection이란? 지난 번 작성된 글 제어의 역전(IOC) 이란? 에서 간단히 알아본 의존성 주입(Dependency Injection)이란 무엇인지 함께 알아보는 시간을 가지도록 하겠습니다! Dependency Injection이란? 의존성 주입(Dependency stonehee99.tistory.com 오늘은 이 글에 이어서, 스프링 프레임워크에서는 의존성 주입이 어떻게 일어나는지를 살펴보려고 합니다! 이를 알기 위해선 먼저 Spring Bean과 Spring Container의 개념에 대해 알아야 합니다! 스프링 컨테이너란? 스프링 컨테이너는 스프링 프레임워크의 핵심입니다. 어플리케이션 ..
HandlerMapping과 HandlerAdapter는 왜 나뉘었나요?
HandlerMapping과 HandlerAdapter는 왜 나뉘었나요?
Spring 🌱
2024.02.07 22:15
오늘은 제가 참여하고 있는 부트캠프 과정인 Kernel360 에서 유명 자바 강사이신 박은종 디렉터님과 함께 스터디를 진행하였습니다. 스터디의 주제는 Spring Web MVC Framework 이었고 그 중 해당 프레임워크의 구조에 대해서 이야기를 나누고 있었습니다. Spring Web MVC 프레임워크의 요청 처리 흐름 해당 이미지를 보고 처리 흐름을 알아보겠습니다. 클라이언트로부터의 요청이 서버에 도착합니다. 서버의 요청은 Dispatcher Servlet에 먼저 도달합니다. 이것은 스프링 프레임워크가 프론트 컨트롤러 패턴으로 구성되어있기 때문인데요, 모든 요청을 적절한 처리기에 전달하는 역할을 합니다. 요청이 도착했으면 Dispatcher Servlet은 HandlerMapping을 통해 요청을 ..
스프링부트 프로젝트 시작하는 법
스프링부트 프로젝트 시작하는 법
Spring 🌱
2024.02.02 19:32
스프링부트 프로젝트를 시작하려면 가장 먼저 프로젝트 파일을 생성해야겠죠? 근데 처음 스프링을 접했을 때에는 어떻게 스프링을 설치하고 폴더 구조를 생성해야할지 막막했던 경험이 있었습니다. 이 시간에는 매우 쉽고 간단하게 스프링부트 프로젝트를 생성하는 두 가지 방법을 소개하겠습니다. Spring initializr https://start.spring.io/ 먼저 spring initializr 를 사용하시면 무료로 손쉽게 스프링부트 프로젝트를 생성할 수 있습니다. 각 메뉴의 설정 의미를 함께 알아볼까요?! Project 프로젝트의 의존성 관리 및 빌드 툴을 고르는 부분입니다. 레거시 코드들이나 오래 동안 진행된 프로젝트들은 Maven을 주로 사용해왔을 텐데요. 지금은 Gradle - Groovy 혹은 Gr..
Programming
코틀린과 JPA 같이 쓰지 말자
코틀린과 JPA 같이 쓰지 말자
Kotlin 🤖
2024.07.25 17:11
안녕하세요! 최근 지인들과 코틀린 스터디를 시작하게 되어서 코틀린에 대해서 학습을 해보고 있었습니다. 아직 깊이있게 이해했다라기 보다는 학습해나가는 중인데요. 자바에서 단점이라고 느꼈던 여러 문제들을 해결하기 위해 젯브레인사에서 얼마나 공들였는지 조금은 이해가 된달까요... 뭔가 Java + TS 느낌도 나구요.. ㅎㅎ 아무튼 코틀린의 매력에 빠져서 재미있게 시간을 보내고 있습니다. 스터디 과제가 자바와의 비교를 통해 코틀린에서 중요한 점을 정리해보는 것이여서 이를 정리할 겸 제가 느낀 코틀린의 첫인상과 자바와의 비교를 통한 가치를 글로써 남겨보고자 합니다. 코틀린에 대해 잘 모르는 자바 개발자가 쓴 글이니 지적은 언제나 환영입니다! 코틀린은 JPA랑 왜 같이 쓰면 안될까?기존에 자바 + 스프링 + JP..
자바의 static
자바의 static
Java ☕️
2024.05.22 17:58
자바를 사용해 코딩을 하다보면 static 이라는 키워드를 보게 됩니다!대표적으로 public static void main() 과 같은 구문에서도 볼 수 있죠! 오늘은 이 static 키워드가 무엇을 의미하고 어떻게 동작하는지 알아보겠습니다! 자바의 static자바에서 static 키워드는 클래스 수준에서 변수를 선언하거나 혹은 메서드를 정의할 때 사용합니다.static의 사용을 통해 클래스의 인스턴스에 속하는 것이 아닌 클래스 자체에 속하는 멤버를 만들 수 있습니다.예를 들어볼까요?static 변수static 변수는 정적 변수 혹은 클래스 변수라고도 합니다. 클래스의 모든 인스턴스가 공유하는 변수 입니다.public class Counter { private static int count = 0..
자바의 메모리 구조
자바의 메모리 구조
Java ☕️
2024.05.22 14:49
자바 어플리케이션의 성능을 확인하고 개선하기 위해선, 자바 메모리 구조에 대한 이해가 필요합니다.자바의 메모리 관리를 잘 하기만 하더라도 어플리케이션이 더욱 효율적으로 실행 될 수 있죠! 자바의 메모리 구조 자바의 메모리 구조는 크게 3가지로 나눌 수 있습니다.메서드 영역: 이 영역은 모든 스레드가 공유하는 메모리 영역으로, 클래스 수준의 정보(클래스 로더에 의해 로드된 클래스와 인터페이스의 메타데이터), 정적 변수를 저장하는 static 영역, 상수를 저장하는 Constant Pool 로 이루어져 있습니다. 이 영역은 어플리케이션이 실행되는 동안 잘 변하지 않는 정보를 저장하는데 사용합니다.스택 영역: 자바 어플리케이션 실행 시, 어플리케이션 내의 스레드마다 각 스레드의 스택이 존재하게 되는데, 해당 ..
자바의 가비지 컬렉션
자바의 가비지 컬렉션
Java ☕️
2024.02.02 21:46
안녕하세요, 이번에 Kernel 360 과정에 참여하게 되면서 기술 세미나를 맡아 준비하게 되었는데요. 거의 대부분의 팀들이 Java 와 Spring Framework 환경으로 프로젝트를 진행하고 있었습니다 (역시,, 자바민국) 그로 인해, 자바라는 언어를 처음 접하는 크루들도 굉장히 많았는데요. 그래서 이번 기술 세미나를 통해 자바의 장점을 설명하고 싶었어서 자바의 가비지 콜렉션(GC) 에 대해 발표를 하기로 하였습니다. 이번 블로그에선 발표를 위한 자료를 정리할 겸, 가비지 콜렉션에 대해 함께 알아보도록 하겠습니다! 가비지 콜렉션이란? #include #include void main() { int* pPoint; pPoint = (int*)malloc(sizeof(int)*5); pPoint[0] ..
String vs StringBuffer vs StringBuilder
String vs StringBuffer vs StringBuilder
Java ☕️
2024.02.02 10:17
자바라는 언어를 하면서 String 클래스를 접하지 않은 사람은 없을 것입니다. 저도 마찬가지로 프로젝트를 진행하며 자바 코드를 작성할 때에는 String을 사용해왔고, 문자열 연산도 String + String 이런식으로 사용해왔습니다. Java 라는 언어를 제대로 공부해보게 되면서 StringBuffer 클래스와 StringBuilder 클래스에 대해 알게 되었고 간단하게 알아보았을 때에는 그냥 String과의 차이점을 알지 못하고 필요성도 느끼지 못했습니다. 이시간은 함께 String / StringBuffer / StringBuilder 를 비교해보며 그 쓰임을 알아보도록 하겠습니다. String 자바에서 String을 선언하는 방식에는 두 가지가 있습니다. // way1 String name =..
Double과 Float를 사용하면 안되는 이유
Double과 Float를 사용하면 안되는 이유
Java ☕️
2024.02.01 23:41
자바에서 소수를 표현할 때 보통 double 이나 float 형식의 자료형을 사용합니다. 자바 관련 강의를 듣는데 강사님께서 이런 말씀을 하시더라구요. double과 float 대신 BigDecimal 자료형을 사용하세요! 왜 이런 말씀을 하시고 왜 double 과 float 대신 BigDecimal을 사용해야 하는지 알아봅시다. 부동소수점 연산의 정확도 문제 float 나 double은 부동소수점으로 값을 표현하다 보면, 소수점 이하의 값이 정확하게 표현이 안되는 오류가 발생합니다. double a = 1.03; double b = 0.42; System.out.println(a - b); // 결과 0.6100000000 위에서 보여지는 코드와 같이 연산이 실행되면, 연산의 기댓값인 0.61이 출력되..
JDK vs JRE vs JVM
JDK vs JRE vs JVM
Java ☕️
2024.02.01 20:10
자바 개발자들은 자바 코드를 작성합니다. 그리고 그 자바 코드를 컴퓨터가 알아듣고 의도에 맞게 동작합니다. 이 두 과정 사이에 자바 코드를 컴파일하고 실행하기 위해 실제로 동작하는 작업들과 관련해서 등장하는 플랫폼 독립성이라는 중요한 개념을 살펴보고자 합니다. 플랫폼 독립성 모두들 아시다시피 컴퓨터는 0과 1만을 알아듣습니다. 우리는 그것을 기본 명령이라고 부르는데, 이런 기본 명령들을 운영체제가 알아듣고 그에 맞게 동작하게 됩니다. 자바나 파이썬 같은 언어들도 결국은 0과 1로 변환되어 운영체제를 위한 기본 명령의 형태로 바뀌어야 합니다. 하지면 여기서 운영체제에 따른 기본 명령이 다르기 때문에, Windows 환경에서의 명령과 Unix 환경에서의 명령, Linux 환경에서의 명령까지 전부 다릅니다. ..
Review
image