전체 글 145

[BOOK] 헤드퍼스트 디자인 패턴

들어가면서출퇴근 시간에 읽을만한 책을 찾다가, 디자인 패턴에 대해 공부를 해야겠다고 생각이 들어 구매하게 되었다.가벼운 마음으로 책읅 읽고 정리해보겠다. 목차01장 디자인 패턴 소개와 전략 패턴 | 디자인 패턴의 세계로 떠나기02장 옵저버 패턴 | 객체들에게 연락 돌리기03장 데코레이터 패턴 | 객체 꾸미기04장 팩토리 패턴 | 객체지향 빵 굽기05장 싱글턴 패턴 | 하나뿐인 특별한 객체 만들기06장 커맨드 패턴 | 호출 캡슐화하기07장 어댑터 패턴과 퍼사드 패턴 | 적응시키기08장 템플릿 메소드 패턴 | 알고리즘 캡슐화하기09장 반복자 패턴과 컴포지트 패턴 | 컬렉션 잘 관리하기10장 상태 패턴 | 객체의 상태 바꾸기11장 프록시 패턴 | 객체 접근 제어하기12장 복합 패턴 | 패턴을 모아 패턴 만들기..

[읽어볼 거리] java에서 aws s3 적용하기

개인프로젝트를 하면서 이미지 업로드를 위해 서칭하다가 찾은 내용입니다. https://techblog.woowahan.com/11392/ Spring Boot에서 S3에 파일을 업로드하는 세 가지 방법 | 우아한형제들 기술블로그 Spring Boot에서 S3에 파일을 업로드하는 세 가지 방법 | 안녕하세요. 세일즈서비스팀에서 전자계약서 시스템을 개발하고 있는 박민규입니다. 최근 저는 Spring Boot + Kotlin을 활용한 프로젝트에서 techblog.woowahan.com

읽은 책 2024.01.19

Discard / Update branch

현재 깃허브 구조는 회사 리포지토리 회사 리포지토리를 Fork 한 나의 리포지토리  나의 리포지토리에서 회사 리포지토리 최신 내용으로 동기화(Sync) 하려고 하면 아래 두 버튼이 생겼다. 두 버튼의 차이가 무엇인지에 대해 검색한 내용이 아닌 몸으로 경험한 내용을 적어 본다.  상황은 아래와 같다. 회사 리포지토리를  동기화하여 최신 내용으로 변경하지 않은 상태에서 로컬 컴퓨터의 코드를 수정하고 나의 리포지토리에 push 를 해버렸다. push는 되겠지만 회사 리포지토리에  pull request 하려고 하면 에러가 발생할 것을 순간 깨달았다. 그래서 update가 아닌 Discard를 눌렀다. Discard는 동기화 하면서 ⭐pull request(PR) 되지 않은 내용은 삭제해버리는 것 같다(?) 아..

[읽어볼 거리] 데이터 베이스 데이터 초기화

업무를 하면서 웹 서버를 고객사에 배포 하는 과정에서 다른 팀과의 데이터베이스로 문제가 많았다. 다른 팀에서 계속 ORM을 사용해 달라고 했는데 그 이유가. 서버를 구동(?) 하면서 데이터 베이스에 데이터를 자동으로 생성시켜주는 기능이 있기 때문이다. 해당 기능은 개발하는 우리의 입장에서도 계속 업데이트 사항에 대해 전달해야하는 불편함을 제거할 수 있어 좋지만 우리 팀은 ORM을 사용하고 있지 않았고 sql mapper는 그런 기능이 없는 줄 알았다. 우연히 서칭을 하다가 data.sql 과 schema.sql 관련 내용을 찾게 되었고 서버가 구동 되면서 자동으로 데이터가 들어가는 기능이 있다는 것을 알게 되었다. 단, sql mapper에서 제공해주는 기능은 아닌 것(?) 같다. 아래 글을 한 번 읽어..

읽은 책 2024.01.08

인터넷 네트워크

