본문 바로가기

프로젝트 & TIL

(103)
16일차 - 스프링부트 스프링부트 세팅 https://start.spring.io/ Spring Boot 3.0.4 Java 17 Dependencies : Spring Boot DevTools, Spring Web, Lombok, Thymeleaf - File > Settings > Build, Execution, Deployment > Compiler에서 Build project automatically 체크 - File > Settings > Advanced Settings > Allow auto-make ~ 체크 - File > Project Structure > SDK 17로 설정 - Lombok requires ~ > Enable annotation processing 클릭 - (필요한 경우) File > Repai..
15일차 - HTML/CSS와 테일윈드 CSS Flexbox 연습 사이트 https://flexboxfroggy.com/#ko Flexbox Froggy A game for learning CSS flexbox flexboxfroggy.com https://cdpn.io/pen/debug/adLPwv CodePen - Flexbox playground cdpn.io CSS 선택자 연습 사이트 https://flukeout.github.io/ CSS Diner A fun game to help you learn and practice CSS selectors. flukeout.github.io display block : 너비 최대, 수직 배열, flex inline-block : 너비 최소, 수평 배열, inline position stati..
14일차 - DB index - CHAR : 속도 빠름, 용량 많이 차지 => 검색에 용이하다. - VARCHAR : 속도 느림, 용량 적게 차지 - DELETE : 데이터만 삭제된다. - TRUNCATE : 데이터 및 인덱스 데이터도 같이 삭제된다. LENGTH() SELECT LENGTH('홍길동'); # 9 UUID() - 고유값을 랜덤으로 생성한다. INSERT INTO ~ SELECT ~ INSERT INTO 테이블 (a, b, c) SELECT NOW(), UUID(), `hi` FROM 테이블; - 테이블의 row 개수만큼 데이터가 추가된다. a 칼럼에 NOW(), b 칼럼에 UUID(), c 칼럼에 'hi'가 들어감 SQL_NO_CACHE SELECT SQL_NO_CACHE * FROM 테이블; - 캐시를 쓰지 않는다..
13일차 - DB 쿼리(2) 그룹 함수 https://yurison.tistory.com/24?category=1077673 DML - 데이터 조작하기 SELECT - 데이터 조회하기 SELECT(DISTINCT) {column_name}(ALIAS) FROM {table_name} [WHERE {attribute} = {value}]; SELECT CONCAT({column_name}, '-', {column_name}) FROM {table_name}; DISTINCT : 중복행을 제거한다. ALIAS : 컬럼의 별칭을 지 yurison.tistory.com COUNT SELECT COUNT(컬럼_이름) FROM 테이블_이름; # NULL이 아닌 row의 개수 출력 SELECT COUNT(*) FROM 테이블_이름; # NULL..
12일차 - DB 쿼리(1) 시작 전 할 일 xampp start > SQLyog 접속 온라인 MySQL 실습 환경 https://app.codingrooms.com/compiler?language=mysql Coding Rooms app.codingrooms.com DB 쿼리 CRUD : create, read, update, delete DDL : 테이블과 DB 조작 DML : 데이터(row) 조작 데이터베이스 목록 확인 SHOW DATABASES; 사용할 데이터베이스 선택 USE DB_이름; 선택한 데이터베이스의 테이블 목록 확인 SHOW TABLES; 테이블의 구조 확인 DESCRIBE 테이블_이름; DESC 테이블_이름; - user 처럼 소문자로 타이핑했지만 대문자로 변경되는 경우(기존 키워드인 경우) 백틱으로 감싸준다...
11일차 - 토스트 UI 에디터(폰트, 플러그인)와 깃허브 블로그, DB 웹 폰트 적용하기 https://noonnu.cc/font_page/366 눈누 Gmarket Sans - G마켓 noonnu.cc "웹폰트로 사용" 내용 복사해서 CSS에 추가하여 적용한다. body { margin: 0; } @font-face { font-family: 'GmarketSansMedium'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff'); font-weight: normal; font-style: normal; } html > body .toastui-editor-contents { font-family: 'GmarketSansMedi..
10일차 - 깃 협업과 토스트 UI 에디터 Github Flow 진행 git push origin 브랜치_이름 -f -f 옵션 : 리젝되어도 밀어넣을 수 있다.(강제로 push) git branch -D 브랜치_이름 -D 옵션 : 브랜치 삭제 rm -rf * 폴더에 있는 모든 내용을 지운다. git commit --amend --amend 옵션 : 직전에 실행한 커밋 수정 토스트 UI https://ui.toast.com/ TOAST UI :: Make Your Web Delicious! TOAST UI is an open-source JavaScript UI library maintained by NHN Cloud. ui.toast.com https://github.com/nhn/tui.editor/tree/master/docs/ko GitHu..
9일차 - 각 클래스의 역할과 Git rebase, Git Flow & Github Flow 각 클래스 별 역할 컨트롤러 : 요구사항에 대해 적절하게 서비스로 토스할 수 있어야 한다. => 기본적인 요구사항에 대한 확인, 입출력을 담당한다.(사용자와의 상호작용) 서비스 : 프로그램의 핵심적인 기능(비즈니스 로직)을 모두 담고 있어야(관리해야) 한다.(사용자와 직접적으로 소통하지 않는다. 오직 컨트롤러의 요청에 의한 작동) App : 라우팅. 적절한 컨트롤러로 연결해 준다. Repository : 데이터의 저장/조회를 담당한다.(오직 서비스의 요청에 의한 작동) DB : 데이터의 영속 저장/조회를 담당한다.(오직 리포지터리의 요청에 의한 작동) 위와 같이 계층적으로 나뉘며, 화살표 방향으로 1단계씩 요청이 진행됨. 반대 방향은 안 된다! 응집도 :..