728x90
반응형

java 53

[10분 테코톡] 나는 GC를 모르고 개발했다.

[10분 테코톡 정리] 나는 GC(Garbage Collection)를 모르고 개발했다. Java 개발자면서 Java의 핵심인 GC에 대해서도 잘 모르고 있었다…(JVM을 모르니 모를수 밖에…) 좋은 Java 개발자가 되기 위해서는 Java를 구성하는 핵심 기능인 JVM과 그안에서 열심히 일하는 GC에 대해서 알아야 한다고 생각합니다. GC 튜닝은 성능 개선의 최종단계 라고 합니다. 객체 생성 자체를 줄이려는 코드 레벨에서의 개선이 선행 되어야 합니다. 나도 어느 정도 규모가 있는 서비스를 운영하게되면 반드시 GC 튜닝을 할 일이 생길 것이다.!!!! 이번 기회에 GC에 대해서 공부하고 정리해보자!😄 참고: https://www.youtube.com/watch?v=FMUpVA0Vvjw NAVER D2 N..

[알고리즘] 배열과 리스트(백준 11720, 1546)

[알고리즘] 배열과 리스트(백준 11720, 1546) 알고리즘 공부를 계속 미루는 제 자신을 보고 이대로는 안되겠다 싶어 😇 본격적으로 코딩테스트를 준비(+알고리즘 공부) 해보려고 합니다. 물론 혼자하면 작심삼일이 될거 같아 무료 Do it! 알고리즘 코딩테스트 with JAVA - 인프런 | 강의 강의 커리큘럼에 맞춰 공부해보자!! [무료] Do it! 알고리즘 코딩테스트 with JAVA - 인프런 | 강의 IT기업 코딩테스트 대비를 위한 [자료구조 및 알고리즘 핵심이론 & 관련 실전 문제 풀이 강의] 입니다. - JAVA 편 -, - 강의 소개 | 인프런 www.inflearn.com 자 모든 준비와 마음이 섰으니 기초부터 차근차근 공부해보자! 오늘은 기본 자료구조인 배열과 리스트에 대해서 공부해..

[알고리즘] 재귀(Recursion -java)

[알고리즘] 재귀(Recursion) JavaScript (JS) Algorithms and Data Structures Masterclass | Udemy 해당 포스팅은 JavaScript 알고리즘 & 자료구조 마스터클래스강의를 참고하여 작성했습니다. 재귀는 자기 자신을 호출하는 절차 입니다. 🤔 이해가 잘 되지 않는다고요? 옛날 옛적에 🧙민혁이라는 초보 마법사가 있었습니다. 그 당시에는 컴퓨터가 없어서 홀수와 짝수를 구분할 수 없었는데, 민혁이는 🧙‍♂️스승님에게 마을에 있는 🐉용에게 가서 홀수와 짝수를 구분해오라는 퀘스트를 받습니다. 스승님에게 받은 종이에는 다음과 같이 쓰여져 있었습니다. (112, 12344, 6764, 11238) 종이를 갖고 용집에 도착한 민혁이는 용에게 가서 부탁했습니다. ..

[알고리즘] 슬라이딩 윈도우 패턴(Sliding Window -java)

