728x90
99클럽 코테 스터디 7일차 TIL List
99클럽 TIL 2024. 4. 24. 21:15

전반적인 List 를 다 볼거임ArrayList크기가 가변적인 선형 리스트, 저장용량이 존재함.저장용량을 넘어서면 자동으로 증가시킴.특징연속적인 데이터의 리스트(빈공간이 있으면 안됨.)타입 안정성ArrayList 는 제네릭을 사용하여 타입 안정성을 제공함.ArrayList 은 문자열만 저장할 수 있도록 함.인덱스를 통한 빠른 접근ArrayList 는 인덱스를 사용하여 배열 요소에 빠르게 접근할 수 있음.데이터 검색이나 업데이트 시 유용함.데이터 조작ArrayList 는 요소를 추가, 삭제, 검색, 정렬 등 다양한 방법으로 데이터를 조작할 수 있는 메소드를 제공ArrayList vs 배열배열 장단점장점빠른 데이터 접근 : 배열은 인덱스를 통해 각 요소에 대한..

99클럽 코테 스터디 6일차 TIL final keyword, static keyword
99클럽 TIL 2024. 4. 23. 10:52

Final Keyword 란 Java 에서 final keyword 는 유저(사용자) 를 제한한다. final keyword 는 많은 부분에서 사용되는데 final keyword 는 아래 나온 내용에서 사용된다. 변수 메소드 클래스 final keyword 는 변수와 함께 적용될 수 있는데, 값이 없는 final 변수를 공백 final 변수 또는 초기화 되지 않은 final 변수라고 한다. 이때는 생성자에서만 초기화 할 수 있다. public class FinalKeyword{ final String uninitializedValue; FinalKeyWord() { this.uninitializedValue = "Hello World"; } } ... public class FinalKeyWordTest..

99클럽 코테 스터디 5일차 TIL Override vs Overload
99클럽 TIL 2024. 4. 22. 18:41

Overriding 과 super 부모 클래스로부터 상속받은 메서드의 내용을 재정의(변경) 하는 것 조건 오버라이딩은 메서드를 새로 만드는게 아니고 내용만 새로 작성하는 것 알맹이만 변경한다. 메소드 시그니처 일치 오버라이딩하는 메소드는 슈퍼 클래스에서 선언된 메소드와 동일한 이름, 매개변수 목록 및 반환 유형을 가져야함. 메소드 시그니처가 일치해야만 실제로 메소드가 오버라이딩 되는 것으로 간주함. 접근 제한자 오바리이딩 하는 메소드는 원본 메소드보다 더 제한적인 접근 제한자를 가질 수 없음 ex) 슈퍼 클래스의 메소드가 protected 로 선언되었다면, 서브 클래스의 메소드는 protected 또는 public 이여야함. 반환타입 자바 5 이상에서는 오버라이딩된 메소드의 반환 타입이 원본 메소드의 반..

99클럽 코테 스터디 4일차 TIL JVM
99클럽 TIL 2024. 4. 21. 19:01

가상 머신인줄로만 알았다... JVM 이란? Java Virtual Machine 의 줄임말 OS 에 종속 받지 않고 CPU가 Java 를 인식, 실행할 수 있게 하는 가상 컴퓨터 또한 가장 중요한 메모리 관리, Garbage Collection 을 수행한다. 특징 컴파일된 bytecode 를 기계가 이해할 수 잇는 기계어로 변환 스택 기반의 가상머신 => 연산을 실행할 때, 데이터를 임시로 저장하기 위해 스택 자료구조를 활용한다는 의미 메모리 관리와 GC 를 수행 JVM 구조와 작동원리 JVM 구조에는 크게 Class Loader, Runtime Data Area, Execution Engine, GC 로 나누어져 있다. Class Loader : 클래스 파일을 Runtime Data Area의 메서드..

99클럽 코테 스터디 3일차 TIL Annotation
99클럽 TIL 2024. 4. 20. 18:42

Annotation 이란 사전적 의미로의 주석 일반적인 주석 // 나 /**/ 와는 다름. 코드를 작성할 수 있음. ⭐프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석과 같은 의미를 가짐. 역할 컴파일러에게 문법 에러를 체크하도록 정보를 제공함. 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공함. 런타임에 특정 기능을 실행하도록 정보를 제공함. 특징 주석이기 때문에 다이나믹하게 실행되는 코드는 들어가지 않음. 런타임 중에 알아내야하는 값은 못들어감 컴파일러 수준에서 해석되거나, 완전히 정적이여야함. 주요 용도 컴파일러에 대한 지시사항 어노테이션을 사용하여 컴파일러에게 경고를 억제하..

99클럽 코테 스터디 2일차 TIL Java Collection
99클럽 TIL 2024. 4. 19. 17:44

Java Collections Framework(JCF) Java Collections Framework 의 약어 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화 하여 클래스로 구현 Collection => 데이터의 집합이나 그룹 왜 씀? JCF 도입 전 Array, Vectors, Hashtable 이 있었으며, 공통인터페이스가 존재하지 않았음. 각 Collection 마다 사용하는 메소드, 문법, 생성자가 달랐기 때문에 혼동하기 쉬웠음. ... Vector v = new Vector(); Hashtable h = new Hashtable(); v.addElement(); h.put(1,""); 이래..

99클럽 코테 스터디 1일차 TIL GC
99클럽 TIL 2024. 4. 18. 20:16

GC 들어가기 전에 JVM 에서 메모리를 어떻게 보는지 확인해보자. JVM이 보는 메모리... JVM 메모리 영역 일반적으로 애플리케이션에서 사용되는 객체는 오래 유지되는 객체보다 잠시 사용되는 경우가 많음. Young Generation : 새롭게 생성하는 객체들이 존재하는 곳 Old Generation : Young Generation 영역에서 오랫동안 살아남은 객체(가중치) 들이 존재하는 곳 Meta Space : 클래스의 메타데이터, 문자열 정보를 저장하는 영역(JAVA 8 부터) YG 와 OG 로 나눈 이유는 애플리케이션에서의 객체의 수명은 대부분 짧기 때문에 효율적으로 관리하기 위함. JVM 이 메모리를 관리하는 방식 Heap 메모리의 구조 Heap 영역은 처음 설계될 때 다음의 2가지를 전제..

metabase 보안 취약점
카테고리 없음 2023. 12. 22. 23:23

Docker에서 metabase 를 설치하여 BI를 사용하고 있었는데, 최근 팀 메시지로 온 내용 중에 metabase가 설치된 서버에서 비트코인 채굴을 해서 아래와 같은 채굴 관련 도메인으로 접근하는 일이 있었음. pool.supportxmr.com pool-hk.supportxmr.com 초반에는 아무것도 몰라서 clamav 를 돌려서 확인해봤지만 바이러스라던가 멀웨어 걸린 파일이 없어서 서버만 종료 시켰음. 하지만 후반에 docker가 설치된 쪽에서 metabase가 있는 폴더에 config.json 이라는 파일에서 위 url 로 가는 스크립트가 있었음. 해당 부분은 metabase에서 23년 7월 부터 있었던 보안이슈에서 확인 할 수 있었다. https://www.metabase.com/blog/..

728x90