'분류 전체보기' 카테고리의 글 목록 (29 Page)
본문 바로가기

분류 전체보기

(243)
[Java] Garbage Collection 가비지 컬렉션(Garbage Collection) 이해하기모든 객체는 메모리와 같은 시스템 리소스를 사용합니다. 더 이상 필요하지 않은 경우, 이러한 리소스를 시스템에 반환할 수 있는 체계적인 방법이 필요합니다. 그렇지 않으면 "리소스 누수(resource leaks)"가 발생할 수 있습니다.JVM과 자동 가비지 컬렉션JVM(Java Virtual Machine)은 더 이상 사용되지 않는 객체가 차지한 메모리를 회수하기 위해 자동 가비지 컬렉션을 수행합니다. Java 객체는 프로그램에 할당된 메모리 섹션인 힙(Heap)에 생성됩니다. 객체가 더 이상 필요하지 않을 때, 가비지 컬렉터는 이러한 사용되지 않는 객체를 찾아 추적하고 메모리를 확보하기 위해 삭제합니다. 가비지 컬렉션 없이는 힙이 결국 메모리 부..
무엇이 개발자를 생산적으로 만드는가 무엇이 개발자를 생산적이게 만드는가 많은 요소가 개발자 생산성에 영향을 미침 일부는 명확하고 측정하기 쉽지만, 다른 것들은 측정하기 어려워서 놓치는 경향이 있음 뭘 만들어야 하는지 알기(Knowing what to build) 잘못된 것을 빨리 만드는 것은 전혀 생산적이지 않음 고객이 뭘 요구하는지를 알고, 다른 팀들이 수용가능한 것이 무엇인지 알고(DB 테이블에 몇개의 인덱스가 가능한가, 법적으로 허용되지 않는 정보를 공유가능한가?), 이전에 시도했지만 효과가 없었던 것이 무엇인지 알아야함 더 적은 일을 하기 일을 빨리 완료 하는 것은 좋지만, 아예 "하지 않아"도 되는 것이 더 좋음 회사의 프로세스는 생산성을 떨어뜨리는 "바쁜 업무"를 추가할 수 있음 가끔은 훨씬 적은 작업으로 동일한 가치를 제공하도..
[완전 탐색] 프로그래머스 level 1 최소직사각형 python 풀이 무식해 보여도 사실은 최고의 방법일 때가 있지요. 완전 탐색? 모든 가능한 경우의 수를 시도하여 원하는 결과를 찾는 알고리즘 기법. 브루트 포스(Brute Force)라고도 함. 경우의 수가 많거나 입력 크기가 큰 경우에는 계산 비용이 높아질 수 있다. 완전 탐색은 작은 규모의 문제나 기준이 명확한 경우에 유용함. 해결 흐름 1. 가로나 세로 중에서 가장 큰 값이 다음 직사각형의 가로나 세로 값보다 작으면 교체 -> 즉 가장 큰 값을 찾아야함 2. 만약 가로 값이 가장 큰 값 일때, 세로 값도 다른 직사각형의 세로 값보다 커야함 -> 즉 작은 값들중 가장 큰 값을 찾아야함 3. 직사각형들 중에서 하나의 직사각형 가로나 세로중 더 큰 값들 중에 가장 큰 값 * 작은 값들 중에서 큰 값 코드 def solu..
[Hash] 프로그래머스 level 1 폰켓몬 Java 풀이 Hash란? Hash는 임의 크기의 데이터를 고정 크기의 값으로 변환하는 함수 또는 알고리즘을 의미 HashSet? HashSet은 중복되지 않는 고유한 값을 저장하기 위한 자료 구조 해결 흐름 1. int[] nums의 중복 요소를 제거하고 그 길이를 리턴 -> HashSet 사용 2. nums/2 개 만큼 폰켓몬을 데려갈 수 있는데 nums/2 크기가 HashSet의 크기보다 작다면 최대 종류 별로 nums/2 까지 밖에 못 데려감 -> nums/2 리턴, HashSet 크기가 nums/2 보다 작다면 HashSet 크기 리턴 입출력 예 nums, result [3,1,2,3] 2 [3,3,3,2,2,4] 3 [3,3,3,2,2,2] 2 코드 import java.util.*; class Soluti..
한글코드 관련 자료조사, KS 완성형, 유니코드, UTF 인코딩 등 한글코드란? 컴퓨터에 한 번 입력된 자료는 우리가 아는 문자나 숫자의 형태에서 컴퓨터가 처리하기 쉬운 부호로 바뀌어서 기억 장치에 저장되는데 이 컴퓨터용 부호를 한글코드라고 말한다. 예를 들어 미국에서 표준으로 쓰이는 ASCⅡ코드를 지원하는 컴퓨터들에서는 영문의 ‘A’는 컴퓨터 내부에서 숫자 65로 ‘B’는 66으로 바뀌어 저장된다. 마찬가지로 한글코드는 한글로 작성한 문자를 컴퓨터용 부호로 변환하기 위한 규칙이다. 한글코드의 유형으로는 조합 원리에 따른 유형, 완성형에 따른 유형이 있다. 조합 원리에 따른 유형 조합 원리에 따른 유형으로는 N 바이트 코드, 3 바이트 코드, 상용 조합형이 있다. N 바이트 코드 한글을 풀어쓴 것과 같이 자음과 모음을 각각 1바이트씩 처리하는 형식의 코드이며 2~5바이트..
여름의 대삼각형 데네브, 알타이르, 베가 오늘 새벽에 찍은 여름의 대삼각형 (아레가) 데네브, 알타이르, 베가 입니다. 아이폰 12 pro로 촬영하였는데, 별 찍기 재미있군요. Starwalk 2 라는 앱으로 현재 위치에서 밤 하늘의 별이나 행성이 떠 있는 위치를 보여주어서 잘 활용하고 있습니다.
[GraphQL] GraphQL? A query language for your API GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. "CRUD API를 GraphQL로 새로 ..
[Docker]docker, docker swarm, docker compose 간단 정리 Concepts 애플리케이션의 개발, 배포, 실행을 컨테이너를 통해 가능하게 해주는 플랫폼. 컨테이너란 개념은 새로운 것이 아니며, 이전과 달리 새로운 것은 어플리케이션을 쉽게 컨테이너를 통해서 배포하게 해줌. Container? Image? 컨테이너는 실행되고 있는 이미지에 의해 launch 된다. Image 런타임, 라이브러리, 환경 변수, 설정 등 즉 어플리케이션을 실행하기 위한 모든 것을 포함하는 실행 가능한 패키지 Container 실제로 이미지 위에서 실행되고 있는 런타임 인스턴스 Container VS VM VM의 경우 각각 자신만의 OS를 갖고있음 컨테이너는 기존의 OS 위에서 구동됨 Dockerfile? Container의 환경을 정의하는 파일 # syntax=docker/dockerfi..