2025/05 16

[커널아카데미] 백엔드 12기 9주차 - 실습 또 실습, 정리 또 정리

이번 주는 무슨 일을 했는가? 이번 주는 Spring을 본격적으로 나가면서 Web에 대한 이해도를 높이는 시간을 가졌다. Spring Boot는 공부한 적이 있지만, 항상 뭔가 생략된 것이 많아서 Web에 대한 이해들 높인다기 보다는 따라하는 느낌이 들었다. Spring 강의를 들으면서 기본적이 Web의 동작 원리를 집중하는 한 주가 되었다. # 실습 또 실습처음에는 Tomcat 내부 구조와 break point를 걸어 디버깅을 통해 어느 함수가 호출되는지 확인하는게 낯설어서 어렵게 다가왔다. 강사님께서 이해가 안되어도 실습을 하다보면 이해가 되니 실습을 매우 많이 하시라해서, 아래 사진처럼 같은 내용인데도 파일 여러개 만들어 실습을 진행했다. 한 비슷한 걸 10번 정도 쳐보니 한번 시도할 때마다 '이..

회고 2025.05.25

[Spring] Ch02. Spring MVC - (1) 원격 프로그램 (2) HTTP 요청과 응답(3) 클라이언트와 서버 (4) 텍스트와 바이너리, MIME, Base64

원격 프로그램 실행로컬 프로그램java Main자바 인터프리터(java.exe)가 main() 호출static 메서드이므로 객체 생성없이 호출 가능원격 프로그램⭕정의다른 컴퓨터의 프로그램을 실행하는 것. (클래스)특징보안 중요장점저장공간 문제 해결 - 내 컴퓨터에 프로그램 설치 필요 없음.프로그램 업데이트 문제사용방법 ( 서버의 프로그램 실행방법)원격 호출 가능한 프로그램으로 등록 (= 허용된 프로그램만 외부에서 호출할 수 있게)URL과 프로그램을 연결메서드 이름이 중요하지 않음애너테이션이 중요url과 연결된 메서드를 호출프로그램 호출프로그램 (클래스)등록@Controller 애노테이션을 클래스 앞에 붙임@Controllerpublic class Hello {...} URL과 프로그램 연결호출하려는 메서..

Web/Spring 2025.05.25

[Spring] Ch01. Spring 시작하기

Spring Framework 역사Servlet ⇒ JSP ⇒ Spring ⇒ Spring Boot applet 작은 Application ( 1995)브라우저에서 자동으로 작은 프로그램을 다운 받아 브라우저에서 프로그램을 실행하는 것let 작다Flash 탄생으로 지지부진EJB (1999) EnterpriseCGI 멀티 스레드 불가. 요청이 올 때마다 프로세스 생성. 사용자 요청 처리 어려움→ Java Servlet 멀티 스레드 지원Servlet가 JSP로 발전 ( 같다)대기업은 사용자가 많음. EJB 복잡Spring (2004)웹 폭발적 성장 시기 → 웹사이트 수가 증가 → 유지 보수 문제 → Framework 탄생Framework 장점유지보수생산성 높음Spring Boot (2014)Spring 경량..

Web/Spring 2025.05.25

[Web] HTML, CSS

HTMLWeb ⭕ 면접. 암기리소스들의 집합리소스(콘텐츠) 간의 연결웹 브라우저로 볼수 있는 것특징물리적인 망(인터넷)을 통해 운반되는 데이터웹 브라우저를 통해 보여주는 것이 웹리소스 - 콘텐츠컴퓨터 안에 리소스 존재리소스 = 파일 (html, css), 이미지, 텍스트,동적 리소스 오디오, 비디오종류 ⭕ 면접. 동적, 정적 리소스 차이점동적인 파일 : 내용이 바뀌는 것브로드 캐스팅한쪽에서 write → 파일 → Read 계속 읽음 한쪽에선프로그래밍(실행해주는 것이 필요.)정적 파일 : 내용이 바뀌지 않는것파일 전송만 하면됨. 웹 브라우저웹(리소스)을 보여주는 것브라우저 돌아다니며 보여주는 것인터넷인프라.인터넷 위에 웹이라는 콘텐츠가 돌아다님웹서버 웹 콘텐츠는 웹서버가 소유하고, 그 리소스를 공유한다.웹..

Web 2025.05.25

[커널아카데미] 백엔드 12기 8주차 - 생소한 내용 받아들이기, 들어본 건 아는 것이 아님

# 생소한 내용 받아들이기이번 주는 SQL 튜닝을 위주로 진도를 나갔다. 수업을 들으면서 각 챕터를 나갈 때는 이런 튜닝 방법이 있음을 인지했지만, 이를 실제로 튜닝해보라 하면 적재적소에 맞게 쓸 수 있지 못할 것 같았다. 그래서 챕터별 그날 배운 내용을 이해가 안가도 정리를 하면 반복하면서 납득과 이해를 더해 나가야겠다는 생각이 들었다. # 원리를 아는 것이 중요목, 금요일에 HTML, CSS 진도를 나가고, Spring 진도를 조금 나갔다. 이전에도 HTML, CSS를 배울 때 Position에 대한 이해가 어려워서 결국 이해를 못한채로 레퍼런스 참고해서 구현한 적이 있었다. 이번 수업에서 브라우저의 렌더링 방식의 layout과 painting을 알려주셨다. position의 속성이 layout을 ..

