0623-PlanB

intro

PlanB 제목 지을게 없다.
그냥 늦게 일어남을 미화시켰다 이렇게 된 김에 플랜 B다 …
일찍 잤는데도 이렇게 많이 자다니 조금 허무하다.

일요일은 알바하니까 온전히 비는 날은 토요일인데 /../ 허무하게 잠으로 반 날라가버리는 경우가 부지기부수다.
담주 목표 토요일 8시간 이하로 자기 !

Planning

크게 좀 계획을 세워봐야겠다.
너무 의식의 흐름데로 살고 있는 느낌이다.

0번 기본이라 제일 충실히 해야 함

  1. 운동 및 건강 & 멘탈 관리 (자존감 늘 잘 챙기기)

  2. 질문 잘 하는 능력을 키우고 싶다.
    질문 일단 많이 하기
    말을 잘 하기
    핵심만 요약해서 -> 듣는 사람 입장에서 한 번 더 정리한 후에 전달하기
    왜 왜 왜? 쪼개서 내가 이런 부분을 시도해봤나? 트라이 해보고 하기

  3. 설계 능력

설계능력도 많이 짜봐야
그리고 의존성과 복잡성이 많은 앱을 여러번 짜보고 고민을 많이 해봐야 늘지 않을까 고고 고로 닥 코딩 연습 많이 합시다.
사실 잘 모르겠다 어떻게 키울 수 있는지

  1. 알고리즘 .. 알고리즘이 결국 설계능력에 쓰는 많은 요소라 생각해서 알고리즘 잘 할 줄 아는 사람이 되고 싶다.

이것도 잘 … 문제 그냥 많이 푼다고 늘 것 같지는 않은데 조금은 낫겠는데 아닌가???

http 읽고 정리 1장 2장

tcp/ ip는 인터넷 프로토콜의 총칭인데 그중에 하나 application 계층에 있는 것 중에 하나가 http이다 .

tcp/ ip는 계층으로 관리 된다.
계층 구조의 장점 어디선가 사양이 변경되도 전체를 바꾸지 않아도 된다 !
계층 연결 부분만 결정되어 있어 내부는 자유롭게 설계 가능
자기 자신이 담당하는 부분만

마치 함수 or 모듈 하나로 합쳐져 있지 않고 기능별로 나눠져 있으면 유지보수가 편리한 것과 마찬가지

트랜스포트 계층에는 tcp/ udp가 있다 tcp는 신뢰 three-way-handshaking이라는 플래그들을 연결 -보냄 - 다 받았어 신뢰 플래크 syn /ack ? 어쨌든 이런 식으로 검증되게 전송을 한다.

전체 통신 과적
송신 측에서 url을 입력하면 -> 이를 바탕으로 dns 가 이름을 바탕으로 ip 정보를 가지고 오고
이 ip를 바탕으로 mac주소를 조사해서 통신함

http메시지를
tcp 에서 분해해서 패킷단위로 나눔 패킷 들은 안내번호와 포트번호를 붙여 네트워크 계층에 전달
ip에서는 송신지를 라우터를 통해 찾아가며 송신

어플리케이션-tcp(트랜스포트)-ip(ip)-네트워크 계층

네트워크 계층에서 .. 물리적으로 보내는 레벨인가? -> 조사해보기

수신측에서는 반대로

패킷들을 받은 것들을 모으고

받은 메시지를 바탕으로 리소스를 처리해서

다시 송신 수신측은 송식하는 역할을 하고
2장 http 메소드들과 쿠기

  • 쿠기
    무상태성이기 때문에 속도/ 간단 / 메모리 낭비 없지만
    사용자 정보를 바탕으로 다른처리를 해주어야 되는 경우 정보가 필요하기 때문에 쿠키라는 조각을 통해서 상태를 인지시켰다.

그런데 쿠키도 많이 왔다갔다 할 수록 문제가 있다. 작은 처리지만 계속 남아 있으므로 …
-> 이 문제를 해결하기 위해선?.?

  • keep-alive

tcp 연결을 굳이 종료시키고 / 특히 현재 웹페이지에서는 한 웹페이지 들어가면 요청이 수십개는 기본인 경우가 많으므로 …
하나의 요청마다 연결을 끝고 종료하고 다시 연결을 맺고 이런 방법은 매우 비효율적이다.
그래서 http 1.1부터는 keep-alive 한 번 요청해서 명시적으로 끊지 않는 한 계속 연결을 맺는 상태의 통신을 하고 있다.

6월 플래닝

  1. 건강과 멘탈관리

하루키 매일 10km 달리기를 한 번 해보려고 한다. 비타민 + 물 2L
일찍자고 일찍일어나는 사람 되기 성실성 제일 가지고 싶다. -> 능력이 부족해도 최선을 다하고 있으면 그리 후회될 것도 없을 것 같다…

  1. 웹 자판기 최소 바램은 웹 자판기를 잘 끝마치는 것
  • 추가 기능들을 추가해서 조금 더 구현해보고 tdd로도 다시 짜보고 여러가지 처리를 한 번 더 해보고 싶긴 하다.
  • 옵셔널 바램은 food 기본 LayOut까지는 진도 나가기
  1. 알고리즘이나 TIL 네트워크
    매일 기본기들을 훈련하자

  2. 플래닝

현실적인 플래닝 세우기
최소한 이건 해야지 정도만 세우고 나머지는 다 백로그에 박아두고 다 하면 끄집어 내서 하기 !!!

7, 8월 계획 그림도 Rough하게 잡아놓기

크롱 리뷰 받은 부분 웹 자판기 개선하기 !

Daily Algorithm

Codility 7-3
간만에 코딜리티 다시 보기 …
문제 잘 못 읽어서 한 참을 이해 못했다 _= 방향 반대로 보고 .. 이거 말이 안되는데 한 참을 이랬네… 멍충이

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
29
30
31
32
33
34
35
36
37
38
39
Problem: You are given a zero-indexed array A consisting of n integers: a0, a1, . . . , an−1.
Array A represents a scenario in a grocery store, and contains only 0s and/or 1s:
0 represents the action of a new person joining the line in the grocery store,
1 represents the action of the person at the front of the queue being served and leaving
the line.
0 -> push
1 -> pop

목표는 줄이 최소일 때를 아는 것이나.
배열일 떄 0,1
[0,0,1,0,0,0,,,...]
엠티 라인은 불가능하데
lineCount
lineCount = 0;
minLineCount;
A.forEach(v=>{
v===0 ? count++ : count--
if(lineCount>1){
minCoubnt = Math.min(lineCount, minLineCount)
}
})

The goal is to count the minimum number of people who should have been in the line before
the above scenario, so that the scenario is possible (it is not possible to serve a person if the
line is empty).

answer 예제 답은 왜 이런지... 전혀 이해가 안 가는데 _= 한 번 다시 보고 안되면 사람들에게 물어봐야겠다.
function grocery_store(A){
const length = A.length;
let size, result = 0;
for(let i =0; i<length; i++){
if(A[i]===0) size+=1
else {
size-=1
result = Math.max(result, -size)
}
}
return result;
}

Ref

호글이가 알려준 좋은 책들

네트워크

1 % 네트워크 원리

크롬 브라우저 엔진/ 성능

http원리 ~216

알고리즘

코딩 인터뷰 책 보고 공부
어려우면 1번씩 보고 넘어가기
~p202 9번 제외 정렬 탐색
해커스 랭크 크래킹 코딩 인터뷰

Computer Science

OS
*추가적
캐쉬 알고리즘

  • 공룡책
  • 컴퓨터 시스템 책 9정 메모리
    • 페이지 교체 알고리즘

리팩토링

  • HTTP, SMTP, SNMP, FTP, 텔넷, NFS, NTP

  • 세션 SSL

  • UDP /TCP 신뢰성,안정성, 속도,쓰이는데

  • cs50