본문 바로가기
[web network] inlining 이란? [web network] inlining 이란? -웹 사이트에 접속하면 browser 는 먼저 HTML 을 다운받는다.그리고 HTML 을 순차적으로 읽어가며, image, js, css 등을 다운받는다. 이 때 css, js 등의 파일을 전체를 다운받을 경우 느린 인터넷 환경에서는 overhead 가 될 수 있기 때문에, ( 물론 최초 loading 이후에는 cache 를 사용할 테지만.. )자주 쓰이는 코드나, 빨리 load 되어야 하는 코드는 HTML 안에 내용을 넣을 수 있다. 이것이 inline 이다. -css 파일을 async 하게 로딩하거나, footer 쪽에서 loading 하므로써 추가적인 성능 향상도 꾀할 수 있다. -Font file 을 stylesheet 에 base64 encodin.. 2018. 5. 11.
[web network] Domain Sharding 이란? [web network] Domain Sharding 이란? 참조 : https://www.maxcdn.com/one/visual-glossary/domain-sharding-2/ -sharding 이라는 것은 “조각, 파편” 이라는 뜻. -Domain sharding 은 resource 를 여러 개의 domain 으로 나누어 저장하여,page load time 을 향상시키는 일종의 트릭 혹은 방법이다. 여러 개의 domain 으로 나누어진 리소스를 다운받기 때문에 browser 는 더 많은 리소스를 한번에 더 많이 받을 수 있다. -Domain sharding 을 적용하는 이유는 대부분의 web browser 가 한개의 domain 에 대해 active connection 을 제한하기 때문이다.예를 들.. 2018. 5. 10.
Efficient Android Threading #2 스레드 통신 Efficient Android Threading #2 스레드 통신 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 4.1. 파이프 -파이프는 두 개의 연결된 스레드끼리만 접근할 수 있는 메모리에 할당된 버퍼다.두 개의 스레드 이외의 다른 스레드는 데이터에 접근할 수 없다.따라서 스레드 안전이 보장된다.파이프는 단방향이기 때문에 한 스레드는 쓰기만 하고 다른 하나는 읽기만 한다. 일반적으로 파이프는 두 개의 긴 실행 테스크가 있고 하나의 테스크에서 다른 테스크로 계속해서 데이터를 옮길 때 사용된다. -파이프는 바이너리 데이터와 문자 데이터 중 하나를 전송할 수 있다.PipedOutputStream(생산자)와 PipedInp.. 2018. 3. 18.
[Kotlin] Kotlin 의 숨겨진 비용 #3 [Kotlin] Kotlin 의 숨겨진 비용 #3 https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-3-3bf6e0dbf0a4 Delegated property -class Example{ var p: String by Delegate()} property 에 delegate 를 사용할 경우에 해당 delegate 는 operator function 인 getValue 와 setValue 를 구현해야 한다.해당 function 들은 object instance 와 property metadata 를 받는다. public final class Example{ @NonNull private final Delegate p$delegate =.. 2018. 1. 18.
[Kotlin Tutorial] 한 차원 높은 함수 : 람다를 parameter 와 return value 로 - Chap8. Higher-order functions: lambdas as parameters and return values [Kotlin Tutorial] 한 차원 높은 함수 : 람다를 parameter 와 return value 로 - Chap8. Higher-order functions: lambdas as parameters and return values 참조 : Kotlin in action 8.1. Declaring higher-order functions -Higher-order function 이란 argument 와 return 으로 다른 function 을 갖는 것을 의미한다.Kotlin 에서는 function 이 lambda 나 function reference 로 표시된다. 8.1.1. Function types -val sum = { x:Int, y:Int -> x+y }val action = { pr.. 2017. 8. 31.
[Java] GC 에 대한 이야기 [Java] GC 에 대한 이야기 http://www.javaworld.com/article/2078645/java-se/jvm-performance-optimization-part-3-garbage-collection.html -System.gc() 를 호출하는 것이 GC 를 보장하지 않는다. -gc 가 호출되면 gc 는 자신이 실행되어도 안전한 시점인지 확인 후 실행된다.안전한 시점이라는 것은 지속적인 object allocation 이 아닐 때, optimized CPU instruction 의 중간이 아닐 때 와 같은 경우가 있겠다. -GC 는 여러 가지 variation 이 있지만 다음 두가지는 모든 GC 가 동일하다.1. OOM 이 나지 않도록 사용되지 않는 메모리를 free 시킨다.2. pe.. 2017. 5. 25.
하이퍼 바이저 ( Hypervisor ) 란? 하이퍼 바이저 ( Hypervisor ) 란? 참조 및 이미지 출처 : http://naleejang.tistory.com/91http://virtualhive.tistory.com/36 물리 서버를 가상화 환경으로 만들기 위해서는 하이퍼 바이저 ( Hypervisor ) 기술이 필요하다. 하이퍼 바이저는 호스트 컴퓨터 1대에서 다수의 운영체제를 동시에 실행할 수 있도록 해준다. 하이퍼 바이저는 2가지로 분류된다. 1. Native ( Bare-metal ) 하드웨어에 직접 설치되어 이 녀석이 여러개의 OS 를 돌린다. 호스트 OS 가 없어 이에 리소스를 할당하지 않아도 된다. 호스트형 가상화에 비해 오버헤드가 적고, 물리 컴퓨터 리소스 관리가 유연하다. 자체적으로 관리기능을 갖고 있지 않아 별도의 관리.. 2014. 5. 20.
JSON 과 XML 의 Parsing 비교. ( 속도, 특성, 장단점 ) JSON 과 XML 의 Parsing 비교. ( 속도, 특성, 장단점 ) General -Transfer, Parsing, Query 측면에서 봤을 때 XML 과 JSON 은 거의 비슷하다.( 33 개의 다른 문서를 1200 번정도 OS, Browser 등을 바꿔가며 테스트 했다고 함 ) 출처 : http://www.infoq.com/news/2013/08/xml-json-performance -기본 JavaScript parsing 기준으로 JSON 이 XML 보다 조금 더 느리지만, query 속도는 JSON 이 훨씬 빠르다.jQuery 를 이용했을 경우에는 JSON 이 매우 느려지는데, XML 은 훨~씬 느려진다. -JSON, XML 파싱 속도는 큰 차이가 없으니, 그냥 Data 전송에 치우쳐 생각.. 2014. 4. 2.
[jQuery/Tutorial] Selector 를 통해 Element 선택하기. Selector 를 통해 Element 선택하기. [이전강좌] DOM의 Attributes 사용하기. jQuery 는 CSS3 가 제공하는 selector 대부분을 지원하고, 이외의 특별한 selector 들도 제공한다. ID 로 선택하기 $("#myID"); Class 이름으로 선택하기 $(".myClass"); Attribute 값으로 선택하기 $("a[href='newHtml.html']"); CSS 복합 selector 로 선택하기 $("#myID ul.myClass li"); Pseudo-selector $("a.external:first"); // external 이라는 class 를 가진 첫번쨰녀석$("tr:odd"); // tr 의 홀수번째 녀석들. $("#myForm:input") // .. 2013. 7. 17.
반응형