전체 글

Spring/개념

[Spring] Spring MVC와 스프링의 동작 원리

Spring MVC Spring MVC: Spring에서 제공하는 웹 모듈. 웹 프레임워크의 한 종류로 MVC는 Model-View-Controller의 약자이다. Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크이며 서블릿 기반으로 동작한다. MVC 패턴을 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 실행되는 비즈니스 로직을 서로 영향 없이 유지보수할 수 있도록 개발할 수 있다. Model Spring MVC 기반의 웹 애플리케이션이 클라이언트의 요청을 전달받으면 요청 사항을 처리하기 위한 작업을 한다. 이렇게 처리한 작업의 결과 데이터를 클라이언트에게 응답으로 돌려줘야 하는데, 이때 클라이언트에게 응답을 돌려주는 작업의 처리 결과 데이터..

CodeStates

[SEB BE 44] 코드 스테이츠 Pre Project 후기

코드스테이츠 Pre Project 후기 끝났어요 .. ? 드디어 끝났어요 ..? 그럼 저 자도 될까요 ..? ???: 응 내일 메인 프로젝트 시작이야 ~ Team name: Rainbow Project: Stackoverflow Clone Coding Development Duration: 2023.06.14~2023.06.26 Git Hub URL: https://github.com/dayoungee/stackoverflow-clone-coding 길면 길다고 느껴지고, 막상 하다보니 짧다고도 느껴지는 프리 프로젝트 기간이 끝났다... 컴퓨터 앞에 12시간 이상은 앉아 있었던 것 같다. 하도 타자를 두드리고 마우스 클릭질을 하다보니까 오른쪽 중지가 아프기도 했다. 주말은 쉬었지만,, 평일 내내 정신없는..

Spring/개념

[Spring] CGLIB

CGLIB CGLIB(Code Generator Library): 코드 생성 라이브러리로서 런타임에 동적으로 자바 클래스의 프록시를 생성해주는 기능을 제공한다. 인터페이스가 아닌 클래스에 대해서 동적 프록시를 생성할 수 있다. CGLIB는 Spring AOP를 공부하면서 들었던 개념이었다. Spirng에서 AOP를 적용할 때 런타임시 프록시를 생성한다. 이때 인터페이스 기반은 JDK Dynamic Proxy로 클래스 기반은 CGLIB를 사용한다. Spring Boot에서는 CGLIB를 사용하고 있다. CGLIB는 타겟에 대한 정보를 직접적으로 제공 받아 바이트 코드를 조작하여 프록시를 생성한다. 때문에 리플렉션을 사용하는 JDK Dynamic Proxy에 비해 성능이 좋다. 또한 CGLIB는 메소드가 처..

Spring/개념

[Spring] Annotation

Annotation Annotations, a form of metadata, provide data about a program that is not part of the program itself. Annotations have no direct effect on the operation of the code they annotate. -https://docs.oracle.com/javase/tutorial/java/annotations/- Annotation: 사전적 의미로는 주석이라는 의미이다. 자바에서는 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종이다. 따라서 단순 주석 기능을 하는 것이 아닌 특별..

CodeStates

[SEB BE 44] Section 4 회고록

코드스테이츠 백엔드 과정 Section 4 후기 불타다 못해 증발해버린 나 KPT를 기반으로한 개인 회고 목표 상기하기 Keep, Problem 작성하기 Try 작성하기 우선순위 정하기 KPT가 무엇인지는 이쪽 블로깅 참고~ https://memodayoungee.tistory.com/112 [SEB BE 44] Section 2 회고록 코드스테이츠 백엔드 과정 Section 2 후기 ??: section2부터는 열심히 할거야! 1시간 후 ?? : 드르렁 ~ 선천적으로 잠이 드럽게 많은 나. 오후에 몰아치는 잠을 버틸 수 없었다.. 낮잠 잘 시간에 스프링 memodayoungee.tistory.com Section4 KPT Keep 7시 이후부터 꾸준히 개인공부하기 토이프로젝트 + 포트폴리오 사이트 재정..

Spring/개념

[Web] HTTP 웹 기본

IP란? IP(Internet Protocol): 인터넷이 통하는 네트워크에서 어떤 정보를 빠르게 수신하고 송신하는 통신에 대한 규약 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다. 비신뢰성: 인터넷 망의 문제가 생기면 중간에 패킷이 사라질 수 있으며, 패킷이 순서대로 오지 않을 수도 있다. IPv4 VS IPv6 IPv4는 널리 사용되는 IP 주소로, 32비트의 값을 가진다. 보통 8비트씩 끊어 이를 0~255의 10진수 숫자로 나타내며, 각 숫자는 점(.)으로 구분한다. IPv6는 주소체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소이다. 16비트씩 8자리로 각 자리는 콜론으로 구분한다. 네트워크 속도, 보안적인 부분뿐만 아니라 여러 면에서 뛰어나지만 기존의 주..

DevOps

[GitActions] Error: Gradle script '/home/runner/work/' is not executable.

깃허브 액션으로 CI하는 중 발생한 오류. 구글링해서 찾아보니 권한문제라고 한다. 파일을 실행할 수 있는 권한이 없다는 것이 문제였다. 해결법은 의의로 간단했다. git update-index --chmod=+x gradlew 에러가 발생한 프로젝트의 gradlew 파일의 권한 설정을 다시 해주고 그대로 Push 빌드 성공! Reference https://spacetech.dk/error-gradle-script-home-runner-work-gradlew-is-not-executable.html

Algorithm/PTUStudy

16주차. 접미사 배열

11656. 접미사 배열 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 📌문제 - 예제1 📝입력 baekjoon 💻출력 aekjoon baekjoon ekjoon joon kjoon n on oon 📌풀이 168ms 17788kb import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; public class Main { public static void m..

Algorithm/PTUStudy

16주차. 네 수

10824. 네 수 https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net 📌문제 - 예제1 📝입력 pulljima 💻출력 8 📌풀이 128ms 14276kb import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { Buffered..

Algorithm/PTUStudy

16주차. 그래프(조합)

35. 조합 https://leetcode.com/problems/combinations/ Combinations - LeetCode Can you solve this real interview question? Combinations - Given two integers n and k, return all possible combinations of k numbers chosen from the range [1, n]. You may return the answer in any order. Example 1: Input: n = 4, k = 2 Output: [[1,2],[1,3 leetcode.com 📌문제 전체 수 n을 입력 받아 k개의 조합을 리턴하라. - 예제1 📝입력 n = 4, k = 2 💻..

지구우중
개발 메모용 블로그