분류 전체보기
-
[OOP 디자인 패턴 : 두번째 생성패턴] 싱글톤 패턴 (Singleton pattern)프로그래밍/기타 2023. 5. 21. 13:18
객체 생성 객체 생성이란 선언된 클래스에 따른 객체를 메모리에 할당하는 동작 new 키워드를 통해 반복생성 할 수 있다 class Hello { public String greeting() { return "안녕하세요"; } } // 객체 생성 Hello obj = new Hello(); 클래스를 이용해 동일한 객체를 무제한으로 생성 가능하다! 싱글톤 패턴 싱글톤은 하나의 객체만 생성하도록 제한하는 패턴 생성된 객체는 공유되어 어디서든 접근이 가능하다 공유 자원 접근, 복수의 시스템이 하나의 잡원에 접근, 유일한 객체가 필요, 값의 캐시가 필요할 때 등등 사용된다. 싱글턴 설계 public class Config { private static Config instance; private Config() ..
-
[OOP 디자인 패턴 : 첫번째 생성패턴] 팩토리 패턴프로그래밍/기타 2023. 5. 15. 23:44
생성 패턴 객체 간 강력한 결합 관계를 느슨한 결합으로 변경하는 설계 기법 느슨한 결합으로 변경된 객체는 확장을 보다 유연하게 하고 유지보수를 편리하게 한다. 팩토리 패턴 생성 패턴 중에서도 가장 기본이 되는 패턴! 클래스의 객체 생성 처리를 위임한다. Hello 클래스는 인사말을 출력하는 간단한 코드다. class Hello { public String greeting() { return "안녕하세요"; } } "안녕하세요"를 한국어 클래스로 분리한다. class Korean { public String text() { return "안녕하세요"; } } class Hello { public String greeting() { Korean kor = new Korean(); return kor.text..
-
[Docker] (해결완료) 도커 컴포즈 up 실행시 ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network 에러프로그래밍/기타 2022. 12. 1. 16:18
에러 상황 docker-compose.yml 파일을 띄우려고 하니 다음과 같은 에러가 발생했다. ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network 해결방법 docker network prune 'docker network prune' 명령어로 사용하지 않는 네트워크를 싹 날려주면 된다 ^,^
-
[백엔드 로드맵🐖] 터미널, 쉘, 커널스터디/백엔드 로드맵 2022. 11. 28. 21:51
터미널? 컴퓨터를 직접 제어하기 위해 사용하는 소프트웨어를 의미한다. CLI 방식(텍스트 기반)으로 사용하고자 하는 기능의 명령어를 입력해야 한다. 사용자가 컴퓨터를 조작하기 위해 명령어를 터미널에 입력하면, 터미널은 쉘의 stdin으로 문자를 보낸다. 쉘이 해당 명령어를 해석하고 커널이 이를 실행하는 구조이다. 쉘? 터미너를 사용하기 위한 소프트웨어 환경 키보드 입력과 명령을 실행할 수 있고, 디렉토리와 파일 관리 기능을 지원해준다. 쉘은 커널과 사용자의 사이에 존재한다. 사용자가 커널을 사용하기 위해 명령어를 입력하면 커널이 읽을 수 있는 이진코드로 해석해준다. 커널? 커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것을 의미한다. 커널은 OS의 핵심이며..
-
[🥰 leetcode] 692. Top K Frequent WordsAlgorithm/1일 1코테 2022. 10. 19. 12:51
https://leetcode.com/problems/top-k-frequent-words/ Top K Frequent Words - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 리스트 안에 가장 많이 존재하는 단어순 && 갯수가 같은 경우엔 사전순 정렬을 기준으로 k개를 뽑아내는 문제 나의 풀이 class Solution: def topKFrequent(self, words: List[str], k: int) -> List[str]: # 중복없는 set 생성..
-
[🥰 leetcode] 1328. Break a PalindromeAlgorithm/1일 1코테 2022. 10. 18. 11:28
https://leetcode.com/problems/break-a-palindrome/ Break a Palindrome - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 팰린드롬 문자열을 단 한가지의 문자만 바꾸어 팰린드롬이 아니면서 && 사전식 순서에서 가장 작은 값으로 만드는 문제 예를 들어 abccba => aaccba 나의 풀이 class Solution: def breakPalindrome(self, palindrome: str) -> str: # ..
-
[🥰 leetcode] 53. Maximum SubarrayAlgorithm/1일 1코테 2022. 10. 14. 21:39
https://leetcode.com/problems/maximum-subarray/ Maximum Subarray - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 최댓값이 될 수 있는 연속 서브 배열을 찾아라! 나의 풀이 def maxSubArray(self, nums: List[int]) -> int: dp = [0 for _ in range(len(nums))] for i, n in enumerate(nums): # 맨 처음 값이 경우 값 넣고 끝~!~~..
-
[😭 leetcode] 976. Largest Perimeter TriangleAlgorithm/1일 1코테 2022. 10. 12. 11:57
https://leetcode.com/problems/largest-perimeter-triangle/ Largest Perimeter Triangle - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 삼각형의 세 변의 길이 합 중 가장 큰 값을 찾는 문제 easy라며... easy라며...!!!! 나의 시도... import itertools class Solution: def largestPerimeter(self, nums: List[int]) -> int..