본문 바로가기

자체 문서화 코드 들어가기 개발하다 보면 코드에 주석을 달라는 말을 많이 듣는다. 이 말은 대부분의 코드는 이해 힘들기 때문에 코드에 대한 주석을 추가해서 코드 이해를 하기 쉽게 하기 위한 목적이다. 이 글은 코드를 이해하기 위한 시작에 대한 이야기이다. CodeCraft에서 재미난 주제로 다룬 내용이 있어서 여러 분과 공유하고 싶어서 정리해보았다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 코드에 주석 달기 코드에 주석 달기는 매우 흔하게 하는 작업이다. 개발하는 과정에서 설계나 별도 문서가 잘 작성되어 있어서 주석이 필요없을지도 모른다. 그렇지만 현실에서는 그런 문서가 없을 가능성이 매우 높다. 또한 있다고 해서 거의 쓸모 없는 경우가 많고 코드가 오랜동안 유지보수된.. 더보기
[HTML5] tistory에서 카테고리 선택 팝업창 추가 들어가기 tistory에서 글이 많아지면서 원하는 글을 찾기위해 카테고리 별로 선택할 수 있는 기능이 필요했다. 현재 사용하는 스킨이 나쁘지는 않아 변경할 생각은 없었다. 그래서 카테고리 선택하는 팝업창을 만들기로 했다. 어떻게 만드는지 살펴보자. 이글은 HTML과 CSS에 대한 자세히 설명은 생략했다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 스킨 편집 하기 먼저 스킨 편집기로 이동해야 한다. 관리자 화면에서 [꾸미기 > 스킨편집] 버튼이 있다. 클릭하면 스킨편집 화면이 새로운 탭으로 열린다. 스킨편집 화면 오른쪽에 [html 편집] 버튼이 있다. [html 편집] 버튼을 클릭하면 팝업 경고 창이 뜨는데 자신이 수정하다가 문제가 생기면 알아서 해결(.. 더보기
The C10k Problem 들어가기재미있는 문서가 있어서 내용을 정리해보았다. 해당 문서는 Dan Kegel의 "The C10k problem" 이라는 문서로 C10k에 대한 문제를 다루고 있다. C10k는 한 시스템에서 1만 연결을 처리할 수 있을까에 대한 문제이다. 물론 I/O가 많거나 CPU 계산량이 많은 처리는 어려울 수 있지만, 시스템에 처리할 수 있는 처리량에 대한 문제을 검토하고 해결 방안을 살펴보는 내용이다. 오래된 자료이지만 어떤 부분은 참고할 만 하다.작성자: ospace114@empal.com, http://ospace.tistory.com/개요시스템 사양이 1000MHz CPU이고 2G Ram와 1Gbps Ethernet을 가지고 가격은 $1200이 있다고 하자. 이 시스템은 20000명 사용자가 있고 동시에.. 더보기
[Javascript] Javascript의 prototype에 대한 고찰 들어가기 Javascript는 웹환경에서 핵심 기술로 이미 잘 알려진 프로그래밍 언어이다. javascript는 일급 함수을 가진 가벼운 인터프리터이다. javascript는 prototype 기반이고, 다중 패러다임, 싱글 쓰레드, 동적 언어이며 객체지향, 명령형, 선언형 스타일을 지원한다. 대부분은 javascirpt을 스크립트 언어로 이벤트 기반으로 객체지향 언어처럼 사용하고 있다. 여기서 prototype 기반이라는 의미를 다시 생각볼려고 한다. 물론 다양한 패러다임이 있기 때문에 다른 형태로 비슷하게 작성할 수 있다. 이글의 목적은 javascript에서 prototype에 대해 생각해보는 기회를 가져볼려고 한다. 작성자: ospace114@empal.com, http://ospace.tisto.. 더보기
Rust 배우기3 - 활용 들어가기 이번은 Rust의 표준 라이브러리를 다루는 글이지만, 표준 라이브러리 전체를 다루기 보다는 그중에 핵심 일부만 다룬다. 어쩌면 Rust 문법을 활용한다고 생각해서 제목을 “활용“으로 지었다. 그리고 잡다한 것도 추가했다. 이번 글은 “활용”이지만 심화보다 더 어려울 수도 있고 어쩌면 쉬울 수도 있다. 시작해보자. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 컬렉션 Rust에서 제공되는 컬렉션 중에 벡터(vector), 스트링(string), 해쉬맵(hash map)에 대해서 살펴보자. 벡터 Vec 벡터 타입은 같은 타입 값을 리스트 형태로 저장하는 컬렉션이다. 벡터 인젝스는 0에서 시작한다. 사용하는 방법을 간단하게 보자. // 신규 생성 let.. 더보기
Rust 배우기2 - 심화 들어가기심화에서는 좀더 Rust를 깊게 들어갈려고 한다. 이글에서는 오프라인에서 Cargo를 사용할 예정이다. 그렇기 때문에 사전에 Cargo 설치가 필요하다. 구글링해서 검색하거나 참고[3]을 참고하시기 바란다. 이글에서는 Cargo 설치에 대해서는 다루지 않는다. 이제부터 Rust에 대해서 좀더 깊게 들어가보자.작성자: ospace114@empal.com, http://ospace.tistory.com/CargoCargo는 Rust의 빌드 시스템 및 패키지 매니저이다. 코드 빌드 및 라이브러리 다운로드 및 설치를 수행한다. 먼저 Cargo로 프로젝트 관리하는 방법을 간단히 살펴보자.프로젝트 생성먼저 hello_cargo 프로젝트 생성해보자.$ cargo new hello_cargo --bin$ cd .. 더보기
Rust 배우기1 - 기본 들어가기이전부터 Rust 언어를 들어었지만 관심을 가지기 시작한 시점은 마이크로소프트가 핵심 코드를 Rust로 작성한다는 소식을 알게되었을 때이다. 러스트가 시스템 프로그래밍에도 사용할 수 있는 언어이고 C++을 대체하고 있다고 한다. 평소에 C++에 관심이 있어서 이번 기회에 한번 Rust을 정리하고 갈려고한다. 이전에 Kotlin을 정리했을 보다 시간이 다소 걸리에 시간을 두고 접근해야 한다. 기본에서는 가급적 Rust 언어 자체에 집중하고 표준 라이브러리에 대해 가급적 다루지 않을려고 한다. 또한 포인터와 참조에 대해서 어느정도 이해하고 있다고 가정하고 최대한 간략하게 설명하고 가급적 예제 중심으로 기능을 설명하려고 한다.작성자: ospace114@empal.com, http://ospace.tis.. 더보기
[kanban] 칸반보드 들어가기 칸반보드는 개인 혹은 작은 조직에서 작업을 관리를 위한 칸반을 구현하기 위한 도구이다. 칸반보드는 직관적이기 때문에 쉽게 적용할 수 있는 장점이 있다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 칸반보드란 칸반보드는 연속적 작업 흐름에 대한 처리 방식을 정의하고 있다. 칸반보드의 특징은 프로세스 단계를 컬럼으로 시각적으로 분리하고 프로세스 단계의 작업을 표시한다. 또한 작업을 왼쪽 컬럼에서 오른쪽 컬럼으로 이동하면서 진행상황을 표시한다. 모든 이슈는 큐에 입력되고, 개발 프로세스는 큐에 있는 이슈를 가져와서 처리한다. 오른쪽으로 이동하면 단계별로 처리가 되며 최종적으로 완료 처리한다. 큐에는 우선순위 높은 이슈가 높은 위치에 놓이게 된다. 칸반.. 더보기

반응형