본문 바로가기

[javascript] Underscore 성능 들어가기 Unserscore는 함수형 프로그래밍을 지원하는 자바스크립트 라이브러리입니다. 성능을 좀더 향상하고 효율적으로 처리하기 위해서 많이 사용하고 있습니다. 성능에 대해 조금 다룰려고 합니다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 데이터 구조 사용할 데이터 구조는 다음과 같다. contents 배열이 있고, contents안에 다시 files 배열이 있다. 여기서 원하는 부분은 files 배열안에 있는 file_id를 배열 형태로 추출하고 싶다. Underscore로 추출 Underscore로 file_id를 추출할 수 있는 방법이 몇가지가 있다. 방법1 먼저 reduce(), union(), map()을 활용해보자. var a = _.red.. 더보기
자체 문서화 코드 들어가기 개발하다 보면 코드에 주석을 달라는 말을 많이 듣는다. 이 말은 대부분의 코드는 이해 힘들기 때문에 코드에 대한 주석을 추가해서 코드 이해를 하기 쉽게 하기 위한 목적이다. 이 글은 코드를 이해하기 위한 시작에 대한 이야기이다. 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/ Cargo Cargo는 Rust의 빌드 시스템 및 패키지 매니저이다. 코드 빌드 및 라이브러리 다운로드 및 설치를 수행한다. 먼저 Cargo로 프로젝트 관리하는 방법을 간단히 살펴보자. 프로젝트 생성 먼저 hello_cargo 프로젝트 생성해보자. $ cargo new hello_cargo --b.. 더보기
Rust 배우기1 - 기본 들어가기 이전부터 Rust 언어를 들어었지만 관심을 가지기 시작한 시점은 마이크로소프트가 핵심 코드를 Rust로 작성한다는 소식을 알게되었을 때이다. 러스트가 시스템 프로그래밍에도 사용할 수 있는 언어이고 C++을 대체하고 있다고 한다. 평소에 C++에 관심이 있어서 이번 기회에 한번 Rust을 정리하고 갈려고한다. 이전에 Kotlin을 정리했을 보다 시간이 다소 걸리에 시간을 두고 접근해야 한다. 기본에서는 가급적 Rust 언어 자체에 집중하고 표준 라이브러리에 대해 가급적 다루지 않을려고 한다. 또한 포인터와 참조에 대해서 어느정도 이해하고 있다고 가정하고 최대한 간략하게 설명하고 가급적 예제 중심으로 기능을 설명하려고 한다. 작성자: ospace114@empal.com, http://ospace.t.. 더보기

반응형