회고 2025.05.18

[SQL튜닝] Ch01. SQL 처리 과정과 I/O

SQL 파싱과 최적화SQL 특징 ⭕ 암기 구조적 집합적 선언적 select * from s_emp cf. 람다 스트림 - 명령적 for( s_emp) print 선언과 명령의 차이 선언적 : 어떤 데이터를 가져올지만 명시 명령적: 어떤 데이터(what)를 어떻게(how) 가져올지 명시 SQL 최적화 ⭕ 암기SQL을 실행하기 전에 진행됨 SQL 파싱 SQL 파싱 트리 생성 SQL 최적화 통계 정보 바탕으로 가장 효율적인 방법 선택 로우소스 생성 실행 경로를 실행 가능한 코드 or 프로시저로 변환 최적화 종류 Rule Base 안씀 Cost Base 통계기반 실행 계획통계 정보로..

Database 2025.05.18

[Modeling] Ch03. 논리 모델링

데이터 모델링의 설계 단계의 논리적 모델링에 대해 다루겠다. 논리적 모델링의 핵심 키워드 및 암기 사항- 논리적 모델링 특징 : 업무적 상세함- 엔티티 정의 : 엔티티 종류 5개, 행위 엔티티 유형 4가지, 이력 엔티티의 관리 분류 기준,- 관계 정의 : 관계 종류 -2, 관계 중요 구성 -3- 속성 정의 : PK 특성 4가지, PK, FK 정의 및 기능, 인조 식별자 사용 상황 -4 논리적 모델링엔티티 도출 및 정의 ⇔ Class관계 도출 및 정의 ⇔ Relationship속성 도출 및 정의 ⇔ iv ( iv의 타입, 이름, 제약조건)특징명확, 구체적시스템 측면에서 명확하다cf. 개념 모델링 : 개략, 업무 중심이기 때문.개념 모델링과 논리 모델링 사이를 계속 왔다갔다 함.엔티티 도출 및 정의핵심..

Database 2025.05.18

[Modeling] Ch02.개념 모델링

데이터 모델링 전과정 ⭕ 암기 분석현행 분석 AS IS (있는 그대로)현행 업무 분석현업 담당자와 협업 (우선)문서 ex. 업무 지침서, 과거 프로젝트현업 담당자와 일을 못하는 경우 문서를 통해 빠른 모델링 후 현업 담당자에게 피드백 받기현행 데이터 분석리버스 모델링(추가) 요구사항 정의현업 담당자와 인터뷰미래 계획 수립 TO BE설계 -2 개념적 모델링 -2주제 영역 정의핵심 엔티티 정의논리적 모델링 -3엔티티 정의관계 정의속성 정의 (iv, 타입, 이름)구현물리적 모델링리버스 모델링 정의테이블(물리 DDL코드 )로부터 ERD(논리)를 생성하는 것.현행 분석의 업무 데이터 분석 단계의 방법논리 ← 물리논리 : 한글 컬럼. 자세함물리 : 영어 컬럼. 컬럼명이 짧고 간결.단점엔티티간 관계 파악 어려움FK..

Database 2025.05.12

[Modeling] Ch01. 데이터 모델링 이론

데이터 모델링데이터 모델을 만드는 것.실제 업무를 분석해서 테이블을 그루핑하고 테이블과 관계를 맺어주기실제 업무를 본뜻 것데이터 모델그룹화 (테이블) iv관계 (Relationship) 줄긋기모델링모델을 만드는 것 모델실제(업무)를 관찰하여 본떠 만든것진짜가 아닌 이상적, 가상적인 것.ex. 패션 모델, 모델 하우스, 프라모델OOP와 유사.관찰 분석(개념 설계) → 설계(논리 설계) → 구현(물리 설계)개념설계 : 업무 분석 (개념 모델링)논리 설계 : 이상적 설계모든지 가능하다고 판단하고 이상적으로 설계물리 설계 : 현실적 설계개념 설계, 논리 설계가 중요. 물리설계는 기술적 요소 고려해야함.DB 모델링설계테이블관계Table(그룹)을 설계그룹(테이블)을 만들고 관계를 맺어줌데이터모델 종류개체 관계 모델..

Database 2025.05.12

[커널아카데미] 백엔드 12기 7주차 - 나만의 방식으로 정리, 이해못해도 정리

Intro이번 주는 SQL과 튜닝, 모델링의 연속으로 실습, 정리만 반복했다. 그래서 자바 복습에는 소홀히 했다. 그래도 실시간 진도를 따라가서 수업 듣는 것이 이해가 잘 되었다. 이번 주 공부하면서 느낀 것과 정리한 내용들이다. # 사용 상황을 잘 아는 것이 중요SQL을 배우면서 느낀 점은 사용 상황을 명확히 아는 것이다. 무엇을 잘 사용한다라는 것은 상황에 맞게 자원을 효율적으로 사용할 수 있는 방법을 택하는 것이다. 강사님이 언제 뭘 써야하는지 정리해주신걸 암기하니 문제 풀이할 때나 궁금증이 생길 때 응용이 잘 된다. 예를 들면 '인덱스 사용할 수 없는 상황', 'Outer Join은 '담당 직원이 배정되지 않은 고객', 고객이 배정 안된 노는 직원' 볼때, 없는 걸 결과에 볼때 씀' 과 같다. ..

회고 2025.05.11