목록분류 전체보기 (257)
Joonas' Note
Maze Generator in C++ 2학년때 학교 수업으로 MFC 배우고 방학 때 심심하고 해서 미로 생성기를 만들자! 했다. (사실은 배운게 C++, MFC 밖에 없어서..)윈도우 7 + Visual Studio 2012 로 개발한 걸로 기억한다.미로는 생각보다 단순하게 만들 수 있다. 상/하/좌/우 중 랜덤하게 하나씩 선택해서 DFS를 하면 된다. DFS를 마치고 돌아가면서 백트래킹으로 방문한 셀들을 방문할 때 진행했던 방향의 칸을 닫으면 된다. 각 셀을 4비트로 나타내면 벽의 상태를 저장할 수 있다. 백트래킹 하면서 진행한 방향에 따라 해당 셀의 비트를 적절히 건드리면 쉽다.나중에 경로 찾을때도 벽의 존재를 비트의 상태로 확인하면 편하다. 아래에 코드 첨부 랜덤으로 칸을 누비면서 미로를 만들어야..
2017/10/30 - 파일구조 요약 (1~2장) 2017/10/30 - 파일구조 요약 (3~4장) 2017/10/30 - 파일구조 요약 (5~6장) (이 글)5장. 레코드 관리 Record length레코드의 길이는 field의 크기와 상관있다. 따라서 Access, fragmentation, 구현의 정도를 보고 적절한 구조를 선택한다.header (meta-data)파일에 관한 전반적인 정보(수정 시간, 레코드의 수 등)를 기술한다. 보통 파일의 앞쪽에 적는다.IO Buffer Class MethodsWrite: 파일에 record를 적는다.Read: 파일로부터 record를 읽는다.WriteHeader: 파일의 앞에 “IOBuffer”라고 적지만, 어떤 버퍼로 풀어야하는가를 의미한다.ReadHead..
2017/10/30 - 파일구조 요약 (1~2장) 2017/10/30 - 파일구조 요약 (3~4장) (이 글) 2017/10/30 - 파일구조 요약 (5~6장)3장. Secondary StorageMagnetic Tape과 Disk, CD-ROM에 대하여 이야기한다.Disk의 구성을 소개한다.Buffer를 사용하여 효율을 높이는 기술을 소개한다.DiskSector : 디스크에 접근하기 위한 가장 작은 단위TrackCylinder (vertical collection of tracks)# of sectors per track. * bytes per sector. 와 같은 식으로 주어진 디스크 용량에서 몇 개의 실린더 혹은 섹터가 있는 지 계산하는 문제가 나올 가능성이 높다.Interleaving 어떤 계수..
2017/10/30 - 파일구조 요약 (1~2장) (이 글) 2017/10/30 - 파일구조 요약 (3~4장) 2017/10/30 - 파일구조 요약 (5~6장)교재 : File Structures: An Object-Oriented Approach with C++ 3th edtion(지금은 절판된걸로 안다)시험 보기 직전에 보려고 정말 간략하게 요약한 키워드 위주의 정리다.파일 구조가 무엇인가? 파일구조란 파일들의 데이터들을 표현하거나 그 데이터에 접근하는 연산들을 관리하는 것의 결합이다. 파일구조는 데이터를 읽고, 쓰고, 수정하는 것이 가능해야한다. 그리고 그것들을 검색하거나 특정 순서로 읽을 수 있어야한다.왜 배우는가?컴퓨터는 데이터를 크게 세 군데에 저장한다.Primary Storage : 메모리S..
사이트를 개발할 때, 외부 STMP를 많이 사용하곤 한다. 그 이유는 안정적인 것도 한 몫 하겠지만, 빠르고 편하기 때문일 것이다. 대표적으로 MailGun도 있고 하지만, 난 SendGrid가 좋았다.Free plan이라도 하루 100통의 메일은 무료로 제공해준다. 가입은 이메일이랑 이름, 사용 목적 등만 작성하면 되는데 Free plan으로 진행하면 카드 등록 절차도 필요없다. 예전에 Node.js에서 외부 메일 서버를 찾다가 SendGrid를 접했는 데, API 사용이 너무 편하고 설명도 잘 되어있어서 그 때부터 애용하고 있다. (링크: node.js에서 SendGrid 사용하기 공식 도큐먼트) 로그인하고 들어가면 아래와 같은 Dashboard가 나온다.최근에 안써서 월별(Mo) 그래프로 캡쳐했는데..
학교 웹 프로그래밍 수업시간에 과제로 했던 걸 올려본다. 간단한 CSS만 적고, Javascript 랑 HTML5 로만 작성했다. HTML5 Canvas에 대해 알아보라고 핑퐁(Ping-Pong) 게임을 만들어보라고 하셨는데, 재밌어서 기능을 계속 붙이다가 만족할 정도로 만들었다. 기간은 4~5일쯤 걸린 듯. 피드백을 받기 위해 동아리방에서 몇 명에게 부탁했는데, 의외로 재밌었는지 잠깐 유행을 탔다. (아아.. 공부가 얼마나... 말잇못)게임 시작 후 공이 바로 생겨서 힘들다는 등 피드백이 많이 도움이 되었다. 과제내용은 대략 이랬다.Project 3 - Ping-Pong gameGoal: Understand basic programming skill for javascriptProblem: Design..
[이전 블로그로부터 글 옮김] GCJ 링크 : https://code.google.com/codejam/contest/6254486/dashboardProblem A - Counting SheepN이 주어지면 N, 2N, ..., kN까지 진행했을 때, 0~9을 모두 사용하게 되는 시점 k에서의 kN을 구하는 문제이다. 문제 그대로 시뮬레이션하면 된다. large set에서 범위가 0≤N≤106 이지만 0~9가 모두 나오게 되는건 최대 100배이므로 int 범위로 충분히 표현할 수 있다. Problem B - Revenge of the Pancakes앞에서부터 k번째까지를 뒤집을 수 있다. (0~k 를 k~0으로 뒤집고 모든 -를 +로 뒤집는다. +-- 를 전부 뒤집는다면 ++- ..