전체 글 111

웹 관련 지식 :) SSR(Server Side Rendering) vs CSR(Client Side Rendering)

goal SSR과 CSR을 이해한다. Server Side Rendering SSR과 CSR의 차이점을 이해한다. 🤪 멍청한 나, 그리고 본의아니게 강사님 괴롭힘..💣 코드스테이츠 실시간 세션에서 강사님께 하나부터 열까지 다 알려달라는 식으로 붙잡아버렸고(사실 혼자 공부할 때 그냥 대강 보고 넘겼다...) 강사님이 날 반드시 이해시키겠다는 자세로 임해주셔서 강제적(?)으로 이해해버렸다. 세션에 상주하셨던 나태O 강사님, 이정O 강사님, 구민O 강사님께 정말 감사드린다. 앞으로 더 괴롭힐것 같은데.. 미리 죄송하다는 말씀드린다- 1. SSRServer Side Rendering URL은 보이지 않지만, 다른 페이지로 전환되는 것이 SSR 웹 페이지를 브라우저에서 1 렌더링하는 대신, 서버에서 렌더링한다. ..

네트워크 :) 클라이언트-서버 콘셉트 / 브라우저 작동원리(프로토콜, URL, URI, HTTP) / Chrome Network Tab / HTTP Messages의 구조와 설명

goal 클라이언트-서버 콘셉트를 이해한다. 브라우저의 작동 원리를 이해한다. Chrome Network Tab을 이해할 수 있다. HTTP messages의 구조를 설명한다. 같이보면 좋을 글 (중복포함) 이전에 작성한 나의 포스팅 - 웹 관련 지식 :) 웹의 동작방식(HTTP, TCP/IP, DNS) 큰 그림, 패킷의 얕은 이해 1. 클라이언트 - 서버 아키텍쳐 2티어 아키텍쳐, 3티어 아키텍쳐가 무엇인가? 나의 포스팅 자료참고 잡다한 기초 :) 컴퓨터 구성 요소 및 동작방식, sw/hw종류, 컴파일과 빌드, 2티어/3티어 아키텍쳐 2. 브라우저의 작동 원리 [1] 클라이언트와 서버 간의 통신 방법 HTTP 1 프로토콜 웹 애플리케이션 아키텍처에서는 클라이언트와 서버가 HTTP 프로토콜로 대화를 나눈..

Spring :) [복습] Spring in Action 2장 - 웹 애플리케이션 개발하기 (컨트롤러, 뷰, 유효성 검사 애노테이션 설정, thymeleaf 등 Restful전반적인 흐름을 다룬 단원)

👨‍👨‍👦‍👦 SpringInAction Group Study [이채민, 권태구, 최재호, 곽현기, 김은철] group - GIT : https://github.com/euncheol-kim/SpringInActionGroupStudy 이채민 님 : https://github.com/CokeLee777 권태구 님 : https://github.com/Hashtae9 최재호 님 : https://github.com/jaero0725 곽현기 님 : https://github.com/nicebyy 김은철 (본인): https://github.com/euncheol-kim 작성자 : 김은철 포스팅과 관련한 2장 git source ch02-컨트롤러뷰생성-유효성검사-thymeleaf GitHub - euncheo..

Spring :) [복습] Spring in Action 1장 - 스프링 살펴보기 (전체적인 큰 틀을 다룬다. 중요함! 목차보고 가자)

👨‍👨‍👦‍👦 SpringInAction Group Study [이채민, 권태구, 최재호, 곽현기, 김은철] group - GIT : https://github.com/euncheol-kim/SpringInActionGroupStudy 이채민 님 : https://github.com/CokeLee777 권태구 님 : https://github.com/Hashtae9 최재호 님 : https://github.com/jaero0725 곽현기 님 : https://github.com/nicebyy 김은철 (본인): https://github.com/euncheol-kim 작성자 : 김은철 목차 스프링이란? 스프링 애플리케이션 컨텍스트Spring Application context [스프링에서 제공하는 cont..

자료구조 :) Stack과 Queue를 이해한다.

goal 자료구조 Stack과 Queue를 이해한다. 자료구조를 공부하는 이유 "극강의 효율 추구" 어떤 언어를 배우던 배열의 개념은 공부하게 되는데, 배열의 개념을 안다는 가정하에 설명을 하겠다. [1, 2, 3, 4, 5] 처럼 숫자가 저장된 배열이 있다고 생각해보자. 그리고 반복문을 이용해 처음부터 탐색을 시작하여 마지막 요소 값을 찾을 것이다. 앞선 배열의 요소의 개수는 5개이니 반복문에 의해서 배열을 총 5번을 탐색하여 마지막 요소를 찾는다. 만약 배열의 요소가 1만개가 되는 상황이면 어떨까? 반복문은 1만번을 탐색하게 될 것이다. 우리의 목적은 마지막 요소를 찾는 것이 목표인데 는 것은 참 아이러니하면서 눈살이 찌풀어지지 않는가? 이러한 예시가 비효율적인 프로그램이라고 할 수 있으며 같은 문제..

