c++

template method pattern 에 CRTP 사용하기 (c++)

그동안 개발하면서 template method pattern을 즐겨 사용하고 있는데,
virtual 함수를 이용하여 구현했었다.
그런데 CRTP 를 이용해도 비슷한(동일한건 아님) 처리가 가능하다.

libcurl POST 한글 encoding

curl 프로그램을 사용하여 POST 전송 시, 한글 데이터를 endcoding 해서 전송하는 방법은 다음과 같다.

CumBuffer : accumulating byte buffer for c++

네트워크 TCP 프로그램인 경우에 임의 길이의 작은 데이터 조각을 수신해서 누적(버퍼링)시키다가 일정 길이가 수신되면 완전한 하나의 packet으로 보고 해당 데이터를 처리하는 경우가 꼭 필요하다.

boost c++ library static link 컴파일 방법

막상 필요해서 찾다보니 잘 정리가 안되있어서 나름 정리해본다. boost 라이브러리를 이용해서 작성된 프로그램을 boost 가 설치 안된 환경에서 사용해야 하는 경우, static link 로 컴파일 해서 사용할수 있다.

Disruptor 분석 및 c++ 로 구현해보기

java 하면 일단 좀느리다는 고정관념을 깰 만큼 고성능을 내세우는 Disruptor라는 존재에 개인적으로 관심이 생겨서 잠깐 내부를 살펴보게 되었다.

g++ std::thread -pthread option?

std::thread 를 이용한 프로그램을 리눅스 환경에서 g++ 을 이용, 컴파일 하는경우 -pthread 옵션이 필요하다. 다음과 같은 샘플 프로그램이 있다고 해보자.

Linux Asynchronous I/O 예제

지금 프로젝트에서 작성한 프로그램의 개선점을 찾다보니, 비동기 작업 처리를 위해 aio를 이용하면 좋을듯 하다.

Lvalue 와 Rvalue 정리

c++11 의 기능중에 Rvalue references 을 보다 보니, Lvalue 와 Rvalue 의 판단 기준을 다시 한번 정리해야 할것 같다.

const 사용

헷갈리는 const사용시, 전통적인 const의 사용법과는 좀 틀리지만 알아보기 쉬운 스타일을 소개한 내용이다.

protothread

protothred 는 주로 쓰레드 사용의 장점이 필요하지만, 기존 쓰레드 생성시의 부하, 즉 쓰레드별 스택 생성됨으로 인해 메모리 사용양이 문제가 되는 임베디드 시스템등에서 사용할 목적으로 작성되었다.

Member Function Pointers 활용

어떤 변수의 값에 따라서 클래스 멤버함수를 각각 호출해야하는 상황이라면, 아마 다음처럼 코딩을 하게 될것이다.

Expression template

Expression template 은 과학, 수치 계산용 프로그램 같은, 고도의 성능이 중요시되는 코드를 작성하기 위한 방법으로 C++의 템플릿 을 활용한 것이다.

RtlpNotOwnerCriticalSection

Exception code: C0000264 {응용 프로그램 오류} 응용 프로그램이 소유하고 있지 않은 리소스를 해제하려고 했습니다. 응용 프로그램을 마치려면 [확인]을 클릭하십시오.

Back to Top ↑

python

tablesaw, jep : java 에서 pandas를 사용하기

java에서 python 코드를 사용하려면 jep 을 이용해서 기존코드 (파이선모듈의 C 종속성 상관없이)를 그대로 활용할수 있다. 또한 python 에서 java 코드를 사용하는것도 가능하다

airflow ExternalTaskSensor 사용 시 고려해야 할것들

지금 하고 있는 프로젝트에서 airflow ExternalTaskSensor 를 사용해서 다른 dag 에서 호출한것을 감지하는 부분이 있다. 이것을 사용할 때 몇가지 고려할 사항이 있었는데 한번 정리해 본다.

(python) pandas 처리 속도 개선에 대하여

지금 하고 있는 프로젝트에서 python pandas 와 numpy를 사용해서 데이터를 처리하는 부분이 있다. 그런데 기존에 있던 처리 속도가 느려서 이 부분을 검토하면서, 처리 속도를 높이기 위해 이것 저것 수정해서 테스트 하다 보니 알게 된 것들이 있어서 정리해 본다.

python decorator

