전체 글(141)
-
Tactical Design & REST API
✔오늘 배운 중요한 🔑 point상태의 전이는 클라이언트가 서버에 요청을 보내면서 리소스의 상태가 전이되거나 변경하는 과정을 의미한다. 따라서 단순히 데이터를 조회하는 GET 요청이나 데이터를 전송하는 POST 요청은 상태의 전이와 직접적인 관련이 없고 주로 PUT,PATCH,DELETE등의 요청은 리소스의 상태가 변경되기 때문에 상태의 전이와 직접적인 관련이 있다고 할 수 있다.REST API를 사용하는 이유는 HTTP 위에서 API를 통한 통신을 하기때문에 이 HTTP를 최대한 활용하고자 함이고 API만 보고 이 API가 어떤 Command를 수행하는지 쉽게 알기위해서 일반적으로 많이 선택된다 🎯 오늘 배운 내용 기획 및 설계 DDD (Domain Driven Design)우리가 해결하려는 분야..
2024.05.08 -
Spring이란
✔오늘 배운 중요한 🔑 point Spring은 Java 애플리케이션 개발을 위한 강력한 프레임워크로, 다양한 기능과 모듈화된 아키텍처를 제공하여 개발자가 유연하고 확장 가능한 애플리케이션을 쉽게 구축할 수 있도록 하며 의존성 주입(DI)과 제어의 역전(IOC)를 통해 객체지향적인 설계를 촉진하기 때문에 매우 중요하다IOC의 방법 중 하나인 DI를 사용하면 고수준 모듈이 저수준 모듈에 직접 의존하지 않고, 추상화된 인터페이스에 의존하도록 강제되기 때문에 DI는 객체지향 프로그래밍과 매우 잘 어울리는 디자인 패턴 중 하나이며, 객체 간의 결합도를 줄이고 유연한 설계를 가능하게 한다Spring Web Application구조에서 Web Layer가 객체(데이터)를 받으면 Service Layer로 넘겨주..
2024.05.07 -
데이터 타입 런타임 에러
✔오늘 배운 중요한 🔑 point잘못된 배열 인덱스 참조 뿐만 아니라 Int타입 ,Long타입 등 데이터 타입에 따라서도 런타임 오류가 발생하므로 알고리즘을 설계할때 데이터타입 선정에 있어서 신중하게 선택해야한다.🎯 오늘 배운 내용 크기가 작은 부분문자열 알고리즘 문제를 풀다가 런타임 오류 발생 코드 자체가 짧기때문에 오히려 무엇이 문제인지를 찾아내기가 많이 힘들었다..구글링을 해본 결과 대체로 배열의 크기 설정을 잘못했기 때문과 재귀함수로 인한 오류들이 많았는데 나의 경우는 이에 해당하지않았다. 해결 혹시 t와p의 문자열을 .toInt()로 변환할때 int형으로 변환하기에는 값이 너무 커서 문제일까 생각이 들어 Int타입 대신 Long타입으로 변환하니 런타임 오류 없이 해결되었다.Int형은 -2..
2024.05.06 -
(알고리즘) 3진법 뒤집기
신나는 주말!주말에는 간단한 알고리즘 문제를 풀어보자! 🔥알고리즘 문제 문제설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항n은 1 이상 100,000,000 이하인 자연수입니다입출력 예nresult457125229입출력 예 설명입출력 예 #1답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현 45120000217따라서 7을 return 해야 합니다.입출력 예 #2답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현 1251112222111229따라서 ..
2024.05.05 -
(알고리즘) 최대공약수와 최소공배수 구하기
신나는 주말!주말에는 간단한 알고리즘 문제를 풀어보자! 🔥알고리즘 문제 문제 설명두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.제한 사항두 수는 1이상 1000000이하의 자연수입니다. 입출력 예nmreturn312[3,12]25[1,10]420[4,20]입출력 예 설명입출력 예 #1위의 설명과 같습니다.입출력 예 #2자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 내가 작성한 코드 fun soluti..
2024.05.04 -
공간 복잡도
✔오늘 배운 중요한 🔑 point시간 복잡도가 알고리즘이 실행되는 시간에 따른 효율성을 뜻한다면 공간 복잡도는 알고리즘을 실행시키고 완료까지 사용한 공간의 양을 뜻한다공간 복잡도의 경우 메모리가 부족한 경우에는 상대적으로 저렴한 비용으로 해결이 가능하지만 시간 복잡도의 경우 시스템의 성능이 느려지는 경우에는 비싼 비용이 필요하기 때문에 상대적으로 공간 복잡도 보다는 시간 복잡도의 중요성이 더 크다🎯 오늘 배운 내용 공간 복잡도프로그램을 실행시키고 완료까지 사용한 공간의 양을 뜻하며 Big-O 표기법을 그대로 사용한다 공간 복잡도 평가고정 공간 요구: 알고리즘이 실행되는 동안에도 항상 필요한 고정된 공간이 있는지 확인 (변수, 상수, 배열 등의 메모리 공간을 할당하는 고정된 요구 )가변 공간 요구: ..
2024.05.03