[알고리즘 기초] 슬라이딩 윈도우 패턴(Sliding Window -java) JavaScript (JS) Algorithms and Data Structures Masterclass | Udemy 해당 포스팅은 JavaScript 알고리즘 & 자료구조 마스터클래스강의를 참고하여 작성했습니다. 슬라이딩 윈도우 패턴은 배열이나 문자열 같은 일련의 데이터를 입력하거나 특정 방식으로 연속적인 데이터의 하위 집합을 찾는 경우에 유용하게 사용합니다. 예를 들어 가장 긴 고유 문자열을 찾는 함수를 작성하라고 하면 helloworld 다음과 같이 찾을 수 있습니다. 첫 번째는 hel, 두 번째는 low, 세 번째는 orld 입니다. 이때 orld가 가장 긴 고유 문자열 입니다. 슬라이딩 윈도우(Sliding Wind..

[알고리즘] 다중 포인터 패턴(Multiple Pointers -java)

[알고리즘 기초] 다중 포인터 패턴(Multiple Pointers -java) JavaScript (JS) Algorithms and Data Structures Masterclass | Udemy 해당 포스팅은 JavaScript 알고리즘 & 자료구조 마스터클래스강의를 참고하여 작성했습니다. 이 패턴의 개념은 인덱스나 위치에 해당하는 포인터나 값을 만든 다음 특정 조건에 따라 중간 지점에서부터 시작 지점이나 끝 지점이나 양쪽 지점을 향해 이동시키는 것 입니다. 쉽게 이야기하면 이중 연결 리스트나 단일 연결 리스트를 만드는 것 입니다.(한쌍의 값이나 조건을 충족시키는 무언가를 찾는 개념) 다중 포인터 패턴(Multiple Pointers) 다음과 같이 오름차순으로 정렬된 배열에서 합계가 0인 첫 번째 ..

[알고리즘] 빈도수 세기 패턴(Frequency Counters -java)

[알고리즘 기초] 빈도수 세기 패턴(Frequency Counters -java) JavaScript (JS) Algorithms and Data Structures Masterclass | Udemy 해당 포스팅은 JavaScript 알고리즘 & 자료구조 마스터클래스강의를 참고하여 작성했습니다. 알고리즘에 있어 자주 사용되는 문제 해결 패턴에 대해서 소개하겠습니다. 여기서 소개하는 패턴은 코드는 알고리즘 문제를 해결하는데 있어 일반적인 접근법이 될수 있지만, 모든 경우를 포괄하지 않습니다. 또한, 해당 패턴이름은 정식 명칭도 아닙니다.! 음.. 비유를 하자면, 수학문제를 풀때 우리가 구구단을 외운 것 처럼 패턴 코드를 숙지하고 암기하고 있으면 알고리즘 문제를 해결하는데 많은 도움을 줄 것입니다.🤗 빈도..

[알고리즘] 빅오(Big-O) 표기법의 이해 -java

https://www.udemy.com/share/105zfq/ 해당 포스팅은 JavaScript 알고리즘 & 자료구조 마스터클래스강의를 참고하여 작성했습니다. 빅오(Big-O) 알고리즘은 컴퓨터공학의 🌸꽃이라고 할 수 있습니다. 많은 기업들이 CS 전공지식과 더불어 알고리즘 문제를 입사시험으로 출제 합니다. 그만큼 컴퓨터공학에 있어서 중요하기 때문이겠죠? 그렇다면 알고리즘이란 무엇인가요? 알고리즘은 특정 작업을 달성하기 위한 과정이나 일련의 단계를 의미합니다. 이와 같이 알고리즘은 문제를 해결하기 위해 수행해야하는 수학적 단계라고 정의할수 있습니다. 제 개인적인 의견으로 컴퓨터공학에서 알고리즘이 등장한 이유는 문제 해결에 있어 최고의 성능으로 동작하게 하려고 하는 컴퓨터 과학자, 공학자들의 욕심으로 등..

[스프링] 동시성 문제 해결(ThreadLocal)

[Spring] 동시성 문제 해결(ThreadLocal) 스프링 핵심 원리 - 고급편 - 인프런 | 강의 이 글은 인프런에서 스프링 핵심 원리 - 고급편 강의를 참고하여 작성했습니다. 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 🏃‍♂️오픈 런 이라는 말을 들어보신적 있으신가요? “매장문이 열리자마다 달려가서 구매함” 을 의미합니다. 이렇게 되면 매장은 1개인데 사람은 여러명이 동시에 들어가게 되니 매장이 마비가 됩니다. 웹 서버에서도 마찬가지 입니다. 매장을 자원, 사람을 스레드라고 비유하면 하나의 자원에 여러 스레드가 동시에 접속하는 현상 입..

[소프트웨어 아키텍처] 16. 브릿지 패턴(Bridge Pattern -java)

브릿지 패턴(Bridge Pattern) 객체의 확장성을 향상하기 위한 패턴으로, 동작을 처리하는 구현부와 확장을 위한 추상부로 분리합니다. 즉, 구현과 더불어 추상화 부분까지 변경해야 한다면 브릿지 패턴을 사용하면 됩니다.! 🌉 브릿지 패턴을 사용하면 추상화된 부분과 구현 부분을 서로 다른 클래스 계층구조로 분리해서 그 둘을 모두 변경할 수 있습니다. 여러 플랫폼에서 사용해야 하는 그래픽스와 윈도우 처리 시스템에서 유용하게 사용됩니다. 다시말하면, 인터페이스와 실제 구현할 부분을 서로 다른 방식으로 변경해야 할 때 유용하게 사용됩니다. 브릿지 패턴 구조 Abstraction 기능 계층의 최상위 클래스 ConcreteAbstraction 기능 계층에서 새로운 부분을 확장한 클래스 Implementor a..

[소프트웨어 아키텍처] 15. 어댑터 패턴, 퍼사드 패턴(Adapter Pattern, Facade Pattern -java)

어댑터 패턴(Adapter Pattern) 데코레이터 패턴이 기억나시나요? 객체를 래퍼로 감싸서 새로운 역할을 부여했습니다. StarBeverage beverage = new Americano(); beverage = new Ice(beverage); //이런식으로 말이죠! 어댑터 패턴은 조금 다릅니다.! 이번에는 실제와 다른 인터페이스를 가진 것처럼 보이도록 객체를 감싸겠습니다. 어댑터 패턴을 사용하면 특정 인터페이스가 필요한 디자인을 다른 인터페이스를 구현하는 클래스에 적응시킬 수 있습니다. 어댑터 패턴은 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환합니다. 인터페이스가 호환되지 않아 같이 사용할 수 없었던 클래스를 사용할 수 있게 도와줍니다. 어댑터 패턴 구조 어댑터 패턴은..

728x90
반응형