πŸ“• CS μŠ€ν„°λ””

    πŸ“‘ FTP 톡신, Socket 이야기

    FTP FTP μ„œλ²„μ— νŒŒμΌλ“€μ„ μ—…/λ‹€μš΄λ‘œλ“œ ν•  수 있게 ν•΄μ£ΌλŠ” ν”„λ‘œν† μ½œλ‘œ TCP/IP λ„€νŠΈμ›Œν¬(인터넷)μƒμ˜ μž₯μΉ˜κ°€ νŒŒμΌμ„ 전솑할 λ•Œ μ‚¬μš©ν•˜λŠ” κ·œμ•½μž…λ‹ˆλ‹€. ν”„λ‘œν† μ½œ := μ „μžκΈ°κΈ° 간에 데이터λ₯Ό κ΅ν™˜ν•˜κΈ° μœ„ν•œ 톡신 κ·œμ•½(μ–΄λ–»κ²Œ λ©”μ‹œμ§€λ₯Ό 주고받을지 약속) FTP의 λͺ©ν‘œ FTP μ„œλ²„μ™€ FTP Client κ°„ 효율적인 파일 전솑 포트 μ„€μ • 일반적으둜 λ‘κ°œμ˜ 포트λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ œμ–΄ 포트(Control Port) μ‚¬μš©μž 인증 및 λͺ…λ Ήμž…λ ₯에 μ‚¬μš©λ˜λŠ” 포트 ftp ν΄λΌμ΄μ–ΈνŠΈκ°€ 21λ²ˆμ„ 톡해 ftp μ„œλ²„μ— μ ‘μ†ν•˜λ©΄ μ œμ–΄μ™€ κ΄€λ ¨λœ μ„Έμ…˜μ΄ μ—΄λ¦¬κ²Œ λ©λ‹ˆλ‹€. 데이터 포트(Data Port) ftp μ„œλ²„μ—μ„œ 20λ²ˆμ„ 톡해 ftp ν΄λΌμ΄μ–ΈνŠΈλ‘œ μ ‘μ†ν•˜λ©΄ 데이터 전솑을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 데이터 전솑 μ—°κ²° 접속 방식 ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ ..

    [DR πŸ”€] μž¬ν•΄ 볡ꡬ / 이쀑화,이원화 / νšŒμ‚¬λ³„ ν™˜κ²½ 사둀

    μ‹œμŠ€ν…œ 이원화와 μž¬λ‚œ λŒ€μ‘, κ³ κ°€μš©μ„±μ„ μœ„ν•œ 이쀑화에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 데이터 μ„Όν„° := 데이터λ₯Ό μ €μž₯ν•˜λŠ” μ„œλ²„, μŠ€ν† λ¦¬μ§€, 데이터 전솑을 μœ„ν•œ λ„€νŠΈμ›Œν¬ μž₯λΉ„λ₯Ό 물리적으둜 κ΄€λ¦¬ν•˜λŠ” μž₯μ†Œ πŸ“Œ Disaster Recovery(DR) IDC μž₯μ•  λŒ€λΉ„ μž¬ν•΄ 볡ꡬ μ‹œμŠ€ν…œ IDC := 인터넷 데이터 μ„Όν„° DR을 ν†΅ν•œ κΈ°λŒ€νš¨κ³ΌλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€. IDC별, 전산싀별, 지점별 λ“± μ§€μ—­μ μœΌλ‘œ λΆ„λ¦¬λœ μ„œλ²„λ“€μ— λŒ€ν•΄ 무쀑단 배포λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€. κ°‘μž‘μŠ€λŸ° λ„€νŠΈμ›Œν¬μ˜ λ‹¨μ ˆ, λ„€νŠΈμ›Œν¬ λ…Έλ“œμ˜ λΆˆμ•ˆμ •, μž₯λΉ„μ˜ λ‹€μš΄, μ •μ „ λ“±μœΌλ‘œ μΈν•œ 문제λ₯Ό ν•΄κ²°(failover)ν•©λ‹ˆλ‹€. λ°μ΄ν„°μ˜ 이쀑화 ꡬ성을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ μ–΄λ–€ μž¬ν•΄λ“€μ΄ μžˆμ„κΉŒ? 멀웨어, DDos 및 λžœμ„¬μ›¨μ–΄ 곡격과 같은 사이버 곡격 사보타주(생산 μ„€λΉ„ 및 ..

    πŸ›’οΈ [μ„œλ²„ μœ ν˜•λ³„ νŒŒμ•…] AP μ„œλ²„ / Web μ„œλ²„ / DB μ„œλ²„ / WAS

    1. AP μ„œλ²„ λ„€νŠΈμ›Œν¬ μ—°κ²°λ‘œ μ„œλ²„μ™€ 톡신할 수 μžˆλŠ” Server HTTP, TCP, UDP λ“± λ‹€μ–‘ν•œ ν”„λ‘œν† μ½œμ„ 전달받아 ν΄λΌμ΄μ–ΈνŠΈμ— λ‹€μ–‘ν•œ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. 2. Web μ„œλ²„ HTTP ν”„λ‘œν† μ½œμ„ 주둜 μ²˜λ¦¬ν•˜λŠ” μ„œλ²„ 동적인 컨텐츠 μ œκ³΅μ„ μœ„ν•œ ν΄λΌμ΄μ–ΈνŠΈ(μ›ΉλΈ”λΈŒλΌμš°μ €)의 μš”μ²­(Request)을 WAS에 보내고, WASκ°€ μ²˜λ¦¬ν•œ κ²°κ³Όλ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ 응닡(Response)ν•œλ‹€. λŒ€ν‘œμ μœΌλ‘œ Apache 3. DB μ„œλ²„ λ°μ΄ν„°λ² μ΄μŠ€ μ €μž₯λ§Œμ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλ²„ 4. WAS μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό μ„œλ²„ ν™˜κ²½μ„ λ§Œλ“€μ–΄ λ™μž‘μ‹œν‚€λŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›Œν¬ DB 쑰회 및 λ‹€μ–‘ν•œ 둜직 처리 μš”κ΅¬μ‹œ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ΄λ‚˜ DB 쑰회 같은 동적인 μ½˜ν…μΈ λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ λ§Œλ“€μ–΄μ§„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„μ΄λ‹€. Web Contain..

    🐧 nohup λ°±κ·ΈλΌμš΄λ“œλ‘œ ν”„λ‘œκ·Έλž¨ 돌리기 &

    πŸ“Œ nohup (no hang up) λ¦¬λˆ…μŠ€μ—μ„œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹€ν–‰ν•œ ν„°λ―Έλ„μ˜ μ„Έμ…˜ 연결이 λŠμ–΄μ§€λ”λΌλ„ λ°±κ·ΈλΌμš΄λ“œλ‘œ μ§€μ†μ μœΌλ‘œ λ™μž‘ν•˜κ²Œ ν•΄μ£ΌλŠ” λͺ…λ Ήμ–΄ ν˜„μž¬ μ‚¬μš©μž μ„Έμ…˜μ΄ μ•„λ‹Œ μš΄μ˜μ²΄μ œκ°€ μ œκ³΅ν•˜λŠ” λ°±κ·ΈλΌμš΄λ“œ κ³΅κ°„μ—μ„œ 싀행됨 nohup ./batch.sh πŸ“Œ nohup.out 파일 nohup.out νŒŒμΌμ— ν‘œμ€€μΆœλ ₯κ³Ό ν‘œμ€€μ—λŸ¬ λ©”μ‹œμ§€ λͺ¨λ‘ κΈ°λ‘λ©λ‹ˆλ‹€. λͺ…λ Ήμ–΄ μ˜΅μ…˜μ„ 톡해 ν‘œμ€€ μž…λ ₯, ν‘œμ€€ 좜λ ₯, ν‘œμ€€ μ—λŸ¬λ₯Ό κ΅¬λΆ„ν•˜μ—¬ νŒŒμΌμ— μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 0 ν‘œμ€€ μž…λ ₯ 1 ν‘œμ€€ 좜λ ₯ 2 ν‘œμ€€ μ—λŸ¬ μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ 좜λ ₯은 batch.out νŒŒμΌμ— μž‘μ„±μ„ ν•˜κ³ , μ—λŸ¬λŠ” batch.err νŒŒμΌμ— μž‘μ„±ν•˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. nohup ./batch.sh 1 > batch.out 2 > batch.err πŸ“Œ huponexit μ„€μ • ..

    πŸ€” JDBC / DBCP / JNDI κ°œλ…μ μœΌλ‘œ μ΄ν•΄ν•˜κΈ°

    DBMS λ³€κ²½μ΄λ‚˜ DB IP λ³€κ²½ λ“±μœΌλ‘œ 인해 JNDI 섀정을 λ³€κ²½ν•΄μ•Ό ν•  λ•Œκ°€ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬ν•œ μž‘μ—…μ„ μœ„ν•΄ 배경이 λ˜λŠ” 것듀에 λŒ€ν•΄ μ΄ν•΄ν•˜λŠ” μ‹œκ°„μ„ 가져보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€. λ¨Όμ € 각 μ •μ˜λ₯Ό κ°„λ‹¨νžˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. JDBC (Java DataBase Connectivity) μžλ°”μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ—°κ²°ν•˜κΈ° μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ DBCP (DB Connection Pool) DB와 컀λ„₯μ…˜μ„ λ§Ίκ³  μžˆλŠ” 객체λ₯Ό κ΄€λ¦¬ν•˜λŠ” 라이브러리 JNDI (Java Naming and Directory Interface) μ—°κ²°ν•˜κ³  싢은 λ°μ΄ν„°λ² μ΄μŠ€μ˜ DB Pool을 미리 Naming μ‹œμΌœμ£ΌλŠ” 방법 JDBC JDBCλŠ” Oracle, MySQL, MsSQL λ“±μ˜ Driverλ₯Ό 톡해 DB에 μ ‘μ†ν•©λ‹ˆλ‹€. JDBCλ§Œμ„ μ‚¬μš©ν•  경우라면 DB..

    [μΏ λ²„λ„€ν‹°μŠ€ #2] βš“μΏ λ²„λ„€ν‹°μŠ€ μ•„ν‚€ν…μ²˜ (Control Plane/Node) μ•Œμ•„λ³΄κΈ°

    μΏ λ²„λ„€ν‹°μŠ€ μ»΄ν¬λ„ŒνŠΈλŠ” 컨트둀 ν”Œλ ˆμΈ(Control Plane) μ»΄ν¬λ„ŒνŠΈμ™€ λ…Έλ“œ(Node) μ»΄ν¬λ„ŒνŠΈλ‘œ λ‚˜λˆ„μ–΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 컨트둀 ν”Œλ ˆμΈ(Control Plane) λ…Έλ“œ(Node) μ»΄ν¬λ„ŒνŠΈ κ΅¬μ„±μš”μ†Œ API Server Scheduler Controller Manager etcd κ΅¬μ„±μš”μ†Œ proxy kubelet 컨트둀 ν”Œλ ˆμΈ(Control Plane) μ»΄ν¬λ„ŒνŠΈ λ§ˆμŠ€ν„° λ…Έλ“œ(Master Node)λ₯Ό 두어 컨트둀 ν”Œλ ˆμΈ(Control Plane) 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€. μΏ λ²„λ„€ν‹°μŠ€ ν΄λŸ¬μŠ€ν„°μ˜ κΈ°λŠ₯ μ œμ–΄λ₯Ό μ „μ²΄μ μœΌλ‘œ λ‹΄λ‹Ήν•©λ‹ˆλ‹€. λͺ¨λ“  κ΅¬μ„±μš”μ†ŒλŠ” API Server둜만 ν†΅μ‹ ν•©λ‹ˆλ‹€. (Controller Managerκ°€ etcd의 데이터λ₯Ό λ³€κ²½ν•˜κΈ° μœ„ν•΄μ„œλŠ” API Serverλ₯Ό 톡해 μš”μ²­μ„ 보내야 ν•©λ‹ˆλ‹€.) ν•΄λ‹Ή μš”μ†Œ..

    [Web 🌐] WebServer/WAS, μ •μ νŽ˜μ΄μ§€/λ™μ νŽ˜μ΄μ§€

    μ›Ή 인터넷 기반 정보 제곡 μ„œλΉ„μŠ€ μ„œλ²„ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ„œλΉ„μŠ€ μ œκ³΅ν•˜λŠ” 컴퓨터 μ‹œμŠ€ν…œ μ›Ήμ„œλ²„ 인터넷 기반 ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” 컴퓨터 μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ›Ήμ—μ„œ μ‹€ν–‰λ˜λŠ” μ‘μš© ν”„λ‘œκ·Έλž¨ μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό μ„œλ²„ ν™˜κ²½μ„ λ§Œλ“€μ–΄ λ™μž‘μ‹œν‚€λŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›Œν¬ μ»¨ν…Œμ΄λ„ˆ JSPλ‚˜ servlet을 μ‹€ν–‰μ‹œν‚¬ 수 μžˆλŠ” μ†Œν”„νŠΈμ›¨μ–΄ Webμ„œλ²„ 정적 νŽ˜μ΄μ§€ 제곡 WAS 동적 νŽ˜μ΄μ§€ 제곡 πŸ“Œ 정적 νŽ˜μ΄μ§€ HTML, JavaScript, CSS λ“±μœΌλ‘œ κ°„λ‹¨ν•˜κ²Œ μž‘μ„±λœ 정적 νŽ˜μ΄μ§€μ΄λ‹€. μ„œλ²„κ°€ μ›ΉνŽ˜μ΄μ§€ μš”μ²­μ„ λ°›μœΌλ©΄ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ 좔가적 κ³Όμ • 없이 응닡을 보낸닀. νŽ˜μ΄μ§€κ°€ μˆ˜μ •λ˜κΈ° μ „κΉŒμ§€λŠ” 항상 λ™μΌν•œ νŽ˜μ΄μ§€λ₯Ό λ°˜ν™˜ν•œλ‹€. νŠΉμ§• μ‚½μž…, μˆ˜μ •, μ‚­μ œ λ“±μ˜ μž‘μ—…μ΄ λͺ¨λ‘ μˆ˜λ™μ ..

    [μΏ λ²„λ„€ν‹°μŠ€ #1] 도컀 μ»¨ν…Œμ΄λ„ˆ, μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜μ˜ μ—­ν• μ΄λž€?

    πŸ“Œ 도컀 μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½μ— 상관없이 λ™μΌν•œ λ°©μ‹μœΌλ‘œ 관리 κ°€λŠ₯ ν”„λ‘œμ νŠΈ μ‹€ν–‰ μ‹œ 둜컬 개발 ν™˜κ²½μ΄ μ•„λ‹Œ μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½μ—μ„œ μ‹€ν–‰λ©λ‹ˆλ‹€. 개발 ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜λŠ” μ»¨ν…Œμ΄λ„ˆλŠ” μš΄μ˜μ—μ„œ μ‹€ν–‰λ˜λŠ” μ»¨ν…Œμ΄λ„ˆμ™€ λ™μΌν•œ ν™˜κ²½μ„ 보μž₯ν•©λ‹ˆλ‹€. 개발 ν™˜κ²½κ³Ό 운영 ν™˜κ²½μ„ μΌμΉ˜μ‹œμΌœ 운영 배포λ₯Ό μœ„ν•œ μΆ”κ°€ μž‘μ—…μ΄ μ—†μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€. λͺ¨λ“  μ½”λ“œκ°€ μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ— ν™•μž₯μ„±κ³Ό μœ μ—°μ„± μΈ‘λ©΄μ—μ„œλ„ 이점을 κ°€μ§‘λ‹ˆλ‹€. πŸ™‹‍♂️ λ‹€μˆ˜μ˜ μ»¨ν…Œμ΄λ„ˆ 관리 μ‹œ λ°œμƒν•˜λŠ” 문제점 μ—¬λŸ¬ μ»¨ν…Œμ΄λ„ˆλ₯Ό 각각 μˆ˜λ™μœΌλ‘œ 컨트둀 ν•΄μ•Ό 함 μ»¨ν…Œμ΄λ„ˆκ°€ μ‹€ν–‰λ˜μ§€ μ•Šμ€ μ„œλ²„(μ—¬μœ  μ„œλ²„)λ₯Ό κ΄€λ¦¬ν•΄μ€˜μ•Ό 함 λ°°ν¬μ‹œ 둀아웃/둀백이 λ²ˆκ±°λ‘œμ›€ μ„œλΉ„μŠ€ 검색 μˆ˜λ™ν™” 문제 μ„œλΉ„μŠ€ λ…ΈμΆœ μˆ˜λ™ν™” 문제 μ„œλΉ„μŠ€ 이상, λΆ€ν•˜ λͺ¨λ‹ˆν„°λ§ λŒ€μ‘ 문제 πŸ™‹‍♂️ λ‹€μˆ˜μ˜ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ–΄λ–»κ²Œ λ°°ν¬ν•˜κ³  κ΄€..

    [WEB 🌍] CSR/SSR/SSG, SPA/MPA, AJAX λͺ½λ•… 정리

    ν”„λ‘ νŠΈμ—”λ“œ 개발자 μ±„μš© μš°λŒ€μ‚¬ν•­μ— μ΄λŸ¬ν•œ λ¬Έμž₯을 λ³Έ 적이 μžˆμŠ΅λ‹ˆλ‹€. CSR/SSR/SSG/ISR에 λŒ€ν•΄ μ΄ν•΄ν•˜κ³ , μ‹€μ œ νŽ˜μ΄μ§€ 개발 μ‹œ ν•΄λ‹Ή κ°œλ…μ„ μ μš©ν•΄λ³΄μ‹  λΆ„ 그렇기에 κ΄€λ ¨ CS 지식을 ν•™μŠ΅ν•˜κ³  μ •λ¦¬ν•΄λ΄…μ‹œλ‹€. πŸ“Œ CSR / SSR πŸ‘‰ μ–΄λŠμͺ½μ—μ„œ λ Œλ”λ§μ„ μ€€λΉ„ν•˜λŠ”μ§€μ— 따라 λ‚˜λ‰œλ‹€. CSR SSR μ›Ή νŽ˜μ΄μ§€μ˜ λ Œλ”λ§μ΄ ν΄λΌμ΄μ–ΈνŠΈ(λΈŒλΌμš°μ €) μΈ‘μ—μ„œ μΌμ–΄λ‚˜λŠ” 것 λ™μž‘ κ³Όμ • 1) μœ μ €μ˜ μ›ΉλΈŒλΌμš°μ € λ°©λ¬Έ 2) λΈŒλΌμš°μ €μ˜ μ„œλ²„λ‘œ μ½˜ν…μΈ  μš”μ²­ 3) μ„œλ²„μ˜ λΈŒλΌμš°μ €λ‘œ HTML, JS 링크 전솑 4) λΈŒλΌμš°μ €λŠ” JS λ‹€μš΄λ‘œλ“œ ν›„ 동적 DOM 생성 νŠΉμ§• 1. μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ— ν•„μš”ν•œ 정적 λ¦¬μ†ŒμŠ€λ₯Ό μ΄ˆλ°˜μ— λͺ¨λ‘ λ‹€μš΄λ‘œλ“œ -> 초기 λ‘œλ”© 속도 느림 2. νŽ˜μ΄μ§€ κ°±μ‹  μ‹œ ν•„μš”ν•œ λ°μ΄ν„°λ§Œ 전달 λ°›μ•„ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ νŽ˜μ΄μ§€λ₯Ό κ°±μ‹ ..

    [λ„€νŠΈμ›Œν¬] 🌐 λΈŒλΌμš°μ €μ˜ λ Œλ”λ§ 원리λ₯Ό 이해할 수 μžˆλ„λ‘ μ„€λͺ…ν•΄λ³΄μž

    이전에 ν•™μŠ΅ν•œ μ›Ή λΈŒλΌμš°μ €μ˜ λ™μž‘ 원리 쀑 λΈŒλΌμš°μ €κ°€ λ Œλ”λ§ν•˜λŠ” 원리에 λŒ€ν•΄μ„œ ν•™μŠ΅ν•΄λ΄…μ‹œλ‹€. πŸ“Œ μ›Ή λΈŒλΌμš°μ €μ˜ ꡬ쑰 * Data Storage(Data Persistence) := 보쑰 κΈ°μ–΅μž₯μΉ˜μ— 데이터λ₯Ό μ €μž₯ν•˜λŠ” 파트 μΏ ν‚€λ‚˜ 둜컬 μŠ€ν† λ¦¬μ§€, μ„Έμ…˜ μŠ€ν† λ¦¬μ§€, indexedDB, μ›Ή SQL, νŒŒμΌμ‹œμŠ€ν…œ 등에 μ ‘κ·Όν•˜κ³  데이터λ₯Ό μ €μž₯ν•˜λŠ”λ° μ‚¬μš© πŸ“Œ λΈŒλΌμš°μ €λ³„ λ Œλ”λ§ μ—”μ§„ μ’…λ₯˜ Chrome BLINK Safari WEBKIT Firefox GECKO 이전에 Chrome은 WEBKIT을 μ‚¬μš©ν–ˆμ§€λ§Œ 2013λ…„ WEBKITμ—μ„œ νŒŒμƒλœ BLINKλ₯Ό μ‚¬μš© μ€‘μž…λ‹ˆλ‹€. λŒ€μ€‘ν™”λœ 크둬의 λ Œλ”λ§ 원리λ₯Ό μ€‘μ μ μœΌλ‘œ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 크둬은 λŒ€λΆ€λΆ„μ˜ λΈŒλΌμš°μ €μ™€ 달리 각 νƒ­λ§ˆλ‹€ λ³„λ„μ˜ λ Œλ”λ§ μ—”μ§„ μΈμŠ€ν„΄μŠ€λ₯Ό μœ μ§€ν•˜λŠ” 것이 μ£Όλͺ©ν• λ§Œ ν•©..