```python #!/usr/bin/env python

-- encoding:utf-8--

import time

Django 게시판 만들기 1 - 설치 및 설정

Python 을 이용한 웹 개발 프레임워크인 django를 이용해서, 간단한 게시판을 만들어 보자. 앞서 스프링을 이용해서 작성된 게시판 과 동일한 기능을 수행하는 간단한 게시판이다.

Back to Top ↑

javascript

AngularJS 게시판

AngularJS(1.3.6)+ Express + mongojs 이용한 간단한 게시판

JavaScript Allongé eBook 구입

javascript-allonge 얼마 전 Hacker News 에 소개된 전자책인데 leanpub을 통해 구입해서 읽고 있다 . PDF혹은 아이패드나 아이폰에서도 볼수 있는 eBook 형식으로 제공된다. JavaScript Allongé 는 기본 문법을 알고 있는 독자를 대상으로, 각 장마다 자바 스크립트의 함수를 사용하는 새로운 관점들을 소개하고 있다. 그리고 각 장이 끝날 때마다 recipes 항목을 통해서, 앞서 배웠던 항목을 기본으로, 실용적인 활용 법을 소개해주고 있다. 개인적으로 추천할만한 내용이라고 생각한다. 한번 방문해보시길… (Allongé 는 에스프레소와 아메리카노의 중간 정도 되는 커피라고 한다~커피관련 지식은 덤^^)

node.js 분석

Node.js source code analysis (How node executes user code ?)

Back to Top ↑

golang

golang 1.18의 workspace mode 알아보기

이번에 1.18 버전이 나오면서 크게 변경된 것 (generic, fuzzing, 성능 향상, workspace 모드) 중에서 나에겐 workspace 의 유용함이 가장 먼저 다가왔다.
실제 프로젝트에서 golang 으로 개발하는 경우에 아주 유용한 기능이라고 생각된다.

Go 1.16 에서 $GOPATH/src 에서 코드 작성하고 사용하기

Go 1.16 버전 부터는 기본적으로 module 을 사용하게 변경 되었다. 덕분에 GOPATH 와 상관없이 아무 위치에서든 자신의 소스파일을 작성하면 된다. 그리고 모듈을 사용하기 위한 go.mod 파일이 반드시 필요하게 되었다. 하지만 1.16 버전에서도 선택적으로 module 사용을 할지 말지 여부를 결정 할 수 있다. 예를 들어 기존 프로젝트 구조가 GOPATH 내 src 를 사용하는 경우등이 해당될수 있다.

go 에서 proto buffer 사용하기

proto buffer 를 정의 -> go 로 변환하여 모듈을 만들고 -> 이 모듈을 로컬에서 호출해서 사용 하는 간단한 예제를 정리해 본다 (go 1.16 버전을 기준)

Back to Top ↑

게시판

Ruby on Rails 간단 게시판

요즘 취미로 Ruby on Rails 에 대해 공부하고 있는데, 간단한 게시판 예제를 작성 해보자.

Django 게시판 만들기 1 - 설치 및 설정

Python 을 이용한 웹 개발 프레임워크인 django를 이용해서, 간단한 게시판을 만들어 보자. 앞서 스프링을 이용해서 작성된 게시판 과 동일한 기능을 수행하는 간단한 게시판이다.

Back to Top ↑

node.js

node.js 의 thread pool(libuv) 부분

node.js 에서의 입출력 동작은 멀티쓰레드(thread pool)로 구현된다. 소스 코드에서 이 부분을 정리해본다.

node.js 분석

Node.js source code analysis (How node executes user code ?)

Back to Top ↑

java

tablesaw, jep : java 에서 pandas를 사용하기

java에서 python 코드를 사용하려면 jep 을 이용해서 기존코드 (파이선모듈의 C 종속성 상관없이)를 그대로 활용할수 있다. 또한 python 에서 java 코드를 사용하는것도 가능하다

Spring Remote (RMI) 예제

오늘 살펴볼 스프링 Remote 중에서 RMI 지원은 단순한 POJO 작성만으로도 RMI 서비스를 간편하게 발행할 수 있게 해준다.

Back to Top ↑

AngularJS

AngularJS 게시판

AngularJS(1.3.6)+ Express + mongojs 이용한 간단한 게시판

Back to Top ↑

spring

Spring Remote (RMI) 예제

오늘 살펴볼 스프링 Remote 중에서 RMI 지원은 단순한 POJO 작성만으로도 RMI 서비스를 간편하게 발행할 수 있게 해준다.

Back to Top ↑

Django

Django 게시판 만들기 1 - 설치 및 설정

Python 을 이용한 웹 개발 프레임워크인 django를 이용해서, 간단한 게시판을 만들어 보자. 앞서 스프링을 이용해서 작성된 게시판 과 동일한 기능을 수행하는 간단한 게시판이다.

Back to Top ↑

vim

Back to Top ↑

iphone

Feeling Note App 출시

취미삼아 간단한 노트앱을 만들어보자며 손댄지 아주 오랬만에 오늘 앱스토어에 등록됨.

sizeWithFont오류

UITextView 기존내용을 사용자가 터치한 경우, 편집상태로 만들면서 커서를 보이면서 화면을 보이게끔 스크롤이 필요하다.

UIImagePicker Memory Warnning viewDidUnload

UIImagePicker 를 이용해서 사진을 찍어서 일기장 어플에 삽입시키는 로직을 구현중에 골치아픈(그리고 구글에서도 해답을 속시원하게 찾을수없는) 현상을 겪게 되었다.

Back to Top ↑

Ruby on Rails

Ruby on Rails 간단 게시판

요즘 취미로 Ruby on Rails 에 대해 공부하고 있는데, 간단한 게시판 예제를 작성 해보자.

Windows 에서 Ruby on Rails (RoR) 3.2.8 + Oracle XE 11g

RoR 은 기본적으로 Sqlite 를 Database로 제공해주고 있다. 나는 Oracle XE를 개발용으로 사용중이라서, 여기에 맞춰서 설정을 해보기로 했다. 개발 환경은 다음과 같다.

Back to Top ↑

flutter

Back to Top ↑

numpy

tablesaw, jep : java 에서 pandas를 사용하기

java에서 python 코드를 사용하려면 jep 을 이용해서 기존코드 (파이선모듈의 C 종속성 상관없이)를 그대로 활용할수 있다. 또한 python 에서 java 코드를 사용하는것도 가능하다

(python) pandas 처리 속도 개선에 대하여

지금 하고 있는 프로젝트에서 python pandas 와 numpy를 사용해서 데이터를 처리하는 부분이 있다. 그런데 기존에 있던 처리 속도가 느려서 이 부분을 검토하면서, 처리 속도를 높이기 위해 이것 저것 수정해서 테스트 하다 보니 알게 된 것들이 있어서 정리해 본다.

Back to Top ↑

App개발

Feeling Note App 출시

취미삼아 간단한 노트앱을 만들어보자며 손댄지 아주 오랬만에 오늘 앱스토어에 등록됨.

Back to Top ↑

protothread

protothread

protothred 는 주로 쓰레드 사용의 장점이 필요하지만, 기존 쓰레드 생성시의 부하, 즉 쓰레드별 스택 생성됨으로 인해 메모리 사용양이 문제가 되는 임베디드 시스템등에서 사용할 목적으로 작성되었다.

Back to Top ↑

MyBatis

Back to Top ↑

MyBatis-Spring

Back to Top ↑

linux

Linux Asynchronous I/O 예제

지금 프로젝트에서 작성한 프로그램의 개선점을 찾다보니, 비동기 작업 처리를 위해 aio를 이용하면 좋을듯 하다.

Back to Top ↑

NERDTree

Back to Top ↑

oracle

oracle ACL

oracle stored procedure 등에서 외부 ip address접근 시도시 ACL오류 발생 하는 경우 다음을 확인해본다. sysdba 권한이 필요하다.

Back to Top ↑

Disruptor

Disruptor 분석 및 c++ 로 구현해보기

java 하면 일단 좀느리다는 고정관념을 깰 만큼 고성능을 내세우는 Disruptor라는 존재에 개인적으로 관심이 생겨서 잠깐 내부를 살펴보게 되었다.

Back to Top ↑

CumBuffer

CumBuffer : accumulating byte buffer for c++

네트워크 TCP 프로그램인 경우에 임의 길이의 작은 데이터 조각을 수신해서 누적(버퍼링)시키다가 일정 길이가 수신되면 완전한 하나의 packet으로 보고 해당 데이터를 처리하는 경우가 꼭 필요하다.

Back to Top ↑

삽질기록

Back to Top ↑

ubuntu

Back to Top ↑

proto buffer

go 에서 proto buffer 사용하기

proto buffer 를 정의 -> go 로 변환하여 모듈을 만들고 -> 이 모듈을 로컬에서 호출해서 사용 하는 간단한 예제를 정리해 본다 (go 1.16 버전을 기준)

Back to Top ↑

apple

macbook pro 2012 mid LCD replacement (맥북 액정 교체기)

지금 사용중인 맥북 프로가 몇달전에 갑자기 화면에 세로줄들이 발생했다. 외부 디스플레이는 문제 없는 상태라서 로직 보드 문제는 아닌거 같다. 새로 살 필요까지는 없는거 같아서 맥북 수명 연장에 좀 투자 하기로 했다.

맥북 배터리 스로틀링

macbook pro 2012 mid 의 배터리를 교체하기 위해 제거하고, 지금 전원 어댑터만 연결해서 사용을 해보니 심각한 속도 저하가 발생하고 있다.

Back to Top ↑

pandas

tablesaw, jep : java 에서 pandas를 사용하기

java에서 python 코드를 사용하려면 jep 을 이용해서 기존코드 (파이선모듈의 C 종속성 상관없이)를 그대로 활용할수 있다. 또한 python 에서 java 코드를 사용하는것도 가능하다

(python) pandas 처리 속도 개선에 대하여

지금 하고 있는 프로젝트에서 python pandas 와 numpy를 사용해서 데이터를 처리하는 부분이 있다. 그런데 기존에 있던 처리 속도가 느려서 이 부분을 검토하면서, 처리 속도를 높이기 위해 이것 저것 수정해서 테스트 하다 보니 알게 된 것들이 있어서 정리해 본다.

Back to Top ↑

Onions in the Varnish

Onions in the Varnish

이 뜻의 유래는 , 이탈리아계 유대인 작가·화학자였으며, 나치의 유태인 대학살에 대한 회고록으로 널리 알려진 Primo Levi 가 varnish (니스)를 생산하는 화학 공장에서 일할 무렵으로 거슬러 올라간다.

Back to Top ↑

D언어

Back to Top ↑

TryEnterCriticalSection

RtlpNotOwnerCriticalSection

Exception code: C0000264 {응용 프로그램 오류} 응용 프로그램이 소유하고 있지 않은 리소스를 해제하려고 했습니다. 응용 프로그램을 마치려면 [확인]을 클릭하십시오.

Back to Top ↑

EnterCriticalSection

RtlpNotOwnerCriticalSection

Exception code: C0000264 {응용 프로그램 오류} 응용 프로그램이 소유하고 있지 않은 리소스를 해제하려고 했습니다. 응용 프로그램을 마치려면 [확인]을 클릭하십시오.

Back to Top ↑

LeaveCriticalSection

RtlpNotOwnerCriticalSection

Exception code: C0000264 {응용 프로그램 오류} 응용 프로그램이 소유하고 있지 않은 리소스를 해제하려고 했습니다. 응용 프로그램을 마치려면 [확인]을 클릭하십시오.

Back to Top ↑

RtlpNotOwnerCriticalSection

RtlpNotOwnerCriticalSection

Exception code: C0000264 {응용 프로그램 오류} 응용 프로그램이 소유하고 있지 않은 리소스를 해제하려고 했습니다. 응용 프로그램을 마치려면 [확인]을 클릭하십시오.

Back to Top ↑

소유하고 있지 않은 리소스를 해제

RtlpNotOwnerCriticalSection

Exception code: C0000264 {응용 프로그램 오류} 응용 프로그램이 소유하고 있지 않은 리소스를 해제하려고 했습니다. 응용 프로그램을 마치려면 [확인]을 클릭하십시오.

Back to Top ↑

RVO

Expression template

Expression template 은 과학, 수치 계산용 프로그램 같은, 고도의 성능이 중요시되는 코드를 작성하기 위한 방법으로 C++의 템플릿 을 활용한 것이다.

Back to Top ↑

템플릿

Expression template

Expression template 은 과학, 수치 계산용 프로그램 같은, 고도의 성능이 중요시되는 코드를 작성하기 위한 방법으로 C++의 템플릿 을 활용한 것이다.

Back to Top ↑

Expression template

Expression template

Expression template 은 과학, 수치 계산용 프로그램 같은, 고도의 성능이 중요시되는 코드를 작성하기 위한 방법으로 C++의 템플릿 을 활용한 것이다.

Back to Top ↑

Member Function Pointers

Member Function Pointers 활용

어떤 변수의 값에 따라서 클래스 멤버함수를 각각 호출해야하는 상황이라면, 아마 다음처럼 코딩을 하게 될것이다.

Back to Top ↑

Memory Warnning

UIImagePicker Memory Warnning viewDidUnload

UIImagePicker 를 이용해서 사진을 찍어서 일기장 어플에 삽입시키는 로직을 구현중에 골치아픈(그리고 구글에서도 해답을 속시원하게 찾을수없는) 현상을 겪게 되었다.

Back to Top ↑

UIImagePicker

UIImagePicker Memory Warnning viewDidUnload

UIImagePicker 를 이용해서 사진을 찍어서 일기장 어플에 삽입시키는 로직을 구현중에 골치아픈(그리고 구글에서도 해답을 속시원하게 찾을수없는) 현상을 겪게 되었다.

Back to Top ↑

viewDidUnload

UIImagePicker Memory Warnning viewDidUnload

UIImagePicker 를 이용해서 사진을 찍어서 일기장 어플에 삽입시키는 로직을 구현중에 골치아픈(그리고 구글에서도 해답을 속시원하게 찾을수없는) 현상을 겪게 되었다.

Back to Top ↑

sizeWithFont

sizeWithFont오류

UITextView 기존내용을 사용자가 터치한 경우, 편집상태로 만들면서 커서를 보이면서 화면을 보이게끔 스크롤이 필요하다.

Back to Top ↑

c

Back to Top ↑

Duff's device

Back to Top ↑

const

const 사용

헷갈리는 const사용시, 전통적인 const의 사용법과는 좀 틀리지만 알아보기 쉬운 스타일을 소개한 내용이다.

Back to Top ↑

어셈블리

Back to Top ↑

google data api

Back to Top ↑

proactor

Back to Top ↑

hibernate4

Back to Top ↑

tomcat maven plugin

Back to Top ↑

git

Back to Top ↑

spring remote

Spring Remote (RMI) 예제

오늘 살펴볼 스프링 Remote 중에서 RMI 지원은 단순한 POJO 작성만으로도 RMI 서비스를 간편하게 발행할 수 있게 해준다.

Back to Top ↑

RMI

Spring Remote (RMI) 예제

오늘 살펴볼 스프링 Remote 중에서 RMI 지원은 단순한 POJO 작성만으로도 RMI 서비스를 간편하게 발행할 수 있게 해준다.

Back to Top ↑

CodeBlock

Back to Top ↑

mingw32-gcc

Back to Top ↑

Lvalue 와 Rvalue

Lvalue 와 Rvalue 정리

c++11 의 기능중에 Rvalue references 을 보다 보니, Lvalue 와 Rvalue 의 판단 기준을 다시 한번 정리해야 할것 같다.

Back to Top ↑

Oracle XE

Windows 에서 Ruby on Rails (RoR) 3.2.8 + Oracle XE 11g

RoR 은 기본적으로 Sqlite 를 Database로 제공해주고 있다. 나는 Oracle XE를 개발용으로 사용중이라서, 여기에 맞춰서 설정을 해보기로 했다. 개발 환경은 다음과 같다.

Back to Top ↑

flask

Back to Top ↑

decorator

python decorator

```python #!/usr/bin/env python

