일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- zookeeper
- tcp
- airflow
- Trino
- OS
- PostgreSQL
- Python
- grafana
- java
- Spring
- CVAT
- AWS
- CSV
- aws s3
- EC2
- JavaScript
- Packet
- kubectl
- MAC address
- Kafka
- log
- Operating System
- kubernetes
- Vision
- Network
- jvm
- kubeadm
- helm
- docker
- ip
- Today
- Total
목록Programing (44)
JUST WRITE
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0BrUs/btrhdVW6xFd/QrU2ae5Jab3Zz8GYGuH8xK/img.png)
이 글은 Baeldung 사이트 'Guide to the Java ArrayList'를 해석, 정리한 글입니다. ArrayList ArrayList는 Java Collections Framework 중에 하나이다. Java Core Library로 사용하려면 import문만 추가해주면 된다. import java.util.ArrayList; List Interface를 상속받아 Array를 기반으로 정의된 Class이다. ArrayList의 Element를 추가/삭제할 때마다 동적으로 크기가 변합니다. ArrayList 시간복잡도 Random Access => O(1) 할부 시간 복잡도(amortized time complexity) 관점에서 Element 추가 => O(1) Element 추가/삭제 =..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqejp2/btrhjXMjsxx/nQf8UoK8bkzxNs4psBJdpk/img.png)
MappingJackson2JsonView MappingJackson2JsonView는 org.springframework.web.servlet.view의 하위 클래스입니다. View를 Json 타입 View로 변환할 때 사용합니다. MappingJackson2JsonView 동작 Spring에서는 Request가 들어오면 web.xml에 정의된 DispatcherServlet에서 가장 먼저 처리한다. 몇 가지 가정을 거치고 Handler(Controller)에서 처리한 결과물을 DispatcherServlet에서 받는다. 그럼 그 결과물을 ViewResolver가 View Template에 맞게 렌더링 한다. processDispatchResult() -> render() -> view.render()..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bP01eY/btrhc8I2aBA/AkHM1kzJL7CkyfZxzOEPmK/img.png)
이 글은 YouTube 노마드코더의 라이브러리? 프레임워크? 차이점..편을 정리하여 작성한 글입니다. Library Library는 소프트웨어를 개발할 때 활용 가능한 도구의 모음이다. 개발자가 필요할때 Library를 호출하여 사용한다. Framework Framework는 뼈대, 기반구조를 의미한다. Library의 컬렉션이지만 제어의 역전(IoC, Inversion of Control) 개념이 적용된 기술이다. 개발자가 아닌 Framework가 작업을 호출할 수 있는 제어권이 있다. 개발자는 Framework의 규칙에 맞춰 프로그래밍을 한다. Libary vs Framework Library와 Framework의 가장 큰 차이점은 개발자가 코드를 컨트롤하는건지(Library) 아니면 개발자가 Fra..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b1Gs8q/btrhesUEib4/OKOKop0a5VlZqYe2SPaQDK/img.png)
이 글은 책 알고리즘 도감에서 Stack, Queue 부분을 정리한 글입니다. Stack 데이터를 1열로 나열하지만 새롭게 추가한 데이터에만 접근 LIFO(Last in, First Out) 후입 선출 구조 단방향으로만 조작해 최신 데이터만 접근 가능 Queue 데이터를 1열로 나열, Stack 반대로 선두 데이터에만 접근. 대기행렬이라고 부르기도 함. FIFO(First in, First Out) 선입 선출 구조. 중간 데이터 접근 X, 필요한 데이터 나올 때까지 dequeue(Queue에서 데이터 꺼내는 작업) Queue 구현 Array로 구현 import java.util.Objects; public class CustomQue { private final int DEFAULT_CAPACITY = ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vNBaW/btrgBlvNz1s/wWUNbIOvPDZkBYHoKY8Ef1/img.png)
이 글은 책 알고리즘 도감에서 List, Array 부분을 정리한 글입니다. List 데이터를 일직선으로 나열한 형태 추가/삭제는 쉽지만 원하는 데이터에 접근하려면 시간이 많이 걸림. 각 데이터에는 pointer가 존재, 다음 데이터의 메모리 위치 메모리 상의 연속된 위치에 저장하지 않아도 됨. Sequential Access(순차 접근) => 처음부터 순서대로 접근 => 탐색 시간이 오래 걸림. 추가/삭제 시 pointer만 변경 계산 시간 검색 => 접근하고자 하는 데이터가 가장 뒤에 있는 경우, 선형 탐색 => O(n) 추가 => 두 개의 pointer만 변경, n에 관계없음 => O(1) 원형 List 마지막 데이터의 pointer가 선두 데이터의 메모리 위치 가리킴 양방향 List 보통 poin..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/begPOa/btrgHDuHjZe/OvQreaUTxGVfmiXk2cqVZ1/img.png)
이 글은 책 알고리즘 도감에서 알고리즘 기본 부분을 정리한 글입니다. What is Algorithm? 알고리즘은 계산이나 작업을 하기 위한 순서이다. IT관점에서는 특정 문제를 컴퓨터로 해결하기 위한 순서가 알고리즘이다. 계산 시간 같은 알고리즘을 사용하더라도 컴퓨터의 성능에 따라 시간이 달라진다. 따라서 계산 시간은 스텝 수를 활용한다. 계산을 종료하기까지 기본 스텝을 몇 회 실행했는가? Example. 선택 정렬 시간 구하기, 수열의 숫자 개수(n) 1) 수열에서 최솟값을 찾는다 2) 최솟값을 수열의 가장 왼쪽 숫자와 교환 -> 다시 1번으로! Explain. 1) '하나의 숫자를 확인한다' -> 기본 단위 -> 걸리는 시간 T1 2) 1번 동작 걸리는 시간 -> n*T1 3) '두개의 숫자를 교환..