전체 글

전체 글

    [LMS 만들기] 스프링 컨트롤과 주소 매핑

    [LMS 만들기] 스프링 컨트롤과 주소 매핑

    | 스프링 컨트롤과 주소 매핑 - HTTP는 근본적으로 텍스트 기반으로 데이터를 송수신하는 일회성의 프로토콜이며, REST는 HTTP프로토콜로 자원에 대한 CRUD 요청을 하는 URI로 표현하는 기법을 말한다. - URI에 사용되는 주소는 보통 / 에 따라서 경로를 나누고 그 안에 디렉토리나 파일명, request 등을 작성하는데, 고전적인 프로그래밍 방식에서는 www.example.com/home/index.jsp 와 같이 파일 확장자가 그대로 드러났었다. - 그러나 오늘날엔 논리적인 주소를 사용해서 확장자를 숨긴다. (예를들어, 인프런의 멘토링 페이지는 https://www.inflearn.com/mentors 를 경로로 쓴다. 파일 확장자는 안 보인다.) - 스프링의 경우, Tymeleaf를 사용해..

    인텔리j에 깃허브 프로젝트 가져오기

    인텔리j에 깃허브 프로젝트 가져오기

    | 인텔리j에 깃허브 프로젝트 가져오기 - 현장에서는 보통 기존에 있는 프로젝트를 가져와서 작업하는 일이 많다. - 오늘은 인텔리j에 깃허브 플젝을 가져오는 걸 배웠는데 한 번 다시 정리해보려고 한다. 1. Get from VCS 선택하기 인텔리j를 처음 연 상태라면 [Get from VCS] 를, 아니면 [file]-[new]-[get from version control ~~] 를 선택한다. 나는 예전에 계정을 저장해뒀었는데, 로그인을 하고 필요하면 인증키를 삽입하면 된다. 2. 하단에 Clone할 로컬 저장소 위치를 지정하고 [Clone]하면 완료 클론이 잘 되었다. 아래를 보면 알 수 있지만 인텔리j는 마크다운 언어를 이미지로 뷰로 바로 볼 수 있기도 하다. README.md 파일은 여기서 수정하..

    [LSM 만들기] Maven 프로젝트 환경 보기

    [LSM 만들기] Maven 프로젝트 환경 보기

    | 개요 - 오늘은 이클립스와 인텔리j에서 Maven 프로젝트를 만들어 본 뒤, - 인텔리j의 GUI를 통해 Maven의 clean과 packing을 동작시키는 걸 해보았다. - Maven 프로젝트 생성은 처음 해보는 거라 구조를 잘 기억하기 위해 정리해보려고 한다. 1. 인텔리j 우측의 [Maven] 탭 기능 내용 기능들 Lifecycle 더블 클릭으로 플러그인 실행 package : target 생성 clean : target 해제 * 내보낼 패키지들에 대한 target를 정하는 것 * 여기선 프로젝트 생성시 WAR 파일로 설정해서 war로 나감 Plugins 내장 플러그인에 대한 세부 기능 위계 - Dependencies 의존성을 확인할 수 있는 곳 - 2. 메이븐 프로젝트의 구조 Maven Gra..

    [Git/Github] fail to push to ~~ 해결하기

    1. 오류 설명 - 깃으로 원격저장소에 push를 할 때 아래와 같은 오류가 자주 발생한다. - 오류 메세지 내용은 main 에서 main으로 보낼 때 non-fast-forward 가 발생해서 거절한다는데, ! [rejected] main -> origin/main (non-fast-forward) error: failed to push some refs to 'github.com:simDev1234/spring.git' hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart. Check out this branch and integrate the remote changes hint: (e..

    알고리즘 속도 구하기

    | 알고리즘 속도 구하는 방법 - 아래와 같은 방법으로 알고리즘 속도를 구할 수 있다. - 예전에 알고 있던 방법이었는데, 금방 잊어버렸기에 생각날 때 노트해두었다. Long start = System.currentTimeMillis(); // 알고리즘 돌리고 Long end = System.currentTimeMillis(); System.out.prinln(end - start + " ms");

    [이펙티브 자바] 객체의 생성

    보호되어 있는 글입니다.

    [LSM 만들기] 스프링부트 프로젝트 생성하기

    [LSM 만들기] 스프링부트 프로젝트 생성하기

    | 개요 - 수업에서 스프링부트로 LMS 프로젝트를 만들려고 한다. - 프로젝트 환경 설정을 하는 과정이 복잡해 보여서 정리를 하면서 따라가려고 한다. - 지금 정리하는 부분 이전에서는 LMS를 사용하는 사이트를 벤치마킹 해서 엑셀로 사용할 데이터를 정리한 후, ERD로 모델링을 했었다. - 오늘 하는 내용에서는 먼저 깃헙을 로컬 저장소에 연동하고, jdk/was/db를 설치한 후, 스프링부트를 통해 각 에디터에서 프로젝트를 생성하는 걸 해보려고 한다. Github 연동부터 DB 설치까지 - 지금 정리하는 부분은 JDBC 프로그래밍을 할 때- JDBC를 넣은 걸 빼고- 환경설정 방법과 거의 유사하다. - 실제 회사에서는 DB가 이미 있을 것이므로, SQL툴 또는 cmd를 통해 DB 계정으로 접근하면 될 ..

    Git, Github 정리

    | 버전관리 시스템 이란? - VCS (version control system) 또는 SCM (Source Code Management) 이라고 한다. - 과거에는 프로젝트를 압축파일을 통해 관리했으나, 현재는 소스 버전관리 시스템을 사용해 관리한다. - 다양한 버전 관리 시스템 : CVS, SVN(Subversion), git, SourceSafe(MS), TFS - 다양한 버전 관리 툴 : github, bitbucket, gitlab | Git 설치 및 GitHub 가입하기 1. git 설치 : https://git-scm.com/ 에서 Git 설치를 한다. (Mac이나 리눅스는 홈브루 등을 사용) // 설치 확인하기 git --version 2. github 가입 : https://github...

    JPA란 무엇인가?

    | JPA - JPA란, 자바에서 사용하는 ORM 기술 표준을 말한다. * ORM : 객체와 RDBMS를 매핑해주는 기술 - JPA는 인터페이스의 모음으로, Hinernate / EclipseLink / DataNucleus가 이 명세를 구현했다. | JPA를 왜 쓸까? 1. SQL 중심 개발 -> Object 중심 개발 2. 생산성 : 데이터의 CRUD가 훨씬 쉬워진다. 저장 : jpa.persist(entity) 조회 : jpa.find(pk) 수정 : entity.setName(" ") 삭제 : jpa.remove(entity) 3. 유지보수 : 필드 변경 시 모든 SQL 수정 --> 필드를 하나만 더 추가 4. 패러다임 불일치 해결 rf. 객체와 관계형 DB의 차이 객체 SQL 상속 객체 상속 관..