본문 바로가기

전체 글

(17)
2024 계획 이제 만 3년차 개발자가 되었다. 3년이라는 시간은 개발자로서 프로젝트의 시작과 끝을 경험하고, 개발 관련 문서 작성하는 방법을 배웠다고 생각한다. 감사하게도 실력적으로 부족하다고 생각했지만 이직도 성공적으로 마쳤고 이제 나를 성장시키기 위한 학습이 더욱 더 필요하다고 느꼈다. 남들과 자신을 비교하면 언제나 초라해지지만 나는 초라하지만 부러운 감정이 앞선다. 그 부러운 감정이 내가 발전하는 원동력이 되어 나를 성장시킨다고 생각한다. 올해 계획 올해 계획 사항 - 스프링 학습 - jpa 학습 - 자바 심화 학습 - docker 학습 (https://opentutorials.org/course/4781/30609) 1년 목표를 한번에 세우기가 힘들 것 같아서 2~3 개월 단위로 세운 뒤 스스로에 대한 리뷰를..
effecitve java item9 부제 : try-finally 보다는 try-with-resources를 사용하라 목차 - 내용 정리 - 마무리 - 내용 정리 현재 내가 유지보수 하고 있는 여러 프로젝트들 중 10년 이상되어 struts framework로 만들어진 것들이 있다. db 연동 시 아래의 코드의 예시 처럼 연동하여 db를 조작한다. SqlSession session = null; try { session = SqlSessionFactoryManager.getSqlSessionFactory().openSession(); TestDao testDao = session.getMapper(TestDao.class); testDao.update(); session.commit(); } catch (Exception e) { sess..
effective java item6 부제 : 불필요한 객체 생성을 피하라 목차 - 내용 정리 - 마무리 내용 정리 // ex1) 인스턴스 생성 String str1 = new String("new contructor"); String str2 = new String("new contructor"); // ex2) 하나의 인스턴스 참조 String str1 = "no contructor"; String str2 = "no contructor"; 위의 예제 코드에서 ex1는 str1 str2가 같은 문자열이지만 heap 메모리 영역에 각자 다른 객체가 생성된다. ex2는 heap 메모리 영역에서 같은 객체를 참조한다. ※ String 은 참조 자료형으로 다른 자료형과 마찬가지로 new로 새로운 객체를 생성한다. 하지만 다른 자료형들과 다른 차..
java stream :: java에서 stream에서 내가 정의한 메소드를 사용하고 싶은 경우들이 종종 있는데 이때 "::" 로 참조가 가능하다. "::"는 Java 8부터 도입된 메소드 참조(Method Reference) 연산자이며, 람다 표현식을 사용하는 대신, 이미 정의된 메소드를 참조하여 스트림 파이프라인에서 사용하도록 해준다. 메소드 참조 연산자는 3가지 형태로 사용이 가능하다. 정적 메소드 참조: 클래스명::정적메소드 예: Integer::parseInt는 Integer 클래스의 parseInt 메소드를 참조 인스턴스 메소드 참조: 객체참조::인스턴스메소드 예: String::length는 String 객체의 length 메소드를 참조 임의 객체의 인스턴스 메소드 참조: 클래스명::인스턴스메소드 예: String::..
JUnit 학습 목표 : JUnit을 적용한 spring boot 구축 목차 테스트 코드 작성 목적 TDD 정의 JUnit이란? JUnit 모듈 JUnit Life Cycle JUnit Annotation 테스트 코드를 작성하는 목적? 코드의 안정성 증진 기능 추가 및 변경시 발생하는 side-effect를 줄일 수 있음 불필요한 코드들이 들어가는 것을 줄이며 해당 코드가 작성된 목적을 명확하게 표현할 수 있음 TDD 정의 Test-Driven-Development(테스트 주도 개발) 의 약자 테스트를 먼저 설계 및 구축 후 테스트를 통과할 수 있는 코드를 작성하는 방식 애자일 개발 방식 중 하나 코드 설계시 최초 목표에 맞춘 테스트를 구축하여 그에 맞게 설계 하기 때문에 불필요한 코드들을 줄일 수 있다 JUnit 이란..
면접 후기 경력직으로써 첫 면접을 봤다. 솔직히 서류 몇개 안쓰고 바로 면접까지 갈 줄은 몰라서 준비가 많이 부족했던터라 정말 너무 아쉬웠다.. 질문들을 좀 기억해 두려고 글을 써보고자 한다. 간단한 자기 소개 후 프로젝트들에 관해 몇가지 질문을 하신다고 하셨다. 1. 진행 했던 프로젝트들 중에 트러블 슈팅한 경험 - 이부분은 솔직히 말해 내가 준비를 제대로 못한 것 같다. 2. 시큐어 코딩이란? 알고 있으면 적용한 사례가 있는지 3. 프론트 경험이 있는지? - 백엔드 개발자인데 프론트 업무를 시키려고 질문하신거 같기도 하다 4. 뷰와 리액트의 차이점 5. 뷰의 장점 및 뷰 생명 주기 6. 최근에 공부하고 있는 기술에 대해 말하기 - 이 부분에서는 요즘 공부하고 있는 junit에 대해 말했다 (실제로 적용 전이라고..
MySql <> 연산자 쿼리를 짜던 도중 연산자를 발견하여 이게 뭐지? 하고 검색을 해봤다. 는 != 과 같은 의미라고 하는데 그러면 != 대신 를 사용하는 이유가 궁금했다. 아래의 글을 보면 가 SQL 표준이며 기술적으로 더 이식성이 뛰어나다고 한다. !=는 비표준이지만 대부분의 데이터베이스가 구현은 되어 있다고 한다. https://stackoverflow.com/questions/14159569/what-is-the-difference-between-and-operators-in-mysql What is the difference between and != operators in MySQL? If I use a simple table such as : create table test ( a int ); insert int..
Error 와 Exception error와 exception 에 대해 공부하면서 습득한 내용을 포스팅 해보자고 한다. Java에서 예외 계층 구조는 java.lang.Throwable 클래스로 표현됩니다. Throwable 클래스에는 두 개의 서브클래스가 있습니다: Error와 Exception입니다. Error 클래스는 일반적으로 프로그램에서 처리할 수 없는 심각한 오류를 나타내며, Exception 클래스는 프로그램 코드 내에서 처리할 수 있는 덜 심각한 문제를 나타냅니다. Exception 클래스에는 RuntimeException 및 IOException을 비롯한 여러 하위 클래스가 있습니다. RuntimeException은 Exception의 서브클래스로 체크되지 않은 예외를 나타내며, IOException은 Exception..