프로그래머스 - [Level 2] 순위 검색(JAVA)
프로그래머스 순위 검색[2021 카카오 블라인드]
프로그래머스 순위 검색[2021 카카오 블라인드]
프로그래머스 합승 택시 요금[2021 카카오 블라인드]
프로그래머스 메뉴 리뉴얼[2021 카카오 블라인드]
프로그래머스 외벽 점검[2020 카카오 블라인드]
프로그래머스 무지의 먹방 라이브[2019 카카오 블라인드]
프로그래머스 프렌즈 4블록[2018 카카오 블라인드]
프로그래머스 경주로 건설[2020 카카오 인턴십]
프로그래머스 보석 쇼핑[2020 카카오 인턴십]
프로그래머스 불량 사용자[KAKAO]
프로그래머스 숫자의 표현
프로그래머스 멀리뛰기
프로그래머스 다음 큰 숫자
프로그래머스 가장 먼 노드
프로그래머스 징검다리
백준 20551번, Sort 마스터 배지훈의 후계자 [2020 인하대학교 프로그래밍 경진대회(IUPC) Open Contest]
프로그래머스 [2018 KAKAO 블라인드] 셔틀버스
프로그래머스 [카카오 인턴] 수식 최대화 [KAKAO]
프로그래머스 [1차] 추석 트래픽 [KAKAO]
프로그래머스 튜플 [KAKAO]
프로그래머스 크레인 인형뽑기 게임 [KAKAO]
프로그래머스 기둥과 보 설치 [KAKAO]
프로그래머스 자물쇠와 열쇠 [KAKAO]
프로그래머스 괄호 변환 [KAKAO]
프로그래머스 문자열 압축 [KAKAO]
프로그래머스 모의고사
프로그래머스 모의고사
프로그래머스 기능 개발
프로그래머스 다리를 지나는 트럭
프로그래머스 다리를 지나는 트럭
이전 포스팅에서 H2 데이터베이스 를 설치했다. 이제 순수 JDBC를 활용해서 데이터베이스를 연동해보자. 참고로 JDBC는 20년전에나 활발하게 사용되던 기술이라고한다. 다음 포스팅의 통합 테스팅을 위한 사전작업 및 참고용으로만 확인하면 좋을 것 같다.
지금까지 회원 등록, 관리를 위한 기본적인 MVC 로직을 구현했다. 이제 데이터베이스를 연동해 데이터를 관리해보자. 이번 포스팅에서는 데이터베이스를 설치하고, 간단한 실습을 진행한다.
이전 포스팅에서 간단한 회원 등록 기능을 구현했다. 이어서 등록된 회원을 조회할 수 있는 페이지를 만들어보자.
이전 포스팅에서 간단한 홈 화면을 구축했다. 이어서 Form을 이용해 회원등록을 진행해보자.
이전 포스팅에서 컨트롤러, 서비스, 리포지토리의 의존관계 설정을 마무리했다. 이번 포스팅에서는 본격적으로 MVC를 활용해 애플리케이션을 제어해보자.
이전 포스팅에서 컴포넌트 스캔 방식으로 스프링 빈을 등록했다. 이번 포스팅에서는 자바 코드로 스프링 빈을 등록해보자.
의존성 주입(DI)을 통해 컨트롤러, 서비스, 레파지토리의 의존관계를 설정해보자. 의존성 주입으로 컨트롤러가 서비스, 레파지토리를 사용할 수 있다.
이전 포스팅에서 구현했던 service를 테스트해보자. 마찬가지로 자바 테스트 프레임워크 Junuit을 활용한다.
자바는 테스트를 할 때, 주로 테스트 프레임워크인 Junit을 활용한다. 그런데 한 가지 의문이 든다. 자바의 main 메서드를 이용하거나 웹 애플리케이션의 컨트롤러를 통해 충분히 테스트가 가능한데, 왜 테스트 프레임워크를 이용해서 테스트를 진행할까?
Service는 비즈니스 로직을 수행한다. 더 서비스 로직에 가까워 보이는 것들이 Service에 구현 된다. 회원 레포지토리 개발 포스팅 에서 repository에 구현했던 MemoryMemberRepository.java 의 메소드와의 차이를 비교해보는 것도 좋을 것 같다.
지금까지 Spring boot 기반 Web 개발에 대한 기초를 알아봤다. 이제 본격적으로 간단한 회원시스템을 만들어보자. 개발은 항상 요구사항을 토대로 진행된다. 앞으로 개발할 시스템의 요구사항은 다음과 같다.
Spring boot Web 개발에서 이야하기는 API방식을 알아보자.
Spring boot를 활용해 MVC와 템플릿 엔진에 대한 간단한 정의를 알아보고, 어떠한 방식으로 동작되는지 실습해보자.
Spring boot를 활용해 정적 컨텐츠에 대해 간단하게 알아보자.
Spring boot를 활용해 프로젝트를 빌드하는 방법에 대해 알아보자.
Spring boot를 활용해 view 를 구현해보자.
Spring boot에서 사용되는 라이브러리를 알아보자.
Spring boot 기반의 개발환경을 구축해보자. Java 버전은 11, IDE는 IntelliJ를 사용한다.
``` 1) 게시판 아이디(번호)에 해당하는 글 조회 2) 게시판 삭제 기능 3) 댓글 기능 4) 수정 기능
``` 1) BbsDAO에 nextPage() / getList() / getNext() 메소드 추가
``` 1) BbsDAO에 getDate() / write() 메소드 추가
``` 1) 게시판 테이블 생성 2) Bbs 클래스 생성 3) BbsDAO 클래스 생성 4) 게시판 화면 구현
``` 1) 로그인 폼 만들기 2) 로그인 기능 동작 페이지 만들기 3) 로그아웃 기능 동작 페이지 만들기
``` 1) 데이터 베이스 만들기(USER 테이블) 2) 회원가입 폼 만들기 3) User 객체 만들기 4) UserDAO 생성 5) 회원가입 기능 동작 페이지 만들기
main 페이지의 골격을 만들어보자.
ECIPSE JAVA(JDK-11.0.9) bootstrap-3.3.7 MY SQL 8.0 Tomcat 8.5
Daily Update
Daily Update
Daily Update
Daily Update
Daily Update
Daily Update
Daily Update
Daily Update
결론부터 얘기하면, JAVA는 항상 call by value이다. 다만, primitive type 이 아닌 reference type 에 한해서 call by reference 로 동작하는 것처럼 보일 뿐이다.
코딩테스트에서 자주 사용되는 Java 문법 정리, Daily Update
String, StringBuilder, StringBuffer 는 PS(Problem Solving)에서 Stirng 객체를 컨트롤 할때 한 번씩 들어봤을 것이다. 막연하게 속도의 차이가 있다는 점만 알고 있었기에, 이번 포스팅에서는 String, StringBuilder, St...
Class와 Instance, Object
객체지향프로그래밍
SelectionSort의 개념을 간단하게 알아보고, java로 구현해보자.
QuickSort의 개념을 간단하게 알아보고, java로 구현해보자.
InsetionSort의 개념을 간단하게 알아보고, java로 구현해보자.
BubblSort의 개념을 간단하게 알아보고, java로 구현해보자.
Github 블로그 커스터마이징 - font편
Github 블로그 커스터마이징 - Posts편
Github 블로그 커스터마이징 - 카테고리&태그편
로딩 최적화
정규표현식 실습 site
게시글이 검색 엔진에 노출되도록 sitemap을 등록하다 문뜩 검색 원리가 궁금해졌다. 그래서 이 포스팅을 작성한다. 구글에서 제공하는 검색 엔진에 관한 내용을 요약, 정리해 나가보자!
자바스크립트 비구조화 할당에 대해 알아보자.
자바스크립트replace사용법을 알아보자.
call by value, call by reference의 개념과 자바스크립트 내에서는 어떻게 사용되는지 알아보자.
이번 포스팅에서는 이진검색트리(BST)의 개념과 삽입, 삭제의 과정에 대해 살펴보려한다.
자료구조를 공부할 때, Array와 ArrayList의 혹은 ArrayList 와 LinkedList의 차이를 비교하는 글이 많았다. 그런데 항상 위 3개 자료구조의 쓰임새가 명확하게 와닿지 않았고, 때로는 헷갈리기도 했다. 그래서 한 번에 비교하며, 정리해보려 한다.
오픈소스에 기여하는 방법을 실습해보자. 이번 포스팅은 Test Repository를 활용해 오픈소스 Fork 부터 Pull Request 까지의 방법을 실습을 목표로한다!
오픈소스 Contribute 전, 상기 할 내용을 간략하게 포스팅합니다.
이번 포스팅에서는 SQL 쿼리의 실행과정에 대해 알아보려 한다. SQL 쿼리의 실행과정을 이해한다면, 쿼리문을 조금 더 수월하게 작성할 수 있다.
이번 포스팅에서는 Database의 index 와 관련된 Clustered와 NonClustered의 개념을 알아보자.
보호소에서 중성화한 동물
프로그래머스 오랜 기간 보호한 동물(1)
Intellij Community의 기본 터미널은 Windows의 기본 shell인 cmd이다. 따라서, bash(bash는 shell을 대체하는 소프트웨어) 명령어를 사용하기 위해 기본 shell을 변경해줘야한다. 이번 포스팅에서는 Windows의 기본 shell을 Git bas...
MSA의 개념과 MSA를 시스템 개발, 운영에 적용하는 이유를 간략하게 살펴보려한다.
이 포스팅은 woohyeonjo 님 과제관 리뷰를 토대로 작성되었습니다. 70~80%는 클론코딩이며, 프로그래머스 프론트엔드 과제관의 요구사항에 맞게 커스터마이징했습니다.
“Uncaught SyntaxError: Cannot use import statement outside a module” 오류를 해결해보자.