💡 본 내용은 인프런 사이트에서 김영한 강사님의 "모든 개발자를 위한 HTTP 웹 기본 직식" 강의를 정리한 내용입니다. 인터넷 네트워크 망을 통해서 통신을 주고 받기 때문에 네트워크 관련 기본 지식에 대해 공부한다고 생각하면 됩니다. 단, 네트워크에 대해 깊게 공부하면 정말 깊게할 수 있지만 웹 개발을 위한 기본 지식인 만큼 가볍게 보고 넘어가면 될 것을 생각한다. 만약 중간에 궁금한 부분들은 따로 공부를 더 하면 됩니다. 1️⃣ 인터넷 통신 자신의 컴퓨터에서 다른 사람에게 통신을 하기 위해서는 중간에 수 많은 거점(?)들을 통과하면서 데이터가 이동을 하게 된다. 2️⃣인터넷 프로토콜(IP) ※ 패킷(packet) 은 네트워크 통신 정보 단위(?)라고 생각하면 된다. 패킷에 대해서도 깊게 공부하려면 따..

[읽어볼 거리] 엑셀 다운로드

엑셀 다운로드 기능을 구현하면서 찾아본 내용입니다. https://techblog.woowahan.com/2698/ 아 엑셀다운로드 개발,,, 쉽고 빠르게 하고 싶다 (feat. 엑셀 다운로드 모듈 개발기) | 우아한형제 {{item.name}} 1. 들어가며 안녕하세요! 정산시스템팀 병아리 개발자 최태현입니다. 최근에 엑셀 다운로드 개발을 편하게 할 수 있는 모듈을 만들게 되었습니다. 제가 엑셀 다운로드 모듈을 만들게 techblog.woowahan.com

읽은 책 2023.11.02

[읽어볼 거리] jQuery DataTable 서버 사이드

DataTable의 ajax 를 사용하면 서버로 파라미터 값들을 보내주는데 나는 파라미터 그대로 while 반복문을 사용해서 추출했었다..!(1차 내용) 그런데 @RequestBody MultiValueMap를 사용해서 Map으로 받을 수 있는 부분이 신기 방기했고 (2차 내용) MultiValueMap를 사용하지 않고 간편하게 추출할 수 있다.(3차 내용) 내용 수정을 할 수 있도록 곧 하겠씁니다. https://zamezzz.tistory.com/310 [JavaScript #11] dataTables 사용하기 (2) ● dataTables - 2 오늘은 지난 포스팅에 이어 dataTables의 server-side processing에 대해서 정리하겠습니다. 너무 많은 데이터 행을 처리할 때는 너무..

읽은 책 2023.10.23

[Spring Framework] 오류 페이지 처리 1탄

해당 글은 인프런 김영한 강사님의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 을 보고 정리한 내용입니다. 자바 실행 자바의 main 메서드를 실행하는 경우 main 이라는 이름의 쓰레드가 실행된다. 에러가 발생하고 잡지 못하면 main 쓰레드가 예외 정보를 남기고 종료된다. 웹 애플리케이션 사용자 요청 별로 별도의 쓰레드가 할당 되고, 서블릿 컨테이너 안에서 실행된다. try ~ catch로 예외를 잡으면 아무런 문제가 없지만 잡지 못하고 서블릿 밖으로 전달되면 서블릿의 오류 페이지 요청 흐름 WAS → 필터 → 서블릿 → 인터셉터 → 컨트롤러 ⇒ 정상요청 WAS ← 필터 ← 서블릿 ← 인터셉터 ← 컨트롤러(예외발생) ⇒ 예외발생 WAS “/error-page/500" → 필터 → 서블릿 → 인터..

[읽어볼 거리] 라이브러리, 모듈, 플러그인 차이점

글을 읽을 때마다, 어떤 것은 라이브러리, 모듈, 플러그인 여러 가지 이름으로 불리고 있어서 정확하게 어떤 차이점이 있는지 찾아보다가 아래 블로그를 찾게 되었다. 프레임워크(Framework), 라이브러리(Library), 플러그인(Plug-in), 모듈(Module)의 차이 📕 프레임워크 Framework. 직역하면 뼈대/구조라고 한다. 조금 더 풀어서 설명하자면, Frame 은 틀, 규칙/법칙을 의미하고 work 는 일, 소프트웨어의 목적이라고 할 수 있다. 즉, 목적에 따라 효율적으 doozi0316.tistory.com 시간이 된다면 한 번 읽어보자!!

읽은 책 2023.10.04