개발자 일지120 [강의 후기] 인프런 김영한님 스프랑부트와 JPA 활용2 강의 후기 인프런 스프링 강의로 유명한 김영한님의 실전! 스프링 부트와 JPA 활용1편을 공부하고 간단히 후기를 남겨보려고 합니다. [목차]강의 느낀점강의에서 기억할 것마치며[관련 포스팅]인프런 김영한님 자바 ORM 표준 JPA 프로그래밍인프런 김영한님 스프링부트와 JPA 활용1 강의 후기 1. 강의 느낀점 드디어 JPA 활용2 강의를 다 들었습니다.예전에 들었을 때 활용1까지 이해도가 낮은 상태라 2를 도전하지 못했는데 이번에 완강할 수 있어서 좋았습니다.2에서도 새로운 개념이나 주의사항, 고려해야할점 등을 많이 소개해주셔서 시간이 아깝지 않은 강의였네요. 내년 목표 실적을 설정할 때 JPA와 관련된 기능 추가하거나, 토이프로젝트를 꼭 해봐야곘습니다.방대한 내용이니만큼 실무나 토이프로젝트 등에 적용하지 않으면 .. 2024. 11. 6. [강의 후기] 인프런 김영한님 자바 ORM 표준 JPA 프로그래밍 인프런 스프링 JPA 강의 기초인 자바 ORM 표준 JPA 프로그래밍을 완강한 후 후기를 남겨보려고 합니다. [목차]강의 느낀점강의에서 기억할 것1강의에서 기억할 것2이후 계획 1. 강의 느낀점 저번 스프링부트와 JPA 활용1편을 들은 후, 이번에 가장 기초강의인 자바 ORM 표준 JPA 프로그래밍을 수강했습니다.원래 이것부터 들어야 하지만, 실제로 JPA 활용1편을 먼저 들으면서 일단 따라해보고 다시 기초강의를 듣는 방식도 상당히 효과가 좋은 것 같습니다. 좀 더 익숙해진 상태로 기초강의를 들으니 빠르게 들을 수 있었네요. JPA 활용1편과 다른점은 예제보다 이론에 좀 더 초점을 맞춘 강의인 것 같습니다. 활용1편에서는 나오지 않는 개념이 꽤 많이 나오네요. 그 중 가장 중요한 것은 fetch joi.. 2024. 10. 22. [java] 동일성, 동등성 개념 및 equals, hashCode 최근 JPA 강의를 듣던 중 동일성과 동등성 개념 및 equals, hashCode에 대한 내용이 나왔습니다.예전에 배웠지만 또 가물가물해서 이번 기회에 제대로 정리해보려고 합니다. [목차]동일성이란?동등성이란?equals와 hashCode동일성/동등성 테스트 예제1. 동일성이란?자바에서 동일성(Identity)이란 '==' 연산자를 사용하여 두 객체가 같은 메모리 주소를 참조하는지를비교하는 것을 의미합니다.즉, 두 객체가 메모리상에서 동일한 위치에 있는지 판단하는 것입니다.그래서 같은 타입이고 같은 값을 가지고 있더라도, 메모리 주소가 다르면 false를 반환하게 됩니다. String str1 = new String("hello"); String str2 = new String("hello"); Sy.. 2024. 10. 16. [강의 후기] 인프런 김영한님 스프랑부트와 JPA 활용1 강의 후기 인프런 스프링 강의로 유명한 김영한님의 실전! 스프링 부트와 JPA 활용1편을 공부하고 간단히 후기를 남겨보려고 합니다. [목차]강의 느낀점강의에서 기억할 것앞으로 공부 방향 [관련 포스팅]Entity와 EntityManager 개념, 관계Swagger와 Spring Data JPA를 활용한 예제 학습Java ORM 표준 JPA 프로그래밍 정리1(김영한 강사님)Java ORM 표준 JPA 프로그래밍 정리2(김영한 강사님) 1. 강의 느낀점 오랜만에 인프런에서 JPA 공부를 해봤습니다! 김영한님의 JPA 강의 예전에 한 번 들었는데 그당시에 어설프게 이해하고 몇 년 지나니 다 까먹었네요.오랜만에 인프런 강의를 들으니 재밌습니다. 특히 언젠간 다시 시작해봐야지..라고 했던 JPA로 시작하니 더 재밌게 봤네.. 2024. 10. 8. [C언어] C언어 기초 정리 (간단) C언어에 대해 전반적으로 간단히 정리해보는 포스팅을 해보려고합니다. [목차]C언어 개요C언어 주요 특징기본 문법 비교(JAVA, C)포인터함수동적 메모리 할당배열마무리1. C 언어 개요 C언어는 JAVA와 다르게 객체지향 개념이 없는 절차적 언어입니다. 임베디드 프로그램, 운영체제 개발에 많이 사용됩니다.코드가 순차적으로 실행되고 함수 단위로 작업이 이루어집니다. 2. C 언어 주요 특징 메모리 관리가 JAVA와 다릅니다.자바는 가비지 컬렉션을 통해 메모리를 자동적으로 관리하는 반면, C는 malloc(), free() 함수등을 통해 메모리를 수동으로 관리합니다. 명시적으로 해제하지 않으면 메모리 누수가 발생할 수 있습니다. 또 그 유명한 포인터라는 개념이 있습니다.포인터는 메모리 주소를 저장하는 변수.. 2024. 10. 7. [Java] Logback, SLF4J 기초, 사용 이유, 환경 설정 및 테스트 Java 개발시 로그 남길 때 많이 사용하는 Logback, SLF4J에 대해 알아보려고합니다.그리고 환경 설정 및 테스트 예제를 같이 포스팅해보겠습니다. [목차]Logback, SLF4J란?Logback을 많이 사용하는 이유Logback 환경 설정 및 테스트1. Logback, SLF4J란? Logback은 자바 기반 로깅 프레임워크입니다.자바, 스프링 개발시 로그를 찍을 때 가장 많이 사용하는 프레임워크가 아닐까 싶습니다. Logback은 SLF4J(Simple Logging Facade for Java)를 구현한 구현체입니다.SLF4J는 로깅 프레임워크에 대한 추상화를 제공해 로깅 구현을 돕습니다. 이전에 Log4j가 많이 쓰였는데 지금은 Logback을 많이 사용하는 추세입니다. 2. Logba.. 2024. 10. 4. [자료구조] 자료구조 개념, 종류 알아보기 자료구조 종류에 대해 전체적으로 알아보는 포스팅을 하려고 합니다. [목차]배열연결 리스트스택큐해시 테이블트리그래프힙자료구조란 데이터를 효율적으로 저장하고 관리하는 방법을 의미합니다.흔히 말하는 배열이 자료구조입니다. 갑자기 자료구조를 공부하는 이유는 이직에 대한 생각도 있지만, 개발자라면 제대로 알아야한다는 생각이 들었습니다.개발자는 공부해야할 것이 산더미지만 그중에서도 기본은 알고 있어야 하는 것이 몇 개 있는데 그게 자료구조라는 생각이 들었습니다. 그래더 자료구조를 간단하게 전체적으로 한 번 정리해보려고 합니다.자료구조별로 상세한 정리도 할 예정인데 그것은 이후에 포스팅해보겠습니다. 1. 배열 배열(Array)은 동일한 데이터 타입 요소들이 연속된 메모리 공간에 저장되는 자료구조입니다.예를들어 데이.. 2024. 10. 2. DB 튜닝 공부 (개념, 용어, 최적화 전략 등) DB 튜닝에 대해 개발자도 어느정도 공부를 해둘 필요성을 느끼기에 관련된 포스팅을 하려고 합니다. [목차]DB 튜닝의 개념 및 필요성DB 튜닝 관련된 학습 내용블럭인덱스소프트 파싱, 하드 파싱정규화, 비정규화 1. DB 튜닝의 개념 및 필요성 데이터베이스 성능 최적화는 개발자들도 SQL 튜닝을 통해 어느정도 필요성을 이해할 것이라고 생각합니다.쿼리 실행 속도와 조회 또는 저장시 효율적으로 처리하기 위해 인덱스 관리 등 실행계획을 최적화하는 것이 중요합니다.최근 DB관련된 학습을 하면서 배운 내용을 간단히 정리하려고 합니다.기초적인 내용과 키워드 중심으로 간단히 살펴보겠습니다. 2. DB 튜닝 관련된 학습 내용 1) 블럭 데이터베이스에서 데이터를 저장하는 기본 단위가 블럭입니다.디스크 I/O를 통해 읽.. 2024. 9. 27. 동시성 제어 개념, 방법, Lock 종류 및 비교 동시성 제어 개념과 방법, Lock 종류 및 비교에 대한 포스팅을 해보려고 합니다.트래픽이 많은 서비스들은 동시성에 대해 생각할 수 밖에 없는데요.동시성 제어 개념, 제어 방법들과 그 중에서도 데이터베이스를 통한 동시성 제어인 Lock에 대해 알아보겠습니다. [목차]동시성 제어란동시성 제어 방법마치며1. 동시성 제어란 동시성 제어(Concurrency Control)는 서비스 운영시 중요하게 고려해야할 부분입니다.여러 쓰레드 또는 프로세스가 하나의 자원을 '동시에' 점유하려고 할 경우 동시성 문제가 발생합니다.동시성 문제의 예는 여러가지가 있지만 고객들이 동시에 쿠폰 받기를 누를 경우에 발생할 수 있는데요.여러 사람이 동시에 '쿠폰 받기'를 눌러서 A쿠폰을 동시에 select하려고 할 경우가 하나의 .. 2024. 9. 25. [JPA 기초] Entity와 EntityManager 개념, 관계 JPA 기초 중에서도 Entity와 EntityManager에 대해 알아보려고 합니다. JPA는 실무에서 적극적으로 사용하지 않으면 배워도 금방 까먹게 되는데 이번 기회에 다시 공부해보려고 합니다. 작년 초까지 좀 공부하고 이후에 제대로 못했네요. 우선 개념별로 간단하게 공부해보고 심화 포스팅을 이어나가야겠습니다. [목차]Entity란EntityManager란Entity와 EntityManager의 관계 [참고 블로그 포스팅]Swagger와 Spring Data JPA를 활용한 예제 학습Java ORM 표준 JPA 프로그래밍 정리1(김영한 강사님)Java ORM 표준 JPA 프로그래밍 정리2(김영한 강사님)1.Entity란 JPA에서 가장 많이 나오는 개념이 Entity(엔티티)입니다. ORM(객체-관.. 2024. 9. 21. 필터와 인터셉터 차이, 개념, 예제 스프링 개발시 자주 사용되는 필터와 인터셉터의 차이와 개념을 알아보려고 합니다. 둘다 비슷한 용도에 비슷하게 작동하기 때문에 헷깔릴 수 있는 개념이기 때문에 정리해보려고 합니다. 목차필터 개념, 예제인터셉터 개념, 예제필터와 인터셉터 차이 1. 필터 개념, 예제 필터(Filter)는 서블릿 컨테이너에서 동작하는 자바 기술로, 요청 및 응답을 가로채서 공통의 로직을 미리 처리할 때 사용합니다. 보통 로깅, 인증 등에 많이 사용됩니다. 필터는 javax.servlet 패키지에 있는 라이브러리입니다. 스프링 개발시에도 많이 사용하는데 스프링 컨테이너의 문지기 역할을 하는 디스패처 서블릿(DispatcherServlet)으로 요청이 가기 전에 필터가 호출됩니다. 참고로 필터는 최초 1번 생성됩니다. 서블릿 .. 2024. 9. 20. [양방향 통신 방법]폴링, 롱 폴링, 웹소켓(+STOMP, SockJS) HTTP 프로토콜을 통한 폴링, 롱폴링 방식의 양방향 통신에 대해 알아보고 이를 발전시킨 프로토콜 웹소켓에 대해 공부해보려고 합니다. 출퇴근 시간에 유튜브를 통해 간단히 공부해서 정리가 좀 되었는데요. 포스팅해서 남겨보겠습니다. 목차양방향 통신 방법-폴링, 롱 폴링양방향 통신 방법-웹소켓웹소켓 보완 프로토콜 및 라이브러리[같이 보면 좋은 포스팅 모음][인프런 김영한님 강의]모든 개발자를 위한 HTTP 웹 기본 지식1[인프런 김영한님 강의]모든 개발자를 위한 HTTP 웹 기본 지식2[인프런 김영한님 강의]모든 개발자를 위한 HTTP 웹 기본 지식3 모두의 네트워크 정리1모두의 네트워크 정리21. 양방향 통신 방법-폴링, 롱 폴링클라이언트와 서버의 실시간 양방향 통신을 하기 위해서는 요청 상태를 유지해줘야.. 2024. 9. 19. 개발자 취업 이직 준비 방법(이력서, 공부, 면접, 비전공자 팁) 개발자 취업 이직 준비 하는 법에 대해 포스팅하려고 합니다. 22년 2월에 이직을 해서 현재까지 다니고 있는데 당시 면접 기억 등을 복기해서 내 준비과정을 한번 정리해보려고 합니다. 엄청난 회사에 이직한 것은 아니더라도 과거에 비해 이직에 대한 노하우가 조금은 생겼고 성장했던 부분에 대해 정리해서 읽는 분들이나 나의 다음 이직 준비에도 스스로 참고하기 위한 용도로 포스팅해보겠습니다.1. 개발자 취업 이직 준비-이력서와 포트폴리오 1)이력서 작성을 무엇으로 할까? 이력서와 포트폴리오를 준비해야하는데 저는 노션을 활용했습니다. 이력서 UI가 중요한 것은 아니라고 생각하지만, 면접관들은 다양한 지원자들의 이력서를 보다보니 빠르게 피로를 느낄 수 밖에 없습니다. 결국 내 이력서를 빠르게 인지하도록 하려면 노션.. 2024. 9. 17. [리눅스 기초]less 명령어 사용법, 단축키, 사용 이유 리눅스 명령어 less를 알아보려고 합니다. 리눅스 명령어 less는 vi나 nano와 같이 서버 로그를 볼 때 유용한 명령어 입니다. less와 같이 알아보면 좋은 명령어와 관련하여 포스팅을 해놨으니 참고하시면 도움이 될 것 같습니다. 여기를 누르시거나 아래를 참고해주세요. [리눅스 기초]파일 편집(nano,vi) 이용하기-생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스 문서 편집기 중 하나인 nano,vi 사용법을 익혀본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10를 사용하roadofdevelopment.tistory.com1. less 명령어란? 리눅스 명령어인 less는 텍스트 파일을 읽기 전용으로 빠르게 열고 탐색할 수 있는 리눅스 .. 2024. 9. 13. [CSS]CSS 사용자 지정 변수란, 사용법, 사용이유, 기본값 설정 방법(root, var) css의 사용자 지정 변수의 개념과 사용 이유, 사용 방법을 알아보려고 합니다. 해당 기능을 사용하면 상황에 맞게 css의 값을 변경할 수 있습니다. 백엔드 개발자지만 지금 쇼핑몰 서비스 메인화면 지원 업무를 하고 있기 때문에 오랜만에 css를 많이 건드리게 되어서 오늘 배운 것을 정리합니다. 1. 사용자 지정 변수란 CSS에서 사용자 지정 변수란 한 번 값을 설정하고 여러 군데서 값을 재사용할 수 있게 해주는 기능입니다. 주로 색상이나 크기 같은 스타일 요소들을 변수로 세팅한 후에 유연하게 사용할 수 있습니다.2. 사용자 지정 변수 사용 이유 java같은 백엔드 개발에서도 재사용성은 중요한 요소인데요. css에서도 유연하게 재사용을 할 수 있다는 것을 알게 되었습니다. 여러 값을 한 번에 변경해야 한.. 2024. 9. 11. 정보처리기사 필요성, 쓸모 여부, 공부법 알아보기(비전공자 필독) 정보처리기사는 산업인력공단에서 시행하는 자격증 시험입니다. 필기와 실기로 나누어져있구요. 정보처리기사 자격증 필요성, 쓸모 여부, 공부법 등을 알아보겠습니다. 1.정보처리기사 개요 정보처리기사는 소프트웨어 관련 자격증입니다.필기시험은은 객관식 4지선다형이고 5가지의 과목이 각각 20문제씩 나오기 때문에 총 100문제라고 알고 계시면 될 것 같습니다.시험시간은 150분이며 과목당 30분의 시험 시간이 있네요.목차는 다음과 같습니다.소프트웨어 설계소프트웨어 개발데이터베이스 구축프로그래밍 언어 활용정보시스템 구축관리과목당 40점이상, 전과목 평균 60점 이상을 맞아야 합격할 수 있습니다. 실기시험은 필답형이고 코딩문제 등이 포함되어 있어서 필기보다 좀 더 열심히 공부하셔야 합격할 수 있네요.SQL 관련 문제,.. 2024. 9. 10. [스프링]@ResponseBody 역할, 쓰는이유, 대체 어노테이션(@RestController) 알아보기 안녕하세요! 스프링 프레임워크, 스프링부트에서 자주 쓰이는 어노테이션인 @ResponseBody의 역할, 쓰는 이유와 이를 대체할 수 있는 어노테이션인 @RestController를 같이 알아보겠습니다. 1.@ResponseBody란? @ResponseBody는 컨트롤러의 메소드에 붙는 어노테이션인데요. 메소드가 반환한 객체를 자동으로 json,xml 등의 형태로 변환해주는 역할을 합니다. 보통 AJAX요청이나 API 개발시에 많이 사용하죠. 일반적으로 컨트롤러는 뷰를 반환하지만 데이터를 직접 클라이언트에 전달해야할 때는 이 어노테이션을 사용합니다. @GetMapping("/getData")@ResponseBodypublic String getData() { return "data";} 이 코드는 .. 2024. 9. 10. 테스트를 정말 제대로 해야한다.(응답 message 잘 보자) 외부연동 API 수정건을 배포하고 배포 실패한 건, 반성한 내용에 대해 포스팅해본다. 1.소극적인 협력업체 최근 API 연동 1건은 잘 마무리해서 배포를 성공적으로 마무리 했다. 이후 신규개발건은 아니지만, 기존 API 수정건이 들어와서 수정을 진행했다.해당 건은 우리쪽에서 상품등록시 외부 어드민에 상품이 등록되는 간단한 API다. 외부업체쪽에서 협력에 소극적이라는 얘기가 많아서 피곤해질 것이라는 생각은 했다.물론 나는 개발자고 중간에서 커뮤니케이션을 해주시는 분이 계시지만, F인 나는 그분의 스트레스를 미리 공감(?) 하여 약간의 스트레스가 있었다. 어쨋든 협력에만 소극적이라면 다행인데..개발이나 알파테스트가 안 된다고 한다. 그러면 어떻게 배포하고 테스트하죠..? 물어보니 과거에 개발 브랜츠로 2.. 2024. 9. 1. [TIL-Today I Learned]바빠도 리팩토링, try-with-resources, 소나큐브 처리 등 금일 업무하면서 느낀점과 배운 점을 기록한다.바쁜 업무 와중에 리팩토링을 하는 이유, 방법과 소나큐브 처리 건에 대해 간단히 정리한다. 1.바빠도 리팩토링 하기 몇달전에 운영하는 서비스 파트를 옮기게 되었다. 팀은 유지되었으나 전혀 다른 서비스였기 때문에 몇배는 바빠진 것 같다. 애초에 팀 내 가장 바쁜 서비스인데 새로 적응하려니 바쁘다 바빠.. 그래도 꾸준히 회사 업무 하는 와중에 리팩토링을 해왔는데 몇개월째 리팩토링은 신경도 못쓰고 있었다(..) 업무가 급해지면 급하다는 핑계로 리팩토링을 못하고, 급한 불이 끝나면 좀 쉬어야겠다는 보상심리 때문에 못한다. 즉, 이러면 평생 못한다(..) 그러다가 정신을 차리고 저번주 부터 리팩토링을 조금씩 하고 정리하기 시작했다. 바쁜 와중에도 리팩토링을 하는 나의 .. 2024. 8. 23. [생각정리]API 실무 개발 느낀점, 팁 지금까지 몇번의 API 개발을 진행하면서 느낀점과 팁을 간단하게 작성해보려고 한다.개발적인 팁이라기보다 실무적인 팁이라는 점..(개발적인 팁은 고수들의 블로그에..) 1.무슨 API를 개발? 외부업체에서 쿠폰발행 연동을 해달라고 하였다. 외부업체 쇼핑몰에서 구매자가 구매 후, 우리쪽 API를 호출하여 우리 시스템에서 발행한다. 우리쪽으로 통신하는 API는 발행, 취소, 상태조회 등의 업무가 있었고, 외부업체쪽으로 통신하는 API는 쿠폰사용 또는 취소시 상태변경 API를 호출하여 외부업체에 쿠폰상태를 현행화한다. 이 때 우리 시스템에선 rabbitMQ를 통해 처리한다. 인바운드 통신 API : 쿠폰 발행, 쿠폰 취소, 쿠폰 상태조회아웃바운드 통신 API : 쿠폰 상태 변경 사실 올해 상반기까지만 해도 리.. 2024. 8. 23. 이전 1 2 3 4 ··· 6 다음