Skip to content

Instantly share code, notes, and snippets.

View sokcuri's full-sized avatar

Sokcuri sokcuri

View GitHub Profile
@sokcuri
sokcuri / test.json
Last active September 14, 2016 22:02
{
"hashKey": "17369498287f8de034801a9c0e3dc4ad7a613523"
}
@sokcuri
sokcuri / petitlyrics_getlyrics.js
Last active February 10, 2022 21:18
PetitLyrics GetLyrics Script
function e(){if(document.URL.lastIndexOf('petitlyrics.com/lyrics/')==-1)return;$.post('//petitlyrics.com/com/get_lyrics.ajax',{lyrics_id:document.URL.substring(document.URL.lastIndexOf('/')+1)},function(data){let s='';for(let x of data){s+=Base64.decode(x.lyrics)+'\r\n';};prompt($('.title-bar').text(),s);})};e();
@sokcuri
sokcuri / DogBlocker_Filter_1.06.txt
Last active April 14, 2017 14:52
dogblocker v1.06
! Title: DogBlocker by 소쿠릿
! Version: 1.06
! Homepage: https://gist.github.com/sokcuri/2409dab915498993a3a155e45d6a48f1
dcinside.com###tit_no_adblock,.adblock-inner
This file has been truncated, but you can view the full file.
//Pre Filters
// 0.미인식 문자 치환 10000000~
// 1.기본 필터링 11000000~
// 2.예비1 12000000~
// 3.사투리 및 종결표현1 13000000~
// 4.감동사 & 관용어 14000000~
// 5.체언 15000000~ (대명사, 명사, 수사)
// 6.동사 16000000~
// 7.형용사 17000000~
@sokcuri
sokcuri / 1_manual_map_and_filter.js
Last active July 11, 2017 00:01
한땀한땀 만든 수제 map과 filter입니다
var map = function(array, func) {
func = (func || (x => {
return x;
}));
let newArray = new Array();
for (let i = 0; i < array.length; i++) {
newArray[i] = func(array[i]);
}
return newArray;
}

1번

var node = document.createElement('li');
var textNode = document.createTextNode('watermellon');
node.appendChild(textNode);
document.querySelector('ul').insertBefore(node, null);

2번

@sokcuri
sokcuri / Default_Parameter_And_Howto_NodeList_Convert_Array.md
Last active July 12, 2017 00:23
디폴트 파라메터를 지정하는 방법과 NodeList를 Array로 바꾸는 방법을 설명합니다

자바스크립트 함수의 디폴트 파라메터

파라메터 핸들링

Javascript에서는 제한 없이 여러개의 파라메터를 받을 수 있다. 다만 디폴트 파라메터를 지원하지 않기 때문에 OR 연산자를 이용해 파라메터의 기본값을 지정하는 트릭이 널리 쓰이고 있다.

function f(param) {
  param = param || "Woowahan";
 ...
document.addEventListener('DOMContentLoaded', function () {
registerEvents();
loadContents();
});
function registerEvents() {
setHandlerTab();
}
function loadContents() {
// HTML과 CSS를 수정하지 않고 기능추가.
// * 코드를 더 개선해 볼 것 *
// √ 1. Switch, if 등 조건에 해당하는 것을 최대한 줄일 것
// √ 2. event delegation을 잘 써서 for문으로 돌렸던 addEventListener를 삭제
// √ 3. AJAX 재요청 없게끔 만들기
// DOMContentLoaded가 호출되면 하는 일
// 1) 이벤트를 등록한다
// - 'nav' 태그에 'click' 이벤트를 등록한다
// 2) 첫번째 탭의 내용을 서버에서 불러온다
BrowserWindow.create = function () {
// Arguments
let pref = arguments[0] || {};
pref.webPreferences = pref.webPreferences || {};
// Config object
let config = {
preload: pref.webPreferences.preload
}