들어가기 전에스캔한 책은 직접 구매하여 소장중인 책이며, PDF 파일을 가지고 있는 한 절대 팔거나 공유할 일 없는 책입니다. 파일 공유 요청은 절대로 하지 말아주세요. 저작권을 소중히 하며 책을 읽도록 합시다!본인 소유 책을 셀프 스캔한 후, 원본 책을 판매하는 행위는 법에 어긋나는 행위입니다!GoodNote에 책 넣기 - Air Drop 이용MAC을 이용하여 iPad의 goodnote에 책을 넣는 방법은 매우 간단합니다.Air drop을 사용하면 매우 손쉽게 iPad에 파일을 넣을 수 있습니다.다만, 위와 같은 방법을 통해 진행하게 되면, 아래와 같이 iPad에서 한 화면당 한 페이지만 볼 수 있게 됩니다.GoodNode에 책 넣기 - 한 화면에 2페이지 보는 법Air Drop만을 이용하여 손쉽에 ..
들어가기 전에TIL을 통해 Git에 잔디를 심으려하면, commit과 push가 귀찮을 때가 종종 있습니다. 이럴 때 편히 Git에 올려주는 크롬 확장 프로그램이 있어 소개하려 합니다.이번 포스팅은 blog.naver.com/adamdoha/222339579487 블로그에서 보고 널리 알리면 좋을 것 같아 작성하게 되었습니다. LeetHubchrome.google.com/webstore/detail/leethub/aciombdipochlnkbpcbgdpjffcfdbggi?ref=producthunt LeetHubAutomatically integrate your code with LeetCode and GitHubchrome.google.comLeetHub은 위 페이지를 통해 확장 프로그램을 Chrome..
들어가기 전에알고리즘 공부를 할 때에 VS code를 이용합니다. 이때, VS code에서 작성한 코드를 TIL으로 남겨보고자 Git에 연동방법을 찾아보게 되었습니다.VS code에 git 연동하기이미 github에 가입되어 있고, VS code가 설치되어있음을 가정하고 진행합니다. 1. 먼저, Git에 새로운 repository를 생성합니다.아래와 같이 repository 정보 입력 후 Create repository를 클릭합니다. 생성된 레포지토리에서 Code를 누르고 복사 버튼을 클릭합니다.repository 생성 시 특이점은, 예전과 다르게 default branch가 main이라는 점입니다.2. VS code를 실행한 후 git에 연동하고자 하는 폴더를 엽니다. 그 후 왼쪽 탭에서 소스제어 아이..
Github 원격 저장소의 default branch명 변경하기하기 프로젝트의 경우, 기존에 존재하던 repository라 master가 default branch로 존재했습니다. 이를 main으로 바꾸는 작업은 간단합니다. 먼저, github에 접속하여 default branch를 바꾸고자 하는 repository에 접근합니다. 그 후, Settings > Branches를 클릭하여 Default branch를 변경합니다.로컬 저장소 default branch 변경하기로컬 저장소 default brancn 변경하기는 기존에 VS code와 Git을 연동할 repository 생성 시 미리 변경을 했습니다. 이 부분은 해당 포스팅과 동일하게 작성되었습니다. 먼저, Git 2.28부터 default bra..
들어가기 전에기본적으로 mac에는 python이 깔려있습니다. terminal을 열어 python -V 명령어와 python3 -V 명령어를 치면 현재 설치되어 있는 python 버전을 확인할 수 있습니다.저는 위와 같이 이미 python 3.8.2가 설치되어 있어 따로 python3 설치를 하지 않고 진행하지만, 만약 python3가 깔려있지 않다면 아래 방식으로 설치하면 됩니다.python3 설치하기www.python.org/downloads/ url에 접근하여 Download Python 3.9.4를 눌러주고, python 설치 마법사를 통해 python을 설치합니다.python3 사용하기터미널에서 python3 사용하기python3를 특정 툴을 이용하지 않고 터미널에서 사용할 때에는 아래와 같이 ..
들어가기 전에하기 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)를 공부하여 작성한 내용입니다.템플릿 엔진웹 개발에 있어 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 의미합니다.서버 템플릿 엔진 예: JSP, FreemarkerJSP의 경우 명확한 서버 템플릿 엔진은 아니나, View의 역할만 하도록 구성할 때에는 템플릿 엔진으로써 사용이 가능합니다.클라이언트 템플릿 엔진 예: React의 View, Vue의 View서버 템플릿 엔진을 이용한 화면 생성은 서버에서 Java 코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달합니다. 반면 자바스크립트는 브라우저 위에서 작동합니다. 즉, 자바스크립트 코드가 실행되는 장..
들어가기 전에하기 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)를 공부하여 작성한 내용입니다.등록/수정/조회 API 만들기API를 만들기 위해서는 총 3개의 클래스가 필요합니다.Request 데이터를 받을 DTOAPI 요청을 받을 Controller트랜잭션, 도메인 기능 간의 순서를 보장하는 ServiceService에서 비즈니스 로직을 처리해야 한다고 생각할 수 있으나, Service는 트랜잭션, 도메인 간 순서 보장의 역할만 합니다.Spring 웹 계층Web Layer흔히 사용하는 컨트롤러(@Controller)와 JSP/Freemarker 등의 뷰 템플릿 영역입니다.이외에도 필터, 인터셉터, 컨트롤러 어드바이스 등 외부 요청과 응답에 대한 전반적인 영역입니다.Service L..
들어가기 전에하기 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)를 공부하여 작성한 내용입니다. SQL 매퍼를 이용해 데이터베이스의 쿼리를 작성하는 경우가 많습니다. 이 경우, 실제 개발하는 시간보다 SQL을 다루는 시간이 많았습니다. 이러한 문제점을 해결하기 위해 JPA라는 자바 표준 ORM 기술이 생겨났습니다. 이번 포스팅에서는 JPA를 프로젝트에 적용해보도록 하겠습니다.Mybatis는 ORM이 아닌, SQL Mapper입니다. ORM은 객체를 매핑하는 것이고, SQL Mapper는 쿼리를 매핑합니다.JPA현대의 웹 어플리케이션에서는 관계형 DB는 빠질 수 없는 요소입니다. 그로 인해 객체를 관계형 데이터베이스에서 관리하는 것이 중요합니다. 관계형 데이터베이스가 웹 서비스의 중심..