[Week5] 0216.5

안나경·2024년 2월 17일

크프정 일상

목록 보기
38/109

1시 반 ~ 2시 50분 커피챗

...
연휴 때 내준 과제가 어땠는지에 관한 이야기,
취업 준비를 하고 있는 사람이 있는지에 관한 이야기,

SI 회사 취직의 메리트에 대한 이야기,
비전공의 취직 준비 방향성에 대한 이야기,
회사 비밀 서약 조항서에 관한 이야기,
기획과 개발의 방향성이 많이 다른지에 관한 이야기,
외국계 기업에선 면접도 영어로 보는지에 관한 이야기,
휴학 중 취업을 해서 경력을 쌓는게 메리트가 있는지에 관한 이야기,

게임을 즐기셨던 때가 언제인지(?),
아이디가 00인데 00를 좋아하시는 건지(?),
해외 출장 많이 하나요(?),
크래프톤 좋다고 생각하는 다른 복지는 뭐죠(?),

등등등....

최대한 사적 이야기가 덜 담기고 기억할 만한 포인트만 적겠다.

SI 회사라고 꺼릴 필요는 없을 듯 하다. 반복적인 일이라도 지향하고자 하는 기술 스택이 원하는 회사와 맞다면, 진짜 아예 아무것도 없는 것보다 발판이라도 있어야 성장하니까, 메리트가 있다고 생각한다. 오래 다니면서 매너리즘에 빠지는 일은 주의해야할 듯 하다.

프론트 엔드 위주로 간다면 포트폴리오가 중요하겠지만, 백엔드고 큰 회사라면 CS 지식와 코딩 테스트가 경쟁력 있을 것.

기획과 개발은 아예 분리되었던 과거보다 섞인 편이지만, 회사마다, 하는 일마다 케바케.

대기업이라면 면접은 통역 요청이 가능한 경우 존재.
외국어가 된다면, 특히 영어가 된다면 외국계 기업을 생각해보는게 좋긴 하다. 메리트도 있고, 초반 연봉 선을 처음부터 높게 잡기 좋아서. 한번 그만큼 받으면 별 탈 없는 한 다른 한국 회사 간다고 해서 깎이긴 힘드니까.

어느 정도 경력이 쌓인다면 졸업장이 크게 상관없는 분야. 대학을 다녀서 얻을 것과, 그동안 회사를 다녀서 얻을 것을 비교해서 선택한다면 좋을 것. 그렇지만 컴공 졸업장은 메리트가 있긴 함.

낮 다른 팀 코어(3시 ~ 4시로 추정.)

시그널,
아마 8장의 예외적 흐름을

실제 코드로 보여주는 장면에서 합류.

대충 시그널이라는게 있구나...정도는 알았지
실제 사용자가 쓰는? 건가 싶었는데

일반적으로 생길만한 오류가 생길때
(일종의, 특정 조건문을 통과하지 않으면)
(예외 에러를 Print 시키는 대신)
(C쯤 되면 그냥 멈춰버리니깐....)
아예 그 경우를 시그널로 만들어서
별도의 시그널을 처리하는 함수를 만든다면
예외가 생겨도 그 시그널 함수가 실행되도록 처리할 수 있다는게
엄청 인상깊었음....

...
그리고 DMA
가 대신 처리해주는 대신
다 끝나면 CPU에 보고 올리는 형식
아 이 디테일 내가 깜박했었네 깨달았었고

시스템콜
OS->커널->하드웨어...로
....
요청 처리.
이 코어 전에 설명 타임에
J님과 D님과 얘기했었는데
시스템콜을 하는 이유는

시스템에게 권한을 받아야하는 일들,
파일을 열고 수정하는 등의 기능은,
내 사용자 모드에서 건드릴 수 없기때문에
시스템 콜을 하는 것이고,
그래서 그러한 권한을 받는 과정의 일종이 sudo 커맨드.

이러한 시스템 콜이 존재하는 이유는
보안 때문에....(권한 없이 손상되면 안 되니까!)

명시적 할당기 구현 시
납득이 안 되지만 생기는 이슈에 관해 들었는데
들었을 때 정확히 뭘 말하는 건지 몰랐었다..

그리고 막판에
가용 조작 매크로 강의 명교수...로 지목된 팀원 T님이
초빙되어 강의실에서 열강하게 되셨다.

7시 ~ 8시 즉석 코어

팀원분 ec2 서버가 자꾸 timeout됨.
그런데 다른 팀원분이 자주 겪던 이슈셨어서 해결해주심.

인스턴스를 중지했다가 다시 실행하면 됨.
그러면 새로운 IP를 배정 받으면서 나아진다!
대신 다시 실행할땐 설정 파일에서 해당하는 IP를 변경해줘야함.
(SSH - Configure file...)

....

next_fit 각자 구현했던 거 설명.
T님은
하... 어떡해... 나 다 까먹었다....
받은 ptr에서 시작해서
맨 끝에 도달하면 circled라고
플래그 처럼 사용하는 변수를 1로 만들어주고
다시 한번 맨 끝에 도달했을 때는 루프문을 빠져나가도록
for문을 하나만 설계.

(여기서 기억이 안나는 건
ptr을 어떻게 받으셨냐는 점이다.)

그리고 다시 malloc할때 circled를 0으로 초기화하고
시작하도록 하셨음.

그러나 이 함수는 무한 루프에 빠지는데
이는 이 next_fit문제가 아니라
초기에 포인터 위치 설정에 오류가 있어서 그런 거였음.
(위치 설정시 단위 DSIZE를 숫자 2로 오류 표기.)

그러나 이후에도
ptr자체가 extend_heap을 거치고 나면
ptr이 이전 블록 위치가 아니라
아예 extend_heap으로 붙인 그 앞부분!
즉, 이전 힙의 맨 끝부분에서 시작하여
중간에 할당하게 되어 문제가 생겨 segment fault 발생.

ptr위치를 수정하고나니
overlap payload 문제 발생.

...

나는 next_fit 구현하여
어쩐지 처음에는 tmp_ptr이 설정되지 않았을텐데
(malloc했을 때만 설정하니까)
tmp_ptr이 포인터 주소를 갖고 있어서
그냥 아예 재설정해줬다는 사실...
그렇게 재설정했더니 overlap 이슈가 생겼다고 얘기함.

....

coales.....은
직관적인거라 이해가 어렵지 않아 넘어갔고
(T님이
헤더를 갱신하고 포인터를 이동시키기때문에
n => n+m
그래서 본래의 풋터, 헤더 사이즈만큼 이동하지 않고
더 뒤로 가버리고 만다...
근데 이것 풋터를 갱신한뒤!
헤더를 갱신하면 해결되므로! 라는 사건사고 들음.)

그리고
place... 돌아가는 거 설명하고 끝!
(크면 잘라서 앞만 사이즈 갱신하고,
뒤에 새로 free 된 블록 추가해주고.)

(그대로면 그냥 그대로 갱신하고.)

T님은 분리 가용 리스트를,
J님은 명시적 가용 리스트를 해보기로 하셨다!

나는 일단 둘다 해보기로했는데,
지금 시점에선 그게 둘 다 크게 다르진 않은듯.

profile
개발자 희망...

0개의 댓글