상봉역을 앞두고 못가는 중 ㅠㅠ
'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글
| 또 다시 돌아온 지름신.. (3) | 2019.03.20 |
|---|---|
| 오랫만의 퇴근길 일기 - 7호선 탈선사고 (0) | 2019.03.14 |
| 일단은 회사 서버 phase 1 일단락 (0) | 2019.03.10 |
| Dell R420 / E5-2407 요 녀석을 어떻게 써먹냐.. (0) | 2019.02.23 |
| 시간이 훅훅 가는구만 (2) | 2019.02.21 |
상봉역을 앞두고 못가는 중 ㅠㅠ
| 또 다시 돌아온 지름신.. (3) | 2019.03.20 |
|---|---|
| 오랫만의 퇴근길 일기 - 7호선 탈선사고 (0) | 2019.03.14 |
| 일단은 회사 서버 phase 1 일단락 (0) | 2019.03.10 |
| Dell R420 / E5-2407 요 녀석을 어떻게 써먹냐.. (0) | 2019.02.23 |
| 시간이 훅훅 가는구만 (2) | 2019.02.21 |
adb에서 설정해주고 android studio 에서 장치 붙이기 누르면 바로 뜬다고..
[링크 : https://itmir.tistory.com/594]
[링크 : https://blog.asamaru.net/2015/09/07/android-run-slash-install-slash-debug-applications-over-wifi/]
[링크 : https://developer.android.com/studio/command-line/adb?hl=ko]
| android studio /dev/kvm permission denied (0) | 2019.06.11 |
|---|---|
| ubuntu android studio (0) | 2019.06.10 |
| AndroidManifest.xml (binary) 디코더 (0) | 2019.03.14 |
| android REST client (0) | 2019.02.07 |
| 안드로이드 주기적 작업 (0) | 2019.01.25 |
apk 안에들어있는 녀석은 이진화 되어있어서 볼 수 없는데(그럼 xml이라고 하지말던가!)
axmldec 받아서 apk 를 지정해주면 xml로 뱉어내준다. (xml 파일을 압축 풀어서 하는게 아님)
[링크 : https://github.com/ytsutano/axmldec]
[링크 : https://android.stackexchange.com/questions/197182/apks-androidmanifest-xml-looks-to-be-binary]
| ubuntu android studio (0) | 2019.06.10 |
|---|---|
| 안드로이드 무선 디버깅(adb wifi) (0) | 2019.03.14 |
| android REST client (0) | 2019.02.07 |
| 안드로이드 주기적 작업 (0) | 2019.01.25 |
| 액티비티 인텐트 (0) | 2019.01.25 |
서버를 보다보니 뭔가가 주기적으로 IO를 일으키는게 보여서
프로세스 확인해보니 특정 VM
특정 VM에다가 iotop 깔아서 보니 아래 녀석이 튀어나온다.
% postgres: wal writer process % postgres: checkpointer process % postgres: autovacuum worker process dbname |
그래서 WAL이 먼가 찾아보니 Write Ahead Logging의 약자라고..
WAL을 쓰면 하드에 쓰는 주기가 줄어든다고 하는데..
[링크 : http://postgresql.kr/docs/9.6/wal-intro.html]
[링크 : https://www.postgresql.org/docs/9.6/wal-intro.html]
체크포인트는 더티를 쓰는 거고(write back에 가깝나?)
At checkpoint time, all dirty data pages are flushed to disk and a special checkpoint record is written to the log file. |
[링크 : https://www.postgresql.org/docs/9.2/wal-configuration.html]
[링크 : https://www.postgresql.org/docs/8.2/wal-configuration.html]
얘는 garbage collector 인거 같네
VACUUM -- garbage-collect and optionally analyze a database |
[링크 : https://www.postgresql.org/docs/8.2/sql-vacuum.html]
[링크 : https://www.postgresql.org/docs/8.2/runtime-config-autovacuum.html]
[링크 : https://www.postgresql.org/docs/8.2/routine-vacuuming.html]
읽으려니 눈에 안들어 오네.. ㅠㅠ
[링크 : https://www.cybertec-postgresql.com/en/postgresql-writer-and-wal-writer-processes-explained/]
| postgresql password chg (0) | 2019.06.04 |
|---|---|
| postgresql 계정은 있는데 로그인 안될때 (0) | 2019.03.20 |
| postgresql encoding / collate (0) | 2019.03.08 |
| postgresql 설치(centos) (0) | 2019.03.08 |
| postgreSQL centos 패키지 (0) | 2019.02.01 |
패킹 혹은 난독화라고 해야 하려나?
패킹은 단순하게 base62로 인코딩 한 것을 eval을 통해서 실행하는 구조인 거라
난독화라 하긴 애매한 녀석이고
짧은 녀석을 패킹하니 오히려 더 데이터가 많아지는 현상이 발생!
var aasdfasdf = 'asdfasfasdf'; console.log("aasdfasdf :"+aasdfasdf); |
대충봐도 어떤 구조인지 그냥 눈에 보이는 느낌적인 느낌?
eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1 0=\'2\';3.4("0 :"+0);',5,5,'aasdfasdf|var|asdfasfasdf|console|log'.split('|'),0,{})) |
[링크 : https://fimtrus.tistory.com/entry/자바스크립트-난독화패킹-언패킹]
[링크 : http://dean.edwards.name/packer/]
[링크 : https://www.strictly-software.com/unpacker#unpacker]
[링크 : https://xetown.com/questions/494426]
[링크 : https://12bme.tistory.com/357]
한 10만원 하는 프로그램이 쩐다고(압축율에서)
[링크 : https://allroundplaying.tistory.com/59]
[링크 : https://obfuscator.io/] 얜 무료
원리관련
[링크 : https://4rgos.tistory.com/2]
| iife (Immediately Invoked Function Expression) (0) | 2019.04.23 |
|---|---|
| javascript 배열 초기화(벤치마크) (0) | 2019.04.12 |
| HTML video 태그 loop 와 webalizer hit (0) | 2019.02.28 |
| 자바 스크립트 다시 공부 - 이벤트 관련 (0) | 2019.02.28 |
| js import babel transpiler (0) | 2019.01.10 |
흐음...
여러개 패킷을 까본건 아니지만 캐시에서 다른걸로 인식하는 이유가 저 망할 cpn 값 때문인 듯..
https://r2---sn-ab02a0nfpgxapox-jwwe7.googlevideo.com/videoplayback?source=youtube&ms=au%2Conr&mt=1552538122& mv=m&id=o-ALgIWMfOrFHHMwZnmn-TneMiQB_DBuam4C3gy0uXrNt3&requiressl=yes&dur=478.244&mm=31%2C26& mn=sn-ab02a0nfpgxapox-jwwe7%2Csn-oguelne7&pl=22&ip=211.237.16.76& sparams=aitags%2Cclen%2Cdur%2Cei%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&signature =E9FA7DEB837FF2931C1BBDF8A75CC08AA6381D.553ACDD01BBD44D14946BB8D37C5B285DD807580&gcr=kr &ipbits=0&expire=1552559810&lmt=1548316020126515&initcwndbps=728750& aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278%2C394%2C395%2C396%2C397& mime=video%2Fmp4&itag=396&key=yt6&gir=yes&clen=16011686&keepalive=yes&txp=5532432&fvip=2& ei=YtqJXMbHJKeGs8IPgp6B4AQ& c=WEB&alr=yes& cpn=zCV8-pls_I8uiHHw& cver=2.20190313& range=0-90603& altitags=395%2C394&rn=1&rbuf=0 |
https://r2---sn-ab02a0nfpgxapox-jwwe7.googlevideo.com/videoplayback?source=youtube&ms=au%2Conr&mt=1552538122& mv=m&id=o-ALgIWMfOrFHHMwZnmn-TneMiQB_DBuam4C3gy0uXrNt3&requiressl=yes&dur=478.244&mm=31%2C26& mn=sn-ab02a0nfpgxapox-jwwe7%2Csn-oguelne7&pl=22&ip=211.237.16.76& sparams=aitags%2Cclen%2Cdur%2Cei%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&signature =E9FA7DEB837FF2931C1BBDF8A75CC08AA6381D.553ACDD01BBD44D14946BB8D37C5B285DD807580&gcr=kr &ipbits=0&expire=1552559810&lmt=1548316020126515&initcwndbps=728750& aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278%2C394%2C395%2C396%2C397& mime=video%2Fmp4&itag=396&key=yt6&gir=yes&clen=16011686&keepalive=yes&txp=5532432&fvip=2& ei=YtqJXMbHJKeGs8IPgp6B4AQ& c=WEB&alr=yes& cpn=naxiChjHuGyejORl& cver=2.20190313& range=0-90603& altitags=395%2C394&rn=1&rbuf=0 |
[링크 : https://www.youtube.com/watch?v=lBSC3rUWGtY]
+
크롬에서 개발자도구로 검색해보니 base.js 에서 cpn을 생성하는 부분을 발견..
Client Playback Nonce 줄여서 cpn
g.h.Wj = function(a) { lja(this, a); if ("html5.invalidstate" != a.errorCode && "fmt.unplayable" != a.errorCode && "fmt.unparseable" != a.errorCode || !WI(this, a.errorCode, a.details)) { var b = /^pp/.test(this.g.clientPlaybackNonce); if (kja(a)) { a.details.sts = "17968"; if (YI(this)) { g.U(this.l, 4) || !this.fa("html5_suspended_reload_killswitch") && g.U(this.l, 512) ? (this.Mc = !0, cI(this)) : (this.o && (a.g && (a.details.e = a.errorCode, a.errorCode = "qoe.restart", a.g = !1), this.o.onError(a.errorCode, Tw(a.details))), ZI(this)); return } a: if (!(6048E5 > g.P() - this.A.vh)) { try { window.location.reload(!0); break a } catch (c) {} this.fa("tvhtml5_retire_old_players") && g.Iy(this.A) && aJ(this) } } if ($I(a) && this.g.va && this.g.va.i) { if (this.o) this.o.onError(a.errorCode, Tw(a.details)); this.Ya("highrepfallback", "1", !0); !this.fa("html5_hr_logging") && /^hr/.test(this.g.clientPlaybackNonce) && btoa && this.Ya("afmts", btoa(this.g.adaptiveFormats)); zha(this.g); aI(this); cI(this); VI(this); this.playVideo() } else a.g ? (b = this.u ? this.u.B.o : null, b = $I(a) && b && b.isLocked() ? "FORMAT_UNAVALIABLE" : void 0, g.lI(this, a.errorCode, b, Tw(a.details))) : this.o && (this.o.onError(a.errorCode, Tw(a.details)), b && "manifest.net.connect" == a.errorCode && (a = "https://www.youtube.com/generate_204?cpn=" + this.g.clientPlaybackNonce + "&t=" + g.P(), (new IF(a, "manifest", (0, g.y)(function(c) { this.Ya("pathprobe", c) }, this), (0, g.y)(function(c) { this.onError(c.errorCode, Tw(c.details)) }, this.o))).send())) } }; |
| 안전 모드를 사용하면 이 동영상을 볼 수 없습니다. 동영상을 보려면 안전 모드 사용을 중지해야 합니다. (0) | 2011.07.26 |
|---|---|
| youtube gdata api / fmt_map 관련 변경사항 (0) | 2010.07.31 |
| youtube api 변동으로 인한 content 태그 변경 (0) | 2010.05.13 |
| youtube locale 관련 (0) | 2010.04.20 |
| youtube gdata 검색관련 (0) | 2010.04.20 |
두개가 연관이 있는 것 같으면서도 다른거 같은데
계층을 두어 관리하는 이유는 (캐시 계층)
squid 하나가 전체를 캐싱하는게 아니라 부모나 친척 노드에서 분산해서 캐시를 저장하기 위함으로 보인다.
[링크 : https://wiki.squid-cache.org/Features/CacheHierarchy]
그리고 그 계층과는 다르게 데이터를 분석함으로서
어떤 계층으로 나누어서 캐싱을 할지에 대한게 HTTP 프로토콜 레벨에서의 계층으로 나누고
그 계층에서 열외되는 애들은 캐싱을 하지 않도록 한다는 내용
What makes a request hierarchic The purpose of cache hierarchy is to maximize the chance of finding objects in siblings, so a set of heuristics is applied to try and determine in advance whether an object is likely to be cacheable. A few objects are not cacheable, and are thus not hierarchic. Those are:
|
[링크 : https://wiki.squid-cache.org/KnowledgeBase/HierarchyControl]
| lynx proxy (0) | 2019.03.27 |
|---|---|
| url_rewriter squid (0) | 2019.03.15 |
| squid url_rewrite_program (0) | 2019.03.14 |
| squid log code (0) | 2019.03.01 |
| squid hier/none direct 관련 설정 (0) | 2019.02.27 |
예전에 찾던 것 중에 php를 통해 무언가를 쓰는게 있었는데
얘 명칭이 helper multiplexer인 듯.
근데 어떤 포맷으로 데이터를 넘겨서 실행하게 하는지에 대해서는 안보이네?
2.4 Helper MultiplexerThe helper multiplexer's purpose is to relieve some of the burden Squid has when dealing with slow helpers. It does so by acting as a middleman between squid and the actual helpers, talking to Squid via the multiplexed concurrent variant of the helper protocol and to the helpers via the non-concurrent variant. Helpers are started on demand, and in theory the muxer can handle up to 1k helpers per instance. It's up to squid to decide how many helpers to start. The muxer knows nothing about the actual messages being passed around, and as such can't really (yet?) compensate for broken helpers. It is not yet able to manage dying helpers, but it will. To configure the multiplexer add its binary name (usually /usr/share/libexec/helper-mux.pl) in front of the name of whichever helper is being multiplexed. It takes the helper binary path and parameters as its own command parameters. The concurrency setting already existing in Squid is used to configure how many child helpers it may run. For example, a traditional configuration is url_rewrite_program /your/redirector.sh
url_rewrite_children 5
the alternative multiplexer configuration is: url_rewrite_program /usr/share/libexec/helper-mux.pl /your/redirector.sh
url_rewrite_children 1 concurrency=5
Helpers which are already concurrent protocol enabled gain little benefit from the multiplexer on most systems. However on some systems where Squid spawning helpers causes excess memory usage the reduction in direct helper spawned by Squid can result in a great reduction in resource use. The helper can be controlled using various signals:
|
[링크 : ftp://ftp.arnes.si/packages/squid/squid-3.2.14-RELEASENOTES.html]
# OPTIONS FOR URL REWRITING
|
# TAG: url_rewrite_program
# Specify the location of the executable for the URL rewriter.
# Since they can perform almost any function there isn't one included.
#
# For each requested URL rewriter will receive on line with the format
#
# URL <SP> client_ip "/" fqdn <SP> user <SP> method <SP> urlgroup
# [<SP> kvpairs] <NL>
#
# In the future, the rewriter interface will be extended with
# key=value pairs ("kvpairs" shown above). Rewriter programs
# should be prepared to receive and possibly ignore additional
# whitespace-separated tokens on each input line.
#
# And the rewriter may return a rewritten URL. The other components of
# the request line does not need to be returned (ignored if they are).
#
# The rewriter can also indicate that a client-side redirect should
# be performed to the new URL. This is done by prefixing the returned
# URL with "301:" (moved permanently) or 302: (moved temporarily).
#
# It can also return a "urlgroup" that can subsequently be matched
# in cache_peer_access and similar ACL driven rules. An urlgroup is
# returned by prefixing the returned URL with "!urlgroup!".
#
# By default, a URL rewriter is not used.
#
#Default: # none |
[링크 : http://alter.org.ua/soft/win/squid_url_rewrite/squid.conf]
[링크 : https://wiki.squid-cache.org/Features/HelperMultiplexer]
| url_rewriter squid (0) | 2019.03.15 |
|---|---|
| squid hierarchy (0) | 2019.03.14 |
| squid log code (0) | 2019.03.01 |
| squid hier/none direct 관련 설정 (0) | 2019.02.27 |
| squid용 인증서 관련 (인증서 변환하기) (0) | 2019.02.25 |
TLER 라는 단어 발견
[링크 : http://2cpu.co.kr/lec/2969]
검색!
WD RED 계열(NAS용) 에서 지원하는 기능으로 에러 발생시 질질 끄는게 아니라 나 에러요~ 하고
리포팅 해서 무시하고 다른걸 쓰던가 하는 등의 기능을 할 수 있도록 하는 듯.
Seagate: ERC (Error Recovery Control) WD: TLER (Time-Limited Error Recovery) HGST: CCTL (Command Completion Time Limit) |
[링크 : http://cafe.daum.net/_c21_/bbs_search_read?grpid=1TSa0&fldid=X6io&datanum=32]
| D-Link DNS-343 대실망쇼 -_- (0) | 2020.09.08 |
|---|---|
| 시놀로지 로그인 시도 차단하기 (2) | 2019.07.30 |
| 2.5인치 SAS/SATA 트레이 (0) | 2019.02.28 |
| 시게이트 SSHD 스펙 (0) | 2019.01.16 |
| synology 로그.. (0) | 2018.09.18 |
전에 적었나? 기억 안나니 다시 씀
express를 쓰다 보면 가장 마지막 줄에
module.exports = router; |
요런게 보이는데 모듈로 정의해주는 녀석이다.
여러가지 방법들이 보이는데, 취향대로 쓰면 될 듯
(개인적으로는 작성하고 모듈로 변환하는 쪽이라서 가장 아래꺼를 주로 쓰게 될 듯)
export.func_name = function () {} |
module.exports = { funcname : function() {} }; |
function funcname() {}; module.exports = { funcname : funcname }; |
[링크 : https://hongku.tistory.com/92]
[링크 : https://winmargo.tistory.com/173] DAO
| node.js unit test (0) | 2019.03.25 |
|---|---|
| node.js http cache proxy (0) | 2019.03.20 |
| ckeditor 와 php, node.js 연동 (0) | 2019.03.11 |
| floala 에디터 + node.js (0) | 2019.03.08 |
| wysiwyg editor / node.js (0) | 2019.02.26 |