Skip to content

Instantly share code, notes, and snippets.

View Astro36's full-sized avatar

Seungjae Park Astro36

View GitHub Profile
@Astro36
Astro36 / .clang-format
Last active July 29, 2021 06:37
Rust-like Clang-Format Style
# https://gist.github.com/Astro36/ef933be73050b4d5a6e0522536723a18
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
# AlignConsecutiveMacros: false
AlignEscapedNewlines: DontAlign
AlignOperands: true
AlignTrailingComments: false
# AllowAllArgumentsOnNextLine: false
@Astro36
Astro36 / baekseok.min.svg
Created February 1, 2019 02:37
Baekseok Highschool Logo
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@Astro36
Astro36 / inha.min.svg
Last active January 26, 2019 09:48
Inha Univ. Symbol Mark
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@Astro36
Astro36 / github_new_none.png
Last active December 6, 2021 09:06
The Unlicense 라이선스 정리
github_new_none.png
@Astro36
Astro36 / how-to-set-v8-build-env-on-windows.md
Last active January 11, 2019 08:02
Windows 10에서 V8 빌드 환경 세팅하기
@Astro36
Astro36 / rust-ffi-tutorial.md
Last active May 22, 2023 11:15
Node.js에서 FFI로 Rust를 이용해보자

Node.js에서 FFI로 Rust를 이용해보자

소개

Rust는 성능이 우수한 로우 레벨 프로그래밍 언어 중 하나입니다. 또한, 비용 없는 추상화, 메모리 안정성, 데이터 레이스 없는 스레딩 등등을 지원하며 C++에 비해 문법도 간결합니다. 이러한 장점의 Rust를 Node와 결합시켜 사용한다면, Node의 부족한 성능을 메꿀 수 있습니다. Node에서 Rust에서 작성한 함수를 호출하기 위해서는 FFI(Foreign function interface, 외부 함수 인터페이스)를 사용해야 합니다. 아래는 준비물입니다.

준비물

@Astro36
Astro36 / news_crawler.py
Created March 11, 2018 13:09
Naver News Crawler for Python
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import getopt
import json
import multiprocessing
import os
import re
import sys
import requests
@Astro36
Astro36 / NewsCrawler.js
Last active August 15, 2018 12:52
Naver News Crawler for Node.js
const fs = require('fs');
const jsdom = require('jsdom');
const parallel = require('parallel-tasks');
const path = require('path');
const request = require('request');
const { JSDOM } = jsdom;
const formatDate = (date) => `${date.getFullYear()}${(date.getMonth() + 1).toString().padStart(2, '0')}${date.getDate().toString().padStart(2, '0')}`;