728x90

크래프톤 129

24.04.16 서버 개발기

서버 개발기 회원가입을 구현하고 회원가입의 예외처리를 구현했다. 예외처리 목록 비밀번호가 다를 때 중복된 닉네임이 존재할 때 중복된 아이디가 존재할 때 이에 경우에는 그에 맞는 panel이 띄워지게 코드를 작성했다. !https://blog.kakaocdn.net/dn/XKJWl/btsGG6Ytezb/jr3GwPFw8tco31ngowdNkK/img.png 회원가입 부분 코드 비밀번호 확인은 유니티 클라이언트에서 처리했고, 회원가입 부분에서는 닉네임 아이디를 검사하고 문제가 없다면 회원가입을 진행했다. !https://blog.kakaocdn.net/dn/cK2c60/btsGGmHsimV/4KRlukV8KTJtogwG9yF6K0/img.png 닉네임 중복 확인 !https://blog.kakaocdn.ne..

24.04.08 서버 프로그래밍, 백준

게임 서버 프로그래밍 교과서 3장 소켓 프로그래밍 온라인 게임 프로그래밍에서 소켓은 파일 핸들 방식과는 약간 다르다. 게임 서버에서는 다루어야 하는 소켓 개수가 많다. TCP를 이용해서 통신하는 경우 클라이언트 개수만큼 소켓이 있어야 한다. 파일 핸들을 하는 동안 스레드가 대기하는 일이 없어야 한다. 디스크를 읽거나 쓸 때 사용하는 read(), write() 함수는 호출 후 실행이 완료될 때 까지 리턴하지 않는다. 소켓을 이용해서 읽기/쓰기를 하는 함수를 호출 했는데 즉시, 리턴하지 않는다면 이들을 호출한 메인 스레드는 사용자 입장에서 일시정지 하는 것 처럼 보인다. 이러한 이유 때문에 네트워크 프로그래밍에서 소켓은 보통 비동기 입출력(Asynchronous I/O) 상태로 다룬다. 소켓을 비동기 입출..

24.04.04 회고

회고 하쿠나마타타 오늘 발표를 마무리하고, 새로운 주제를 받았다. 각 스택에 대한 준비와 알고리즘을 다시 해보는 주간이다. 나와 여러명의 사람들은 게임을 하고 싶어했고, 정글의 극 초반부터 게임을 해보자라고 말한 상태였기에, 코치님에게 유니티를 활용해서 게임을 만들어도 괜찮을지 여쭈어보고, 그에 대한 좋은 답변을 얻었다. 하지만 원장님이 반대 수준이 아니라 혼을 내실거라는 말을 해주셨다. 게임에 대한 프라이드. 우리들은 게임을 쉽게 보고 결정한 것이 아니다. 5주만에 재미있는 게임이라는 것 자체가 오히려 더 어려운게 아닐까?? 물론 나는 웹을 해본적이 없기 때문에 비교해 볼 수 없지만, 게임이 5주만에 뚞딱뚝딱 하고 만들어지는게 아니라는 것은 알고있다. 그러기 때문에 더 당당하게 말할 수 있다. 게임을 ..

채용 설명회 : 크래프톤

크래프톤, PUBG 게임 회사 가면 뭐하나요? - 크래프톤에서 엔지니어로 일하기 어떤 일을 하는가 In-Game ↔ Out-Game 으로 나누어져있다. 엔지니어란? 세상의 문제를 푸는 사람들이다. 주어진 조건안에서 주어진 목적을 달성하기 위한 엔지니어이다. 개발 문화 코드리뷰 페어 프로그래밍 세미나 스터디 1 - on - 1 post mortem 어떤 사람을 원하는가? CS기초 문제 해결 능력 (의지) - 문제 푸는것을 좋아하는가 커뮤니케이션 QnA 시간과 타협해야 할 때 어떻게 하는지? 팀원한테 강조하는 부분이 가성비에 대해서 강조한다. 이 업무를 진행할 때 어떤 문제이냐, 얼마나 급하냐가 중요하다. PintOS가 도움이 되나요 도움이 된다. 문제를 직면했을 때 두려워하지 않는 법을 배울 수 있다. 일..

11Week 24.03.28 - 24.04.03 부제 : 야호!!

회고 야호!! 야호를 몇 번째 쓰는 줄 모르겠다. 하지만 진짜 정말로 즐겁다. 왜냐!! 왜냐하!!!!!!!! 왜냐하면!!!!!!!!!!!!!!!!!!! 잘 끝마쳤으니까 project 1,2,3 중 가장 힘들었지만, 가장 성취감있고, 가장 재미있었다. vm에 대해서 이론적으로 알고 있던 부분을 구현을 하면서 다양한 트러블 슈팅을 겪을 수 있었고, 개인적으로 많이 성장하는 시간을 가질 수 있었다. 핀토스 주차가 드디어 끝났다. 하지만 아직은 내가 했던 것들이 완전하게 내 것이 되었냐 하면 그것은 아니다. 내것으로 만드는 시간과 새로운 공부를 하는 시간의 비율을 잘 지켜 더욱 더 성장할 수 있게 해야겠다. 하루하루 강해지는 나.. 사이어인 아닐까? 더 더 더더더더더 강해지고 싶다. 할 수 이따!! KPT 회고..

