'잡동사니'에 해당되는 글 13451건

  1. 2019.03.14 youtube videoplayback 관련 URL
  2. 2019.03.14 squid hierarchy
  3. 2019.03.14 squid url_rewrite_program
  4. 2019.03.13 disk error recovery - TLER(WD)
  5. 2019.03.13 node.js 사용자 모듈 만들기
  6. 2019.03.13 iscsi mdadm
  7. 2019.03.12 sqlite primary key
  8. 2019.03.12 idrac 재시작 하기
  9. 2019.03.11 LSI raid ir it mode
  10. 2019.03.11 ckeditor 와 php, node.js 연동

흐음...

여러개 패킷을 까본건 아니지만 캐시에서 다른걸로 인식하는 이유가 저 망할 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()))

        }

    }; 


Posted by 구차니
프로그램 사용/squid2019. 3. 14. 13:01

두개가 연관이 있는 것 같으면서도 다른거 같은데


계층을 두어 관리하는 이유는 (캐시 계층)

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:

  • reload requests
  • cache validations with non-Squid ICP peers
  • requests for HTTP methods other than GETHEAD or TRACE

  • authenticated requests 


[링크 : https://wiki.squid-cache.org/KnowledgeBase/HierarchyControl]


'프로그램 사용 > squid' 카테고리의 다른 글

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
Posted by 구차니
프로그램 사용/squid2019. 3. 14. 11:19

예전에 찾던 것 중에 php를 통해 무언가를 쓰는게 있었는데

얘 명칭이 helper multiplexer인 듯.

근데 어떤 포맷으로 데이터를 넘겨서 실행하게 하는지에 대해서는 안보이네?


2.4 Helper Multiplexer

The 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:

  • SIGHUP: dump the state of all helpers to STDERR

[링크 : ftp://ftp.arnes.si/packages/squid/squid-3.2.14-RELEASENOTES.html]


 # OPTIONS FOR URL REWRITING

# ----------------------------------------------------------------------------- # TAG: storeurl_rewrite_program # Specify the location of the executable for the Store URL rewriter. # The Store URL rewriter allows URLs to be "normalised" ; mapping # multiple URLs to a single URL representation for cache operations. # # For example, if you request an object at: # # http://srv1.example.com/image.gif # # and a subsequent request for: # # http://srv2.example.com/image.gif # # then Squid will treat these both as different URLs and cache them # seperately. # # This is almost the normal case, but an increasing number of sites # distribute the same content between multiple frontend hosts. # The Store URL rewriter allows you to rewrite these URLs to one URL # to use for cache operations, but not -fetches-. Fetches are still # made from the original site, but stored with the store URL rewritten # URL as the store key. # # 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). # # By default, a Store URL rewriter is not used. # # Please note - the normal URL rewriter rewrites Squid's _destination_ # URL - ie, what it fetches. The Store URL rewriter rewrites Squid's # _store_ URL - ie, what it uses to store and retrieve objects. # #Default: # none


#  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]

'프로그램 사용 > squid' 카테고리의 다른 글

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
Posted by 구차니
하드웨어/Storage2019. 3. 13. 16:58

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]

[링크 : https://en.wikipedia.org/wiki/Error_recovery_control]

[링크 : https://www.clien.net/service/board/lecture/12311180]

'하드웨어 > Storage' 카테고리의 다른 글

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
Posted by 구차니
Programming/node.js2019. 3. 13. 13:47

전에 적었나? 기억 안나니 다시 씀


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

[링크 : https://jiwondh.github.io/2017/01/17/create-module/]

[링크 : https://doitnow-man.tistory.com/161]

'Programming > node.js' 카테고리의 다른 글

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
Posted by 구차니
하드웨어/RAID2019. 3. 13. 08:24

iscsi를 통해 ethernet으로 SAN을 구성하고

mdadm으로 SCSI RAID를 구축, 스토리지 서버 팜(?)을 만드는 듯


[링크 : https://wiki.alpinelinux.org/wiki/ISCSI_Raid_and_Clustered_File_Systems]

[링크 : https://www.mylinuxplace.com/distributed-raid-over-iscsi/]

Posted by 구차니
프로그램 사용/sqlite2019. 3. 12. 16:43

mysql을 이렇게 써본적이 없어서 모르겠는데..

pk를 자동증가로 설정하면 pk 라서 일단 중복을 체크하는 듯.

정상적이긴 한데.. 자동 증가면 그냥 값을 무시하는게 편리하지 않았을까..


[링크 : https://thinking-jmini.tistory.com/10]

'프로그램 사용 > sqlite' 카테고리의 다른 글

연습용 Database (SQLite)  (2) 2019.12.18
sqlite memory cache  (0) 2019.05.21
sqlite dateime  (0) 2018.11.27
sqlite3 도움말  (0) 2017.04.02
라즈베리 sqlite 버전  (0) 2017.04.02
Posted by 구차니

idrac에서 전원 안들어와서 raid 컨트롤러 상태를 못 읽어 온다고 배째기래

관리쪽만 리부팅 가능한가 찾는데

아니.. 왜 무시무시하게 reset이라는 단어를 쓰는거야?

reset 이면 당연히 초기값으로 돌리는 거라고 생각하지 않나 -ㅁ-?


[링크 : https://www.dell.com/support/article/kr/ko/krdhs1/sln305793/]

[링크 : https://techexpert.tips/dell-idrac/restart-idrac-interface/]

'하드웨어 > Server Case & board' 카테고리의 다른 글

option rom  (0) 2019.06.03
서버 (리던던시) 파워  (0) 2019.05.02
R730 pci-express riser & back plane  (2) 2019.02.28
iDRAC 에러 메시지 제거  (0) 2019.02.26
dell cable management  (0) 2019.02.25
Posted by 구차니
하드웨어/RAID2019. 3. 11. 19:57

it mode 에 대한 용어는 자주 보이는데 IR mode는 잘 안보여서 검색

일단 LSI raid에서 나오는 용어로 보이는데

HBA 컨트롤러용 펌웨어로 IR 펌웨어를 쓰면 Raid로 작동하고

IT 펌웨어를 쓰면 HBA로 작동하는 녀석인 듯?


The two firmware types are Initiator Target (IT) and Integrated RAID (IR)

IR is the typical hardware RAID firmware that the internal cards or boards 

ship with. 


The IT firmware, on the other hand, is the Initiator Target 

firmware which is designed to allow a SAS HBA to connect to up to 256 

devices using SAS Expanders. The IT firmware is typically shipped on 

external cards. The IT firmware does not have any RAID capabilities and 

simply acts as an HBA. 

[링크 : https://www.supermicro.com/support/faqs/faq.cfm?faq=16169]

Posted by 구차니
Programming/node.js2019. 3. 11. 14:56

form에서 method을 지정할때 post로 하고

node.js에서 받아서 처리하게 하는 것도 방법일 듯


CKEDITOR.replace('contents');

CKEDITOR.instances.contents.updateElement(); 

[링크 : https://offbyone.tistory.com/207]

[링크 : https://academy.realm.io/kr/posts/realm-node-js-express-blog-tutorial/]


+

2019.03.14


아무생각없이 복붙했는데 안되서 찾아보니 replace에 들어가는 id를 넣어주어야 한다 -_ㅠ

두가지 모두 ckeditor v4에서 작동하는 것을 확인하였으니 골라서 입맛대로 쓰면 될 듯

(위에꺼는 updatElement 해주고 form으로 넘겨주거나 해당 내용을 받아오면 되는 지라 원칙에 가까운 느낌?)

var editor = CKEDITOR.replace( 'editor1' );

var data = CKEDITOR.instances.editor1.getData(); 


[링크 : https://ckeditor.com/docs/ckeditor4/latest/guide/dev_savedata.html]

'Programming > node.js' 카테고리의 다른 글

node.js http cache proxy  (0) 2019.03.20
node.js 사용자 모듈 만들기  (0) 2019.03.13
floala 에디터 + node.js  (0) 2019.03.08
wysiwyg editor / node.js  (0) 2019.02.26
node.js 파비콘 설정하기  (0) 2019.02.22
Posted by 구차니