java :) Stream[1탄], Stream 왜 배워야 하는가? (Stream을 이용한 코드, 이용하지 않은 코드의 비교)

goal java의 Stream class을 이해한다. Stream 왜 배워야 하는가?? Stream을 사용하지 않은 코드 Stream을 사용한 코드 Stream을 사용하지 않은 코드의 단점 Stream을 사용한 코드의 장점 Stream..너란 녀석 ^^; 난 분명히 java를 배우고 있다. 근데 Stream을 만나고 다른 언어를 배우는 느낌을 강하게 받았다. 이해하기가 힘들어 공부하는 시간이 매우 길어졌고, 지금은 어느정도 이해한 상태이다.(?) 완벽하게 이해하고 있는 것은 아니지만 Stream을 배우며 느낀 것과 사용법을 적어보려고한다. 이번 포스팅은 나에게 의미있는 포스팅이 될 것 같다. 그만큼 힘들었음 Stream, 매력적이면서 신세계를 만난 느낌이다. 처음 Stream을 공부했을 때, 이해가 하..

Java/java 2022.05.23

Spring + SIA 그룹스터디(3장) :) mybatis3 기본 CRUD를 이해한다.

👨‍👨‍👦‍👦 SpringInAction Group Study [이채민, 권태구, 최재호, 곽현기, 김은철] group - GIT : https://github.com/euncheol-kim/SpringInActionGroupStudy 이채민 님 : https://github.com/CokeLee777 권태구 님 : https://github.com/Hashtae9 최재호 님 : https://github.com/jaero0725 곽현기 님 : https://github.com/nicebyy 김은철 (본인): https://github.com/euncheol-kim 작성자 : 김은철 goal jdbc 프레임워크인 mybatis와 Database(mySQL)을 이용해 기본적인 CRUD를 이해한다. myba..

Spring/Spring 2022.05.22

java :) [java1.8 이상] 메소드 레퍼런스... lambda의 적는 매개변수의 개수를 줄이자.

goal java의 메소드-레퍼런스 (Method Reference)를 이해한다. 잠깐 훑어보고 든 생각 .... "굳이?" 쓰는 이유가 람다(lambda)를 조금 더 쉽게 사용하기 위해 사용하고, 명시되는 매개변수를 줄이기 위해 사용한다는데 .... 굳이라는 생각이 든다. 각설하고 좀 알아보기나 하자; p.s) 내가 더 많은 코드를 작성해보면 유용함을 느낄 때가 올려나 1 ] 메소드 레퍼런스 (Method-Reference) 람다(lambda)표현식을 더 간단하게 표현하는 방법이다. 메소드 래퍼런스로 생성되는 객체는 익명 구현 객체이다. 람다(lambda) 표현식을 사용한 익명 구현 객체생성과 사용방법 import java.util.function.IntConsumer; @FunctionalInterf..

Java/java 2022.05.20

java :) lambda가 무엇이고 어떻게 사용하는가?, lambda를 사용하며 들었던 의문 (개념/사용법/의문)

goal java의 lambda를 이해한다. 1 ] 람다(Lambda)의 개념과 기본 사용법 java의 람다는 함수 지향 언어에 가깝다. 람다식의 형태는 매개변수를 가진 코드 블록이지만, 런타임에 익명 구현 객체를 생성한다. 메소드를 하나의 식으로 표현한 것을 의미한다. 람다식은 익명 함수라고도 한다. [1] 람다 사용의 이점 코드가 매우 간결해짐 컬렉션의 요소를 필터링하거나 매핑해서 원하는 결과를 쉽계 집계 맛보기 전형적인 익명 구현 객체의 생성 Runnable runnable = new Runnable() { public void run() {......} } 람다식으로 익명 구현 객체를 표현 Runnable runnable = () -> {...}; [2] 람다식의 기본 문법 기본 사용방법 // 1..

Java/java 2022.05.19

java :) enum, 열거상수(각각의 객체)를 가지는 이넘(enum) 이놈을 이해하자.. 쉽지 아니하다.

