웹 쿠키와 세션 개념 및 활용 예시
WEB study/WEB(Springboot)

안녕하세요! 항상 나아가는 개발자 pink_salt 핑솔입니다! 오늘은 웹 쿠키와 세션 개념 및 활용 예시에 대해 알아보겠습니다. 쿠키(cookie)? HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송한다. 언제 사용하나요? 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용한다. 상태가 없는 HTTP 프로토콜에서 상태 정보를 기억할 수 있어 이를 통해 사용자의 로그인 상태를 유지할 수 있다. 쿠키는 웹 사이트에 접속하면 생성되는 정보를 담은 임시 파일입니다. 쿠키의 데이터 형태는 Key , Value로 구성되어 있고 St..

Spring Boot와 MyBatis의 연동 - Maven 의존성 설정
WEB study/WEB(Springboot)

안녕하세요! 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 이제는 Spring Boot와 MyBatis의 연동에 대해서 공부해보겠습니다. 'Spring Boot 웹 개발 초급'강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하였습니다. Spring Boot에서 MyBatis 설정 1. Maven 의존성 설정 -> MyBatis 및 H2 Database 2. 스프링 애플리케이션 설정 -> application.properties 설정 Maven Java프로젝트에서 사용되는 빌드 자동화 도구 소스코드를 실행 가능한 SW 산출물로 만드는 과정인 빌드를 해주는 도구입니다. Maven의 2가지 주요기능으로는 1. 프로젝트 구성 및 빌드 관리 2. 라..

Spring Boot와 MyBatis의 연동 - Data Access Layer의 개념
WEB study/WEB(Springboot)

안녕하세요! 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 저번 게시물에서는 Spring Bean의 개념과 의존성 주입에 대해서 공부해보았습니다. 이제는 Spring Boot와 MyBatis의 연동에 대해서 공부해보겠습니다. 'Spring Boot 웹 개발 초급'강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하였습니다. Data Access Layer Database에 접근하여 데이터 저장, 조회 등을 수행하는 역할 입니다. Service와 Database 사이의 추상화 된 계층입니다. 추상적이기 때문에 Database 기술이 변경되면 Data Access Layer의 코드는 변경될 수 있지만 Service계층의 코드는 변경되지 않습니다...

Clean Code이란 무엇인가? 왜 필요한가? (1)
WEB study/Clean code

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 코드를 유지보수하는데 정말 중요한 개념인 Clean Code에 에 대해서 알아봅시다~ 고고! 이번엔 'SW 유지보수성 향상을 위한 Clean Code' 강의를 듣고 공부한 내용을 정리하여 네 번째 포스팅을 진행하겠습니다. Clean Code를 왜 배워야 하는가? 프로그램은 우선 사람이 이해할 수 있어야 한다. 컴퓨터에서 실행되는가는 부차적인 문제다. - Donald Knuth 컴퓨터가 이해하는 코드는 어느 바보나 작성할 수 있다. 좋은 프로그래머는 사람이 이해하는 코드를 작성한다. - Martin Fowler SW 엔지니어는 코드를 작성하는 시간의 10배를 코드를 읽고 이해하는데 쓴..

Java 프로그래밍 초급(5) - 컬렉션 프레임워크 : List
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 컬렉션 프레임워크 : List 에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 다섯 번째 포스팅을 진행하겠습니다. List 자료구조 컬렉션 클래스에 대한 이해 앞 게시물에서 언급했던 주식 데이터 기억나시나요? List 자료 구조 데이터는 저장되는 데이터에 순서가 존재합니다. 중복되는 데이터가 저장될 수 있습니다. List 자료 구조를 위해 정의된 인터페이스 여러 건의 데이터의 하나의 객체로 관리합니다. 입력된 데이터에 순서가 존재합니다. 순서 정보의 관리를 위해 인덱스 개념 존재합니다. Collect..

Java 프로그래밍 초급(4) - 컬렉션 프레임워크 : 개념, 제네릭
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 컬렉션 프레임워크 : List 에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 네 번째 포스팅을 진행하겠습니다. 컬렉션 프레임워크(collection framework)란? 여러 건의 데이터를 다루기 위해서 Array와 같은 데이터를 다루기 위한 자료구조의 구현체가 필요하다. 다양한 특성을 가진 데이터를 다루기 위해서는 그에 적합한 자료구조가 필요하다. 다양한 자료구조의 구현을 위한 클래스와 인터페이스의 집합이다. 필요성 다양한 자료구조의 구현체를 클래스 라이브러리 형태로 제공합니다. 1. 만약 매 ..

Java 프로그래밍 초급(3) - 객체지향 고급(오버라이딩, 다형성, 패키지)
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 객체지향 고급에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 세 번째 포스팅을 진행하겠습니다. 메소드 오버라이딩(Method Overriding) 부모 클래스로부터 상속받은 메소드를 자식 클래스가 자신만의 특성에 맞게 새롭게 구현하는 것입니다. main 클래스에서 각 클래스의 객체를 생성하고 같은 이름의 다른 내용의 메소드를 실행하면 다른 내용의 코드가 객체에 따라 실행되는 것을 볼 수 있습니다. 메소드 오버라이딩의 조건 오버라이딩하는 부모 클래스의 메소드와 이름이 같아야 합니다. 오버라이딩하는 부모..

Java 프로그래밍 초급(2) - 객체지향 고급(상속)
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 객체지향 고급에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 두 번째 포스팅을 진행하겠습니다. 상속의 개념(inheritance) 일반화된 특성이 정의된 User 클래스가 있다고 가정합니다. 또, 일반화된 특성을 모두 가지면서, 특수한 특성까지 정의한 클래스인 PaidUser가 있다고 가정합니다. 이렇듯 일반화된 클래스의 멤버들을 가지면서 자기 자신만의 멤버를 갖게 되는 것을 '상속'이라고 합니다. User가 추상적이고 PaidUser가 더 구체적입니다. 상속을 하는 클래스는 부모(Parent) 클래..

Git 브랜치의 이해 (3) - Git 브랜치 이동 및 이슈 발생, 실습
WEB study/Git, GitLab

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 이번엔 git 브랜치 이동과 이슈가 발생했을 떄 어떻게 하는지 알아보는 시간을 갖겠습니다. 이번엔 '실무자가 알려주는 Git 활용한 프로젝트 관리'의 Git 브랜치의 이해 강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하겠습니다. 이전 게시물에서 feature-login이라는 브랜치를 git branch feature-login이라는 명령어를 통해 만들었습니다. 이제 feature-login으로 브랜치를 이동해보겠습니다. 브랜치 이동 git checkout feature-login(이동할 브랜치명) git checkout (브랜치명)을 통해서 현재 작업 중인 master branc..

Java 프로그래밍 초급(2) - 객체지향 메소드
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 객체지향 그리고 메소드 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 두 번째 포스팅을 진행하겠습니다. 메소드의 개념과 기초 활용 메소드(Method) 객체는 속성과 행위를 갖고 있고, 메소드는 객체의 행위를 정의합니다. 메소드는 함수(function)과 거의 유사합니다. input과 output이 존재하며 특정 작업을 수행합니다. 차이점은 메소드는 특정 객체에 포함되어 있습니다. 독립적으로 존재하지 않습니다. 함수(function) 특정한 작업을 수행하기 위한 코드들의 집합입니다. 특정 작업의 코드들..