들어가며 스프링이란? 의존 주입(Dependency injection: DI) 지원 AOP(Aspect-Oriented Programming) 지원 MVC 웹 프레임워크 제공 JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원 이외에도 스케줄링, 메시지 연동(JMS), 이메일 발송, 테스트 지원 등 자바 기반의 앱을 개발하는데 다양한 기능을 제공해주는 프레임워크이다. 스프링에 관련된 프로젝트는 다양하다. 이중에 자주 사용되는 것은 다음과 같다. 스프링 데이터: 적은 양의 코드로 데이터 연동을 처리할 수 있도록 도와주는 프레임워크 스프링 시큐리티: 인증/인가와 관련된 프레임워크로서 웹 접근 제어, 객체 접근 제어, DB · 오픈ID · LDAP 등 다양한 인증 방식, 암호화 기능을 제공 스프..
18. 홀짝 연결리스트 https://leetcode.com/problems/odd-even-linked-list/ Odd Even Linked List - LeetCode Odd Even Linked List - Given the head of a singly linked list, group all the nodes with odd indices together followed by the nodes with even indices, and return the reordered list. The first node is considered odd, and the second node is even, and so on. N leetcode.com 📌문제 연결 리스트를 홀수 노드 다음에 짝수 노드가 오도..
왜 6-7주차냐면 6주차에 푼 문제인데 7주차에 복습을 하기로 해성ㅋ 이 문제 때문에 아이패드를 꺼냈다. 난 집념의 K국가 시민. 깨달음을 얻었다. 17. 페어의 노드 스왑 https://leetcode.com/problems/swap-nodes-in-pairs/https://leetcode.com/problems/add-two-numbers/ Add Two Numbers - LeetCode Add Two Numbers - You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a sin..
https://memodayoungee.tistory.com/39 5주차. 연결 리스트(두 정렬 리스트의 병합) 14. 두 정렬 리스트의 병합 https://leetcode.com/problems/merge-two-sorted-lists/ Merge Two Sorted Lists - LeetCode Merge Two Sorted Lists - You are given the heads of two sorted linked lists list1 and list2. Merge the two lists in a one sorted list memodayoungee.tistory.com 복습했던 문제. 때는 바야흐로 12일. 팀원 모두가 "연결 리스트" 라는 난관에 봉착했다. 백준 문제는 돌아가며 풀이했지만, ..
16. 두 수의 덧셈 https://leetcode.com/problems/add-two-numbers/https://leetcode.com/problems/add-two-numbers/ Add Two Numbers - LeetCode Add Two Numbers - You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may as leetcode.c..
1406. 에디터 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 📌문제 - 예제1 📝입력 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수를 나타내는 정수 M(1 ≤ M ≤ 500,000)이 주어진다. 셋째 줄부터 M개의 줄에 걸쳐 입력할 명령어가 순서대로 주어진다. 명령어는 위의 네 가지 중 하나의..
1874. 스택수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 📌문제 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다..
나: 이제 슬슬 스프링 공부를 해볼까 ~ ???: 어림없지! could not install gradle distribution from 'https://services.gradle.org/distributions/gradle-7.4.1-bin.zip'. the cached zip file Could not create parent directory for lock file C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.2\jbr\wrapper\dists\gradle-7.4.1-bin\58kw26xllvsiedyf3nujyarhn\gradle-7.4.1-bin.zip.lck https://start.spring.io/ 사이트에서 프로젝트를 만들어 빌드 했을 때, 마..
이전과 같이 노션으로 공유합니다. [스프링 입문을 위한 자바 객체 지향의 원리와 이해]라 쓰고 자바라 부른다... 자바를 배우는 느낌이 강해서 내가 쓴 정리본은 중요한 부분을 복붙했다고 보면 된다. 다시한번 자바와 객체지향에 대해 리마인드 하는 기분이라 불필요한 시간은 아니었다. Chapter1. 사람을 사랑한 기술 https://www.notion.so/Chapter1-842f30e8e3c446fd8258cd8c9dcc681e?pvs=4 Chapter1. 사람을 사랑한 기술 기계어에서 객체 지향 프로그래밍 언어로 www.notion.so Chapter2. 자바와 절차적/ 구조적 프로그래밍 https://www.notion.so/Chapter2-ed3b6a5a903346249cf70c2b23bf2070?..
데코레이터(Decorator): 구조패턴 어떤 객체에 책임(기능)을 동적으로 추가하는 패턴, 기본 기능을 가지고 있는 클래스를 하나 만들고, 상속과 합성을 이용하여 추가할 수 있는 기능들을 추가하기 편하도록 하는 설계 💡 프록시 란? 클라이언트가 사용하려고 하는 실제 대상인 것처럼 위장해서 클라이언트의 요청을 받아주는 것, 대리자와 대리인 같은 역할을 한다. 타깃과 같은 인터페이스를 구현하며, 프록시가 타깃을 제어할 수 있다. 접근을 제어하거나 부가기능을 추가할 수 있다. 패턴의 이름처럼 객체에 장식을 얹듯 다른 기능까지 추가하는 패턴을 말한다. 여기서 동적으로 추가할 때는 보통 특정 객체를 결합하는 방식을 사용한다. 데코레이터 패턴은 타깃에 부가적인 기능을 런타임 시 다이나믹하게 부여해주기 위해 프록시..