24.04.03 PintOS

야호!!!!!! 성공적으로 project3를 끝마친 것 같다. 생각보다 너무 잘했고, 힘들었지만 그만큼의 성취감도 있었다. 야호~ PintOS bool file_backed_initializer(struct page *page, enum vm_type type, void *kva) { /* Set up the handler */ page->operations = &file_ops; struct file_page *file_page = &page->file; file_page->aux = page->uninit.aux; return true; } swap in을 위해서 page->uninit.aux를 file\_page->aux에 받아왔다. static bool file_backed_swap_out(str..

24.04.01 운영체제, PintOS, 백준

아니 벌써 4월임..ㄷㄷ 이거 신기한거시와요 하와와 어느새 4월이 왔슴니다.. 어느새 2분기가 시작했다구욧!! 시ㅣㄴ나기한거시에요… 운영체제 34. 분산시스템 웹브라우저가 지구상 어딘가에 있는 웹 서버에 접속하면 클라이언트/서버 분산 시스템이라는 구조에 한 구성원이 된다. 분산 시스템의 핵심 사안은 실패와 고장의 극복이다. 개별 구성요소들은 자주 고장나지만 기계들은 고장없는 시스템처럼 보이도록 만들 수가 있다. 또 다른 중요한 문제가 있다. 시스템 성넝은 매우 중요한 요소이다. 분산된 시스템들을 연결하는 네트워크에서는 시스템 설계자들은 주어진 목적을 달성하는데 많은 신경을 써야한다. 마지막으로 보안 역시 매우 중요한 요소이다. 원격 사이트를 접속할 때, 접속한 사이트가 진짜 원했던 사이트인지를 확신할 수..

24.03.31 운영체제, PintOS

운영체제 33. 데이터 무결성과 보호 33.1 디스크 오류 모델 디스크는 완전하지 않으며 오류가 발생할 수 있다. 현대의 디스크들은 정상적으로 동작하는 것처럼 보이지만 블럭들을 읽는데 실패하는 경우가 있다. 우리가 살펴볼 만한 것은 두 가지 종류의 단일 - 블럭 오류가 있다. 각각은 숨어있는 섹터 에러(Latent Sector error, LSE)와 블럭손상(block corruption)이다. LSE는 디스크 섹터가 어떤 이유로든 손상되었을 때 발생한다. 예를들어, 디스크 헤드가 표면에 어떤 이유로 닿았다면(head crash, 일반적인 상황에서는 일어나면 안된다) 표면을 망가뜨릴것이고 비트들을 읽을 수 없게 만든다. 강한 방사선도 역시 비트를 반전시켜서 내용을 부정확하게 만들 수 있다. 다행스러운 것..

24.03.30 운영체제, PintOS

운영체제 32. 크래시 일관성 : FSCK와 저널링 여타 자료구조와는 다르게 파일 시스템의 자료구조는 안전하게 저장되어야 한다. 파일 시스템이 가진 가장 큰 어려움은 전력 손실이나 시스템 크래시가 발생하는 상황에서도, 어떻게 안전하게 디스크 상의 내용을 갱신하는 가에 대한 문제이다. 전력손실이나 크래시 때문에 디스크 상의 자료구조를 안전하게 갱신하는 것은 상당히 까다로운 작업이 된다. 파일 시스템은 크래시 일관성(crash - consistency)라는 새롭고 흥미로운 문제에 직면한다. 어떤 특정 작업을 위해 자료구조 A와 B를 갱신해야 한다고 했을 때 디스크는 한 번에 하나의 요청만 처리할 수 있기 때문에 두 요청 중 하나의 요청이 먼저 디스크에 도달할 것이다. 하나의 쓰기 작업만 완료한 상태에서 시스..

24.03.29 운영체제, PintOS

운영체제 31. 지역성과 Fast File System 구형 파일 시스템의 장점은 단순하다는 것이며, 파일 시스템의 가장 기본적인 개념인 파일과 디렉터리만을 제공한다. 31.1 문제 : 낮은 성능 문제는 성능이 형편없다는 것이다. 구형 파일 시스템의 핵심 문제는 디스크를 마치 임의 접근 기억 장치(RAM)처럼 사용한다는 것이다. 데이터를 저장하는 매체가 디스크라는 사실을 무시하고 여기저기에 데이터를 저장하고 있기 때문에 디스크 헤드를 이동시키는데 많은 시간이 소요된다. 더 안좋은 것은 파일 시스템이 빈 공간을 효율적으로 관리하지 않기 때문에 결국에는 공간이 단편화된다. 빈 공간들이 디스크 전역에 흩어져 있으며, 새로운 블럭 할당시 무조건 리스트에서 다음 빈 블럭을 할당한다. 그 결과 파일을 순차적으로 읽..

728x90