-- encoding:utf-8--

import time

Back to Top ↑

regular expression

Back to Top ↑

error handling

Back to Top ↑

FeelingNote

Back to Top ↑

aio

Linux Asynchronous I/O 예제

지금 프로젝트에서 작성한 프로그램의 개선점을 찾다보니, 비동기 작업 처리를 위해 aio를 이용하면 좋을듯 하다.

Back to Top ↑

망상

Back to Top ↑

공상

Back to Top ↑

QT

Back to Top ↑

chat server

Back to Top ↑

바퀴의 재발명

Back to Top ↑

삽질

Back to Top ↑

becomeFirstResponder

Back to Top ↑

ACL

oracle ACL

oracle stored procedure 등에서 외부 ip address접근 시도시 ACL오류 발생 하는 경우 다음을 확인해본다. sysdba 권한이 필요하다.

Back to Top ↑

gcc

Back to Top ↑

strtok

Back to Top ↑

radius

Back to Top ↑

수식트리

Back to Top ↑

미세먼지

Back to Top ↑

-pthread

g++ std::thread -pthread option?

std::thread 를 이용한 프로그램을 리눅스 환경에서 g++ 을 이용, 컴파일 하는경우 -pthread 옵션이 필요하다. 다음과 같은 샘플 프로그램이 있다고 해보자.