goal 열거형 (enum)을 이해한다. 1. enum enum은 서로 연관된 상수들의 집합을 말한다. [1] enum 정의방법 enum 열거형이름 {상수명1, 상수명2, 상수명3...} enum 열거형이름 {상수명1(특정값1), 상수명2(특정값2), 상수명3(특정값3)..} {상수명1, 상수명2, 상수명3}을 열거상수라고 한다. 중요한 것은, 열거상수의 각각은 객체이다. [2] enum 사용예시 기본사용법 enum Week {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} public class When{ public static void main(String[] args) { System.out.println(Week.Monday) /..

Java/java 2022.05.19

java :) collection 프레임워크, collection의 전체 그림/collection의 주요 메소드/List인터페이스 및 구현체 설명/ Set인터페이스 및 구현체 설명

goal 자바의 collection framework 이해 자바의 collection 인터페이스의 주요 메소드 자바의 List 인터페이스의 개념과 설명 자바의 List 구현체 -> ArrayList 클래스 자바의 List 구현체 -> LinkedList 클래스 자바의 Set 인터페이스의 개념과 설명 자바의 Set 구현체 -> HashSet 클래스 자바의 Set구현체 -> TreeSet 클래스 1 ] 자바의 collection framework 1. 개념 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사..

Java/java 2022.05.18

Spring docs :) Spring API documentation 영어 못한게 죄지

Spring-Projects [공식문서] https://spring.io/projects 구글 번역기로 api 문서 번역하는 방법 api docs에 진입하여 원하는 버전을 선택하여 들어간 후, url 뒤에 /overview-summary.html 를 붙여주면 번역이 가능하다. ※ 찾은 방법 뭔가 연결되어 있을 것 같아서 개발자 도구 열어봤더니 src = /overview-summary.html로 연결된 것을 우연히 확인했고 그냥 url 뒤에 붙여봄 1. Spring-framework documentation https://docs.spring.io/spring-framework/docs/ 2. Spring-boot documentation https://docs.spring.io/spring-boot/ ..

java :) Generic 정말 끝내자..? Generic class / Generic method

goal java의 generic에 대해서 이해한다. Generic이란? 제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 파라미터 형태로 지정하면서 데이터 타입을 일반화 한다. 제네릭은 가상의 자료형을 정의함으로써 객체를 정의할 때 타입 매개변수를 선언하여 사용할 수 있다. Generic의 일반적인 표현법 타입인자 설명 Type Element Key Number Value Result Generic의 필요성 제네릭이 등장하기 이전에는 여러 타입을 사용하기 위해서 모든 클래스의 최상위 Object 클래스를 이용해 설계하였다. Object 클래스자체를 이용하는 것이 나쁜것은 아니지만, 기능(함수)를 사용하기 위해서는 수동 타입 변환이 많이 발생하게 되어 코드가 복잡해지고, 개발자의 실수로 잘못된 타입..

Java/java 2022.05.17

java :) collection framework의 순환 Iterator와 ListIterator

goal java의 interface Iterator와 interface ListIterator를 이해한다. 1. java의 interface Iterator java의 Iterator 인터페이스는 collection framework의 요소들을 읽어오는 방법중 하나이다. Iterator 인터페이스는 컬렉션의 요소에 접근할 때 한 방향으로만 이동할 수 있다. public interface Iterator{ boolean hasNext(); E next(); default void remove(){ throw new UnsupportedOperationException("remove"); }; default void forEachRemaining(Consumer

Java/java 2022.05.16

Spring 이론 + SIA 그룹스터디(2장) :) Spring에서 사용하는 Template의 종류와 WAR, JAR에 따른 Template 채택

👨‍👨‍👦‍👦 SpringInAction Group Study [이채민, 권태구, 최재호, 곽현기, 김은철] group - GIT : https://github.com/euncheol-kim/SpringInActionGroupStudy GitHub - euncheol-kim/SpringInActionGroupStudy: SpringInAction 스터디 저장소입니다. SpringInAction 스터디 저장소입니다. Contribute to euncheol-kim/SpringInActionGroupStudy development by creating an account on GitHub. github.com 이채민 님 : https://github.com/CokeLee777 권태구 님 : https://g..

java :) final 키워드, final class/final method/final variable [+ final 변수 초기화 방법의 2가지 (반드시 기억)]

goal java의 final 키워드의 이해 final은 기본적으로 상수 취급 final은 기본적으로 변경을 하지 못하게 한다. final이 쓰인 곳에 따라 조금씩 의미는 달라지는데, 구체적인 내용은 아래와 같다. 위치 의미 공통점 클래스 더 이상 상속할 수 없는 마지막 세대 클래스 변경불가 메소드 오버라이딩 불가 변경불가 변수 값 변경이 불가능한 상수 변경불가 final class FinalClassEx { final int x = 1; // 상수 final int getNum() { final int localVar = x; return x; } } ※ final 클래스 부분에서 약간의 헷갈림이 있었는데, 다른 자식에서 final 클래스를 사용할 수 없다고 이해하자. 단, final 클래스는 다른 클..

Java/java 2022.05.13