어제 공부한 건 많지 않긴 함.
그래서 안 쓴 0218도 적겠음.
(정확히 말하자면 0217, 0218이겠지만.)
일단
저녁 와서 공부.
명시적 가용 리스트 형변환 디버깅 하다가
....
맨처음 init 할때
아무래도 8배수로 맞추는게 좋을텐데
루트 노드가
주소-prev-next, epil로 16바이트 했다가
근데 이렇게 하면 epil이 뒤로 밀리면 앞이 8배수가 아니니깐
주소-prev-next-footer(어차피 자리 차지하므로) epil...
이러면 전체적으로 8배수가 아님...
전체적으로까지 8배수일 필요있나? 하다가
주소-prev-next-footer, padding, epil했는데
이러면 주소 기점으로 뒤로가면 padding이 존재해서
첫출발할때 사이즈가 안맞음...
(근데 사실 이론적으로는 큰 상관없긴 하겠지)
(아마 정확히는 포인터의 첫 설정이 주소-^-prev 였는데)
(거기서 주소로 가서 사이즈 읽고 그만큼 뒤로 가면 새 블록이 아니라
padding이 나와서..)
최종적으로
주소-prev-next-footer, 프롤헤더,프롤풋터, epil 두개
로...했었다.
근데 그러고 디버깅하다가
포인터 주소를 그냥 숫자로 넣는다고 해서
해결되지 않음을 깨달음..............
(32비트까지의 숫자만 들어가는데
주소는 그것보다 숫자가 커서
손상이 생기는 것 같다........)
어떻게 하지? 이러다 청소하러 복귀.
오전에 코어, 커피챗을 다 적고
힙 정렬.......을 좀 봤었나?
아무튼 점심 먹고
3시 코어라 발등불로
힙 정렬 개요 확인!
코드 확인!
이게 가비지 컬렉터랑 연계해서 설명하면 좋을거같은데 ->
-> 아 힙정렬과 가비지는 상관이없구나......(이미 상관있다고 떠든 직후라)
(초조해지기 시작했음...하지만 다들 코어 스퍼트하는데 말할수가 없었음)
c로 써보기를 하고 싶은데...
하다가
M님의 명시적 가용 리스트 만들기 특강! 을 듣고
허억! 저런 거였구나! 를 깨달은 뒤
바로 코어...가 아니라
T님이 좀 더 하신대서
흠...코드가 있으니... C로 금방 쓰겠지< 싶어서 나도 했는데
appendleft를 링크드 리스트로 구현하면
이제 인덱스 참조가 어려워져........
망했다.......
아마 인덱스 기법은 그대로 쓰고
appendleft같은걸 C에서 구현을 하나보지....
(H님이 구현 해보셨다는데 이거 어떻게 구현했는지 여쭤볼걸)
아무튼 좀 막막해져 코드 노려보다
딜리트까진 그래 어떻게 옮겨보겠어 했는데
삽입은......... 너무 헷갈려서 그대로 코어.
(인상 깊었던 건 마감이 코앞이라
뭐 참고할 시간이 없다보니 의식의 흐름으로 코드썼는데
생각보다 처음으로 구조체를 맨땅에 써도 잘 써지긴 하더라..)
J님이 힙 정렬 개요 설명,
내가 약간의 부가 설명,
H님의 C로 코드 구현 설명.
마지막으로 J님의 깜짝 퀴즈로 이루어졌다...
(지금 보니 그렇게 헷갈릴 게 없는 함수로군..)
이 부분 코어는 다른 로그에 따로 적겠다.
그리고 저녁 먹을 시간이라
시키고 넋놓다가
....
저녁 먹고
특강에 따라 구현해야할 부분을
모든 함수에 대해 써보고
그 슈도 코드 대로 실제 코드로 써봄.
디버깅 없이 귀가.
많은 일이 있었는데...
뭔가 공부한 건 많지 않은 듯한? 기분이 드는....
그래서 주말에 쉬다와도 저번주에 화요일쯤에 왔다보니
그리 피곤하지도 않고...
흠! 열심히 하자.
팀 코어.
점심일지 저녁일지 모름.
명시적 가용리스트 얘기.
어제의 코어 적기.
다음 블록을 참조하는 매크로 확인 및 이해.
다음 블록 참조 매크로를 넣으면
돌아가는 지 확인하고
안 되면 디버깅 좀 해보고
솔루션도 좀 보고.
코어.
코어 요약하고
코어에 따라 더 할 걸 하거나
아니면... 더 하고 싶지 않으면 책이라도 읽기.
내일 낮에 퀴즈니까
퀴즈 이후 최종 코딩 컨펌하면서
코어타임이 어떠셨는지 여쭤봐야겠다.