1. 프로젝트 오류 수정
도감 이동 기능을 구현하는데, api가 2번 요청되는 문제가 있어서 살펴봤더니..

div 전체를 누를때랑 저장 버튼을 누를 때랑 둘 다 onClick 이벤트를 걸어놨었던 것이었다.
저장 버튼의 onClick 이벤트는 빼고 div 전체에만 onClick 이벤트를 걸어두는걸로 바꾸니, 말끔하게 해결 되었다.
2. sql
오늘은 rank, dense rank, join 에 관련한 문제를 풀어보았다
3. 자바
기초 개념 복습
생성된 인스턴스는 Heap메모리에 할당되고 각각의 인스턴스는 다른 메모리 주소를 가짐 => 그것의 참조값을 갖고있는 참조변수는 stack메모리에 할당 됨. 힙에 생성된 인스턴스는 Garbage Collector가 주기적으로 사용하지 않는 메모리를 수거
참조 자료형 - new를 이용해서 생성( String은 예외)
4. 양방향 링크드리스트
값을 특정 값 앞에 넣는 방법에 대해서 살펴보았다
링크드 리스트가 비었을 때, 특정값이 header일 때, 특정값이 header가 아닐 때
이 세가지 분기로 쪼개어 코드를 작성하는 시간을 가졌다.
5. 알고리즘 - 병합정렬
병합정렬은 큰 것을 쪼개어 문제를 해결하고 다시 합치는 정렬인데
일단 큰것을 반으로 쪼개고, 또 반으로 쪼개고, 쪼갤 수 없을 때 까지 쪼갠다음에 (재귀 함수가 필요할 것 같음)
다시 하나씩 병합을 하여 푸는 방식이다.
오늘은 쪼개는 방법을 코드로 작성해 보았다.
public class Split {
public void splitFunc(ArrayList<Integer> dataList) {
if (dataList.size() <= 1) {
return ;
}
int medium = dataList.size() / 2;
ArrayList<Integer> leftArr = new ArrayList<Integer>();
ArrayList<Integer> rightArr = new ArrayList<Integer>();
leftArr = new ArrayList<Integer>(dataList.subList(0, medium));
rightArr = new ArrayList<Integer>(dataList.subList(medium, dataList.size()));
System.out.println(leftArr);
System.out.println(rightArr);
}
}
6. 네트워크
TCP
세그먼트 구조에 대해서 배웠다
보내는 사람 Port , 받는 사람 Port
Port 번호는 0 ~ 2^16까지
시퀀스 넘버, ACK 넘버
Receive window( 리시브 버퍼에 얼마나 공간이 있는지, f리시브 상황에 따라서 조절을 하기 때문에)
에러 디텍션 역할을 하는 checksum
data
그래서 TCK 는 센더와 리시버에 버퍼가 가각 존재한다.
Cumulative Ack ACK(43)의 의미는 => 42번까지 센더로부터 잘 받았으니, 43번을 기다리겠다는 의미
각각의 시나리오에 대해서 배워봤다.
7. 마지막으로
오늘 남은일
- 자소서 쓰기
- DP 문제 한개 풀기
- 포트폴리오 수정
'오늘 공부 스케줄 끄적끄적..' 카테고리의 다른 글
2024-09-14 갓생 살기 8일차 (1) | 2024.09.14 |
---|---|
2024-09-12 갓생 살기 7일차 (1) | 2024.09.12 |
2024-09-10 갓생 살기 5일차 (2) | 2024.09.10 |
2024-09-09 갓생 살기 4일차 (3) | 2024.09.09 |
2024-09-06 갓생 살기 3일차 (4) | 2024.09.09 |