일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 클린 코드
- Codeup
- springboot
- 스프링
- 롬복
- H2 설치
- 파이썬
- 코드업
- mariadb
- Python
- thymeleaf
- go
- Spring Boot
- 클린코드
- 알고리즘
- Git
- Gradle
- Spring
- MySQL
- java
- 오블완
- Vue.js
- 객사오
- GitHub
- spring security
- JPA
- golang
- 티스토리챌린지
- Postman
- 기초100제
- Today
- Total
목록분류 전체보기 (85)
nyximos.log
자바 ORM 표준 JPA 프로그래밍 김영한 😵 SQL을 직접 다룰 때 발생하는 문제점 관계형 데이터베이스 = 데이터 저장소 자바로 개발하는 애플리케이션 = 대부분 관계형 데이터베이스 사용 SQL Structured Query Language 데이터베이스의 데이터를 관리할 때 필요 1. 반복 CRUD 기능을 개발해보자. 1. 자바에서 사용할 회원 객체 생성 2. 데이터베이스를 관리할 목적으로 회원용 DAO(데이터 접근 객체) 생성 3. 회원 조회 기능 개발 1) 회원 조회용 SQL 작성 2) SQL 실행 (JDBC API 사용) 3) 조회결과와 회원 객체를 매핑 4. 회원 등록 기능 개발 1) 회원 등록용 SQL 작성 2) 회원 객체의 값을 꺼내서 SQL에 전달 3) SQL 실행 (JDBC API 사용) ..
🧶 Vue.js란? 사용자 인터페이스를 만들기 위한 프로그레시브 프레임워크 MVVM 패턴의 ViewModel 레이어에 해당하는 화면단 라이브러리 데이터 바인딩과 화면 단위를 컴포넌트 형태로 제공하며, 관련 API 를 지원하는데에 궁극적인 목적이 있음 Angular에서 지원하는 양방향 데이터 바인딩 을 동일하게 제공 하지만 컴포넌트 간 통신의 기본 골격은 React의 단방향 데이터 흐름(부모 -> 자식)을 사용 다른 프런트엔드 프레임워크(Angular, React)와 비교했을 때 상대적으로 가볍고 빠름. 문법이 단순하고 간결하여 초기 학습 비용이 낮고 누구나 쉽게 접근 가능 📌 MVVM 패턴 Backend 로직과 Client의 마크업 & 데이터 표현단을 분리하기 위한 구조로 전통적인 MVC 패턴의 방식에서..
클린 코드, 애자일 소프트웨어 장인정신 Robert C. Martin 들어가면서 어떤 프로그램이든 가장 기본적인 단위가 함수다. 이 장은 함수를 잘 만드는 법을 소개한다. 작게 만들어라! 일반적으로 다음 코드보다 짧아야 한다. public static String renderPageWithSetupAndTeardowns( PageData pageData, boolean isSuite ) throws Exception { boolean isTestPage = pageData.hasAttribute("Test"); if(isTestPage){ WikiPage testPage = pageData.getWikiPage(); StringBuffer newPageContent = new StringBuffer();..
클린 코드, 애자일 소프트웨어 장인정신 Robert C. Martin 들어가면서 소프트웨어에서 이름은 어디에나 쓰인다. 많이 사용하므로 이름을 잘 지으면 편하다. 이 장에서는 이름을 잘 짓는 간단한 규칙을 소개한다. 의도를 분명히 밝혀라 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수(혹은 함수나 클래스)의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워진다. 중요한 것은 코드의 함축성이다. int d; // 경과 시간(단위 : 날짜) int elapsedTimeIndays; int daysSinceCreation; int daysSinceModific..
Repository repo라고 한다. 파일이나 폴더를 저장해 두는 곳 고유한 기록이 있는 git 작업 공간 모든 git repo에는 고유한 기록이 있다. 각 repository는 연결되어 있지 않다. Git은 원격 저장소 Remote Repository와 로컬 저장소 Local Repository 두 가지 종류의 저장소를 제공한다. 원격 저장소 : 서버에서 관리, 여러 사람이 함게 공유 로컬 저장소 : 내 PC에 저장됨 새 repository 인스턴스화 하기 먼저 저장소로 등록할 폴더로 이동한다. 이후 git init 명령어를 입력한다. git init 터미널에 있는 모든 위치에서 새 git 저장소 인스턴스 / 초기화 git status git 상태 확인 ls -a 숨겨진 파일을 확인하는 명령어 방금 ..
클린 코드, 애자일 소프트웨어 장인정신 Robert C. Martin 들어가면서 장인정신을 익히는 과정 ① 이론 : 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 한다. ② 실전 : 열심히 일하고 연습해 지식을 몸과 마음으로 체득해야 한다. ⛸ 클린 코드 → 열심히, 아주 열심히 독파해야 하는 책 코드를 읽고 무엇이 옳고 그린지 생각하기 모듈을 분해했다가 다시 조립하는 과정 이해하기 시간을 들여 사례 연구 검토, 모든 결정과 단계 이해, 저자의 입장에서 생각한 방식을 이해하려 애쓰기 사례 연구에서 코드를 정리하면서 내린 각 결정과 heu-ristic 사이의 관계가 중요하다. 손으로 몸으로 마음으로 익혀 자신의 일부처럼 활용하자. 코드가 존재하리라 코드가 사라질 일은 없다. 코드는 요구사..
PrintWriter의 getWriter() 메소드를 사용하여 서블릿과 자바 코드만으로 동적인 HTML을 만들 수 있다. 그러나 이러한 방법은 복잡하고 비효율적이므로 템플릿 엔진을 사용한다. 🍕 템플릿 엔진 HTML의 문서에서 필요한 곳만 코드를 적용하여 동적으로 변경해준다. 많은 코드를 줄일수 있고 재사용성이 높으며 유지보수가 용이하다. JSP, Thymeleaf, Freemarker, Velocity 등이 있다. 최근에는 Thymeleaf를 많이 쓰는 추세이며 레거시 프로젝트의 경우 JSP를 사용한 것을 많이 볼 수 있다. 템플릿 엔진을 사용하기 위해서 해당 라이브러리를 추가해야 한다. build.gradle에 사용할 dependency를 추가 dependencies{ //JSP 추가 implemen..
스프링 부트는 톰캣 서버를 내장하고 있어서, 톰캣 서버를 설치하지 않더라도 편리하게 서블릿 코드를 실행할 수 있다. 🤔 서블릿이란? 동적인 웹 페이지를 만들 때 사용되는 자바 기반 웹 애플리케이션 프로그래밍 기술 클라이언트의 요청을 처리 후 결과를 반환해준다. javax.servlet 및 javax.servlet.http 패키지는 서블릿을 작성하기 위한 인터페이스 및 클래스를 제공합니다. 개발자는 javax.servlet.http 패키지의 HttpServlet 클래스를 상속받아 서블릿을 구현할 수 있다. 🌳 서블릿 생명 주기 서블릿의 생명 주기는 서블릿이 배포된 컨테이너에 의해 제어된다. 클라이언트가 Servlet에게 요청하면 1. servlet의 인스턴스가 존재하지 않는 경우, 웹 컨테이너는 1-1 S..