[스프링 코어] 스프링을 알기 전에! 프레임워크(Framework)는 무엇일까요?
개발/Spring&JPA
/ 2022. 6. 15.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘부터 자바 기반의 프레임워크인 스프링에 관련한 내용들을 정리하려고 합니다. 스프링은 현재 다방면으로 활용되고 있는 기술입니다. 저 또한 이전에 스프링을 활용하여, 웹 서버를 개발한 경험이 있는데요. 아직 지식이 부족함에도 불구하고, [JPA, Servlet, JDBC]를 사용할 때보다 더 많은 편리함을 느꼈습니다. 과장해서 신세계를 경험했다고 해도 과언이 아닙니다. 위 같은 경험을 바탕으로 스프링의 필요성을 느꼈는데요. 그래서 이제는 이론적인 부분을 정확하게 습득하고, 기록하려고 합니다. 1. Framework는 무엇일까? 스프링에 대해서 정리하는데, 갑자기 프레임워크에 대해서 물어보는 이유는 무엇일까요? 그 이유는 스프링은 스프링 프레임워크(Spring ..
[TIL] Daily Coding 회고 - 문자열
개발/DS&Algorithms
/ 2022. 6. 13.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 코드스테이츠에서 제공하는 문제에 대해 회고하려고 합니다. 이수하고 있는 교육에서 매일 한 개씩 코딩 문제를 풀고 있습니다. 날이 지날수록 난이도가 점점 올라가 어려워지고 있는데요. 그중 오늘 푼 문제는 저의 아이디어로 풀기는 했으나, 레퍼런스의 풀이 방식을 오래 기억하고 싶어 이렇게 기록합니다. * 문제의 자세한 내용은 공유하지 않습니다. 내가 푼 풀이 public static String readVertically(String[] arr) { // TODO: String result = ""; int newStrLength = 0; for(int i = 0; i < arr.length; i++) { newStrLength += arr[i].length..
[백준] 스택 수열_1874_자바
개발/DS&Algorithms
/ 2022. 6. 11.
스택 수열 (1874) 이번 포스팅은 백준의 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]을 얻을 수 있다. ww..
[백준] 수 정렬하기 3_ 10989_자바
개발/DS&Algorithms
/ 2022. 6. 7.
10989 Java - 수 정렬하기 3 이번 문제는 카테고리에 해당하는 [수 정렬하기 3] 입니다. 문제의 입출력을 보았을 때는 그렇게 어려운 문제는 아닙니다. 하지만 메모리와 시간제한이 타 문제보다 까다로운데요. 이 때문에 저도 문제를 풀면서 많은 고민을 하게 되었습니다. https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 수 정렬하기3 문제를 딱 보자마자, 다양한 정렬 알고리즘을 사용하여 풀면 되겠다고 생각했습니다. 하지만 생가보다 메모리와 시간제한이 크게 ..
[알고리즘] 그래프(Graph) 알아보기
개발/DS&Algorithms
/ 2022. 5. 28.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘 알아볼 내용은 그래프(Graph) 입니다. 먼저 그래프란 이름을 들으니 무엇이 떠오르나요? 대부분의 사람들은 위 그림과 같은 모습을 생각할 것입니다. 오늘 포스팅할 그래프는 마치 복잡한 네트워크처럼 그물망으로 이루어진 자료구조입니다. 위 그림과는 다른 형태죠. 이제 아래에서 자세하게 알아보도록 하겠습니다. 1. 그래프(Graph)란? 위에서 언급했듯이 그래프(Graph)는 어떠한 정점들을 그물망처럼 연결하여 나타낸 자료구조입니다. 그래프에 대해서 쉽게 이해할 수 있도록 먼저 용어를 알아보겠습니다. 1) 그래프의 용어 정점(Vertex) : 하나의 점을 의미합니다. 또는 위치가 될 수 있습니다. 위에 자료구조 그래프 예시에서 주황색 원에 해당합니다. 정점을..
[JAVA 파헤치기] 제네릭(Generic) 완벽 정리
개발/Java
/ 2022. 5. 22.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 자바의 제네릭(Generic)에 대해서 포스팅하도록 하겠습니다. 제네릭은 알고있으면 굉장히 유용한 개념인데요. 이는 우리가 만드는 클래스 또는 메서드를 다양하게 활용할 수 있도록 만들어주는 방법입니다. 아래에서 자세하게 알아보도록 하겠습니다. 목차 1. 제네릭(Generic)은 무엇일까요? 2. 타입 매개변수 3. 제네릭 메서드 1. 제네릭(Generic)은 무엇일까요? 제네릭 : 클래스 내부에서 사용할 데이터 타입을 외부에서 파라미터 형태로 지정하면서, 데이터 타입을 일반화한 것입니다. *참고 사전적 의미는 "일반적인"입니다. 제네릭은 클래스 및 인터페이스 이름 뒤에 '' 안에 타입 파라미터를 넣어 작성합니다. public class 클래스명{...}..