Back to Top ↑

g++

g++ std::thread -pthread option?

std::thread 를 이용한 프로그램을 리눅스 환경에서 g++ 을 이용, 컴파일 하는경우 -pthread 옵션이 필요하다. 다음과 같은 샘플 프로그램이 있다고 해보자.

Back to Top ↑

std::thread

g++ std::thread -pthread option?

std::thread 를 이용한 프로그램을 리눅스 환경에서 g++ 을 이용, 컴파일 하는경우 -pthread 옵션이 필요하다. 다음과 같은 샘플 프로그램이 있다고 해보자.

Back to Top ↑

내가 본 거지같은 소스들

Back to Top ↑

개발자등록 지금 할까말까

ios8 업데이트

어제 애플이 ios8 업데이트를 배포했다고 바로 이런 메일이 도착.

Back to Top ↑

objectC

Back to Top ↑

ios8

Back to Top ↑

번역

Effective Object-C 2.0

며칠전 강컴으로 구입한 책이다. 책을 사서 처음 부터 읽지 않고 관심있는 부분부터 보는 습관인데, 지금까지 2개의 아이템만을 읽었을 뿐인데 번역의 질이 실망스럽다. 처음부터 완전 엉망은 아니지만, 100% 번역을 믿고 읽을 수준은 아니라서, 이런책이 원서보다 더 읽기 힘든책이다. 그리고 단지 2개의 아이템을 읽었을 뿐인데 편집상의 심각한 오류도 보인다. 도저히 무슨 내용인지 몰라 고민하다가 인터넷으로 원서내용을 볼수 있는 사이트를 알게돼서 직접 비교해보았다.

Back to Top ↑

Effective Object-C 2.0

며칠전 강컴으로 구입한 책이다. 책을 사서 처음 부터 읽지 않고 관심있는 부분부터 보는 습관인데, 지금까지 2개의 아이템만을 읽었을 뿐인데 번역의 질이 실망스럽다. 처음부터 완전 엉망은 아니지만, 100% 번역을 믿고 읽을 수준은 아니라서, 이런책이 원서보다 더 읽기 힘든책이다. 그리고 단지 2개의 아이템을 읽었을 뿐인데 편집상의 심각한 오류도 보인다. 도저히 무슨 내용인지 몰라 고민하다가 인터넷으로 원서내용을 볼수 있는 사이트를 알게돼서 직접 비교해보았다.

Back to Top ↑

cafe24

nodejs 호스팅 비추천

c모 사의 node.js 호스팅 절약형 을 신청해서 사용하려 했는데, 결국 내린 결론은 도저히 사용할만한 서비스가 아니란 거다. heroku에서 아무 문제 없이 돌아가던것 간단한 app도 여기서는 안된다. 일단 package.json에 기입한 모듈들이 제대로 설치되는건지 그 로그조차 확인 할수 없다.

Back to Top ↑

ultraedit

UltraEdit 한글 버튼 메뉴 수정

업무용으로 주로 사용하는 UltraEdit 에서 프로젝트 메뉴의 파일설정, 한글 메뉴버튼 번역 잘못됐다고 알려줬더니 이번 22.10.0.12 업데이트에서 수정이 됬다. 볼때마다 불만이었는데 이젠 편안하게 메뉴를 볼수 있겠군.

Back to Top ↑

queue

Back to Top ↑

atomic

Back to Top ↑

boost

boost c++ library static link 컴파일 방법

막상 필요해서 찾다보니 잘 정리가 안되있어서 나름 정리해본다. boost 라이브러리를 이용해서 작성된 프로그램을 boost 가 설치 안된 환경에서 사용해야 하는 경우, static link 로 컴파일 해서 사용할수 있다.

Back to Top ↑

scott meyer

Back to Top ↑

epoll

Back to Top ↑

kqueue

Back to Top ↑

network

Back to Top ↑

ssh

Back to Top ↑

fork

Back to Top ↑

localtime_r

Back to Top ↑

curl

libcurl POST 한글 encoding

curl 프로그램을 사용하여 POST 전송 시, 한글 데이터를 endcoding 해서 전송하는 방법은 다음과 같다.

Back to Top ↑

libcurl

libcurl POST 한글 encoding

curl 프로그램을 사용하여 POST 전송 시, 한글 데이터를 endcoding 해서 전송하는 방법은 다음과 같다.

Back to Top ↑

smi

Back to Top ↑

euc-kr

Back to Top ↑

template method pattern

template method pattern 에 CRTP 사용하기 (c++)

그동안 개발하면서 template method pattern을 즐겨 사용하고 있는데,
virtual 함수를 이용하여 구현했었다.
그런데 CRTP 를 이용해도 비슷한(동일한건 아님) 처리가 가능하다.

Back to Top ↑

CRTP

template method pattern 에 CRTP 사용하기 (c++)

그동안 개발하면서 template method pattern을 즐겨 사용하고 있는데,
virtual 함수를 이용하여 구현했었다.
그런데 CRTP 를 이용해도 비슷한(동일한건 아님) 처리가 가능하다.

Back to Top ↑

니맘대로하면안된다

Back to Top ↑

ASock

Back to Top ↑

redis-benchmark

Back to Top ↑

redis

Back to Top ↑

numa

Back to Top ↑

wsl

Back to Top ↑

IdeaVim

Back to Top ↑

IntelliJ IDEA

Back to Top ↑

swift

Back to Top ↑

dart

Back to Top ↑

kotlin

Back to Top ↑

breaking upgrade

Back to Top ↑

null safety

Back to Top ↑

pushup

Back to Top ↑

gRPC-Gateway

Back to Top ↑

gRPC

Back to Top ↑

module path

Back to Top ↑

GOPATH

Go 1.16 에서 $GOPATH/src 에서 코드 작성하고 사용하기

Go 1.16 버전 부터는 기본적으로 module 을 사용하게 변경 되었다. 덕분에 GOPATH 와 상관없이 아무 위치에서든 자신의 소스파일을 작성하면 된다. 그리고 모듈을 사용하기 위한 go.mod 파일이 반드시 필요하게 되었다. 하지만 1.16 버전에서도 선택적으로 module 사용을 할지 말지 여부를 결정 할 수 있다. 예를 들어 기존 프로젝트 구조가 GOPATH 내 src 를 사용하는 경우등이 해당될수 있다.

Back to Top ↑

lcd replacement

macbook pro 2012 mid LCD replacement (맥북 액정 교체기)

지금 사용중인 맥북 프로가 몇달전에 갑자기 화면에 세로줄들이 발생했다. 외부 디스플레이는 문제 없는 상태라서 로직 보드 문제는 아닌거 같다. 새로 살 필요까지는 없는거 같아서 맥북 수명 연장에 좀 투자 하기로 했다.

Back to Top ↑

macbook pro 2012 mid

macbook pro 2012 mid LCD replacement (맥북 액정 교체기)

지금 사용중인 맥북 프로가 몇달전에 갑자기 화면에 세로줄들이 발생했다. 외부 디스플레이는 문제 없는 상태라서 로직 보드 문제는 아닌거 같다. 새로 살 필요까지는 없는거 같아서 맥북 수명 연장에 좀 투자 하기로 했다.

Back to Top ↑

mariadb

Back to Top ↑

maxscale

Back to Top ↑

socket

Back to Top ↑

tcp

Back to Top ↑

scipy

Back to Top ↑

rust

Back to Top ↑

airflow

airflow ExternalTaskSensor 사용 시 고려해야 할것들

지금 하고 있는 프로젝트에서 airflow ExternalTaskSensor 를 사용해서 다른 dag 에서 호출한것을 감지하는 부분이 있다. 이것을 사용할 때 몇가지 고려할 사항이 있었는데 한번 정리해 본다.

Back to Top ↑

jupyter

Back to Top ↑

tablesaw

tablesaw, jep : java 에서 pandas를 사용하기

java에서 python 코드를 사용하려면 jep 을 이용해서 기존코드 (파이선모듈의 C 종속성 상관없이)를 그대로 활용할수 있다. 또한 python 에서 java 코드를 사용하는것도 가능하다

Back to Top ↑

jep

tablesaw, jep : java 에서 pandas를 사용하기

java에서 python 코드를 사용하려면 jep 을 이용해서 기존코드 (파이선모듈의 C 종속성 상관없이)를 그대로 활용할수 있다. 또한 python 에서 java 코드를 사용하는것도 가능하다

Back to Top ↑