[취업준비일지] - 44 - 스터디 프로젝트 6일차
오늘은 회의가 없었고 각자 진도를 나가는 날이었다.
하지만 예제가 없이 진행하기는 애매하기도 하고
레이아웃 자체에 큰 시간이 들어가지는 않기 때문에
컨벤션에 집중하기로 했다.
동기분이 작업하시며 커밋한 내용을 보며
특이한 부분에 대해 검색해서
스타일드컴포넌트의 타입적용법이라는 것도 보고
기술문서와 커밋, 이슈에 대해서도 다시 돌아보는 시간을 가졌다.
-SEO준수
-css 컨벤션(패딩사용 우선 등) 지키기
-styled-component, 변수, 함수 작성 시 모호한 내용 /** */로 주석달기
-styled-component 사용 시 태그별 분할 및 로직 분리사용하기
-THEME에서 고정 색,크기 값 사용 및 components에서 css 기본값 상속받기
-index.js 파일 작업(각 폴더별 index.js 생성)
-기능별 branch 생성 및 칸반 연동 후 작업(feature/#num/funcName)
-작업별 Commit 태그(깃허브 등록) 준수
feat: 새로운 기능에 대한 커밋
fix: 버그 수정에 대한 커밋
build: 빌드 관련 파일 수정에 대한 커밋
chore: 그 외 자잘한 수정에 대한 커밋
ci: CI관련 설정 수정에 대한 커밋
docs: 문서 수정에 대한 커밋
style: 코드 스타일 혹은 포맷 등에 관한 커밋
refactor: 코드 리팩토링에 대한 커밋
test: 테스트 코드 수정에 대한 커밋
-merge는 squash merge로 하기
-이슈 생성시 템플릿 이용 및 할당/태그/프로젝트 추가하기
-작업 과정 칸반에서 관리하기
처음에는 너무 많았아서 당황했지만
동기분들이 문서화를 너무 잘 해주셔서
문서화된 내용들을 읽어보고 컴포넌트들을 보며 이해할 수 있었다.
하지만 정확히 각자 어느정도 작업한 내용을 합친 것이 아니기 때문에
실제로 어떻게 적용해야 하는지에 대한 확실한 감을 잡을 수는 없었다.
(작업이 된 상태의 참고자료가 없다는 의미)
다만 이제 작업을 하고 나서 컨벤션에 맞춰서 리팩토링을 할 수 있는 수준의 이해도까지는 끌어올렸기 때문에
하는대로 작업(디자인 구현 및 기능)을 완료한 다음 다른 분들이 작성한 코드를 보며 개선하는 방향으로 가야겠다.
주말에는 살짝 텀을 두는 것 처럼 말씀하시고 금,월,화요일에 작업하는 느낌으로 이야기가 되었기 때문에
큰 부담없이 따라올 수 있었던 것 같다.
(물론 일요일까지는 만들어보고 검사받고 수정하는 시간이 필요하다)
아직까지 모든 기능을 분할해 관리하는 것은 실제 사용을 하지 않아 직접 만드는 것은 복잡하다고 생각되지만
데이터를 다루듯 폴더를 분할해 index.js로 사용하는 것은 이제 새로운 프로젝트에서도 스스로 적용할 수 있을 것 같다.
구조적으로는 단순하지만 반응형이 처음이기 때문에 반응형까지 고려한 정의 부분이 손이 가지 않고 있으며
피그마에서 본것과 다르게 드롭다운으로 조건을 넣을 수 있게 할지
아니면 아래 결과값들이 밀려나게 블럭형태 추가로 진행할지도 물어보고 진행해야겠다.
또한 목차 등 상세페이지에서 추가 정보를 제공하고 싶어하시는 것 같은데
알라딘 api 결과페이지에서 찾아봐도 딱히 목차 등을 제공하지는 않았다.
상세페이지에서 제공할 수 있는게 요약정보정도라고 생각하는데
이건 상세페이지 전에 이미 요약정보를 제공하기 때문에 차이점이 거의 없다.
시간이 늦어서 길게 대화하기는 애매해보이고
동기분들도 오프라인 또는 모바일 상태이기 때문에 내일 질문드려야겠다.
1.메모리는 논리적, 물리적 주소로 나뉘는데 이 주소의 관리를
메모리 관리 장치(MMU, Memory Management Unit)로 처리한다.
처리 방식에는 고정분할, 동적분할, 페이징, 세그멘테이션 등이 존재한다.
고정분할 - 메모리를 분할한 구역을 하나의 프로세스만 이용할 수 있게 한다.
동적분할 - 메모리를 경계없이 넣는 방식으로 최초,최적,최악 방법이 있다.
구분을 하는 가장 큰 이유는 프로세스 처리 시간이 모두 다르기 때문에
특정 범위의 데이터가 종료되었지만 해당 크기에 맞는 프로세스가 없는 경우
그만큼의 공간이 낭비될 수 있기 때문에 아래의 세가지 방식으로 구분한다.
o 최초 적합 방법 - 순서대로 할당하는 방식으로 위의 문제가 그대로 발생
o 최적 적합 방법 - 가장 작은 공간부터 배치 하는 방식
o 최악 적합 방법 - 가장 큰 공간부터 배치하는 방식
페이징 - 각 프로세스를 프레임과 같은 길이의 페이지로 분할
가상 메모리 페이징 - 필요한 페이지를 나중에 부르는 방식으로
효율적이지만 관리가 어렵다는 단점이 있다.
세그먼테이션 - 각 프로세스를 가변적 세그먼트로 분할
가상 메모리 세그먼테이션 - 필요한 세그먼테이션을 나중에 부르는 방식으로
효율적이지만 관리가 어렵다는 단점이 있다.
(1).백준 5063 TGN은 현재 수익, 광고비, 광고할 경우 수익을 보고
광고를 해야 하는지에 대한 판단을 하는 문제였다.
단순하게 초과, 미만, 같음 3가지 경우에 따라 문자열을 출력했다.
let input = `3
0 100 70
100 130 30
-100 -70 40`.split('\n')
let result = []
for(let i = 1 ; i < input.length ; i++){
let [a,b,c] = input[i].split(' ').map(Number)
if(a+c < b){
result.push('advertise')
}
else if(a+c > b){
result.push('do not advertise')
}
else{
result.push('does not matter')
}
}
console.log(result.join('\n'))