javascript 를 읽기 전에 페이지가 로딩되어야 브라우저에서 빠르게 렌더딩해서 결과를 보여준다.


jquery 등 대부분의 javascript 는 비동기식으로 로딩이 가능하다.




<script type="text/javascript">

 // Add a script element as a child of the body

 function downloadJSAtOnload() {

 var element = document.createElement("script");

 element.src = "YOURJAVASCRIPT.JS";

 document.body.appendChild(element);

 }


 // Check for browser support of event handling capability

 if (window.addEventListener)

 window.addEventListener("load", downloadJSAtOnload, false);

 else if (window.attachEvent)

 window.attachEvent("onload", downloadJSAtOnload);

 else window.onload = downloadJSAtOnload;

</script>



아래는 google.com 의 원문

https://developers.google.com/speed/docs/insights/BlockingJS


Defer loading of JavaScript

In most cases, the bulk of the JavaScript code handles user-initiated events, such as mouse-clicking and dragging. All of these user-triggered events occur after the page is loaded and the onload event is triggered. In order to defer loading of these JavaScripts insert a JavaScript event listener in the head of the containing document that forces the external file to be loaded after the onload event. We recommend adding a very simple scripted DOM element. Here’s an example, where deferredfunctions.js contains the resources that need to be deferred:

<script type="text/javascript">
// Add a script element as a child of the body function downloadJSAtOnload() { var element = document.createElement("script"); element.src = "deferredfunctions.js"; document.body.appendChild(element); }
// Check for browser support of event handling capability if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false); else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload); else window.onload = downloadJSAtOnload;
</script>


,

table_name / field_datetime 부분만 바꾸면 된다.


SELECT * FROM `table_name` WHERE `field_datetime`>=(CURDATE()-INTERVAL 3 DAY);


,

apache 에서 http 를 compression 하기 위해서 사용하는 mod_deflate 사용법.


1)

http.conf 에


LoadModule deflate_module modules/mod_deflate.so


<ifModule mod_deflate.c>

    <filesMatch "\.(js|css|html|php)$">

        SetOutputFilter DEFLATE

    </filesMatch>

# Netscape 4.X has some problems

        BrowserMatch ^Mozilla/4 gzip-only-text/html

 

# Netscape 4.06-4.08 have some more problems

        BrowserMatch ^Mozilla/4\.0[678] no-gzip

 

# MSIE masquerades as Netscape, but it is fine

        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

</ifModule>



추가한다.



2)


http://www.whatsmyip.org/http-compression-test/


에서 테스트 해본다.

,

1) 영문판

SetupConsumerC2ROLW-en-us.exe


2) 한글판

SetupConsumerC2ROLW-ko-kr.exe


3) 참고로 파워포인트 뷰어

http://www.microsoft.com/en-us/download/details.aspx?id=13


,

15 년전에 윈도우 파일 시스템 등을 연구하면서 생각해 놓은 것을 적는다.


일반적으로 백신은 프로그램의 10 bytes 정도 특정 패턴 코드를 가지고 잡아내게 된다.


이것을 회피하는 방법에 대한 아이디어가 대학교 1학년 때 생물 수업을 듣는 중 생각났다.


DNA 구조에서 exon 과 intron 이 존재하는데 intron 은 버려지고 exon 만 남게된다.


프로그램도 역시 쓸데없는 trash code 가 사이사이에 존재하면 백신은 프로그램을 잡을 수 없다.


trash code 는 어셈블리어로 레지스터 push, pop 을 반복하던지. jump 를 반복해도 가능하다. 더하기 빼기를 반복해도 된다.


프로그램 전체를 exon , intron 구조로 만들기는 너무 복잡하고 현실적으로 불가능하지만


간단한 loader 는 exon 과 intron 구조로 만드는 것은 가능하다.



exon & intron 구조화된 loader + 암호화된 내부 core 이런 구조를 갖추면 된다.



내부 core 는 다시 복제할 때 loader 의 exon, intron, 암호화 방식을 약간만 바꾸어주면 똑같은 프로그램이지만 백신으로 잡을 수가 없다.

,

회사에서 업무 시간이 정해져 있다면 업무시간에는 진동 또는 무음으로 휴일에는 벨소리로 전환하면 좋지요.


timeriffic 은 이런 과정을 자동으로 해주는 app 입니다. 안드로이드용입니다.


3가지 스케줄을 설정할 수 있는데요.


저는


1) 평일 업무 시간 10시 ~ 7시 무음, 이후 벨소리

2) 토요일 9시~4시 무음, 이후 벨소리

3) 잠자는 시간대 12~6시 무음, 무진동


이렇게 3가지 셋팅으로 profile 을 만들어서 쓰고 있습니다.



https://play.google.com/store/apps/details?id=com.alfray.timeriffic&hl=ko


,

Visual Studio 에서 임시 파일 제거하기 위한 레지스트리입니다.


인터넷에서 발견한 것에서 .lib 파일까지 삭제하도록 추가하였습니다.



Delete_Temporary_Files_for_SVN.reg


,

deltacopy 다운로드


DeltaCopy.zip


## deltacopy server 는 저장소이고

## deltacopy client 는 자료를 보내주는 곳이다.



윈도우에서 사용할 때에는



1. 방화벽, 포트포워드 체크

2. 퍼미션 문제 해결 -> 아래 참조.




## deltacopy 나 rsync 로 작업을 하면 퍼미션이 SYSTEM 으로 잡혀있어서 수정이 어렵다.



이를 해결하기 위해서는


1. 암호가 있는 사용자 계정 (adminstrator) 으로 deltacopy server service 를 실행해야 한다.


-> services / 서비스에서 사용자 계정으로 log on 등록


cf) 암호가 있는 계정이어야 한다. -> 계정에 암호 만들기 / user account

cf) 로그인시 암호 입력 안하기 / netplwiz



2. 기본적으로 deltacopy 에서 rw 권한만 준다. X 까지 주도록 옵션을 주는게 좋다. deltacopy option 에서


1) changes permissions on the server, read&write 옵션을 끈다.


2) additional parameter 에 아래를 입력


--chmod=a=rwX 

(읽기 쓰기 모두 권한 주겠다는 것)



이 방법이 복잡하다면 아래 그림에처럼 Fix file permission 을 실행해도 된다. 이 방법은 그 때 그 때 해야한다.

 



Question:

I am running into permission problems when accessing files copied through DeltaCopy Server.
Answer:One very important thing to remember is the DeltaCopy uses rsync in the background, which came from UNIX. Therefore, the concept of ACL on Windows does not translate very well with Linux/UNIX. This causes some permission problems when using DeltaCopy.

Work Around

To avoid any permission problems, run the DeltaCopy Server Service under the Administrator's account rather than System account. Go toWindows Control Panel/Administrative Tasks/Services, select DeltaCopy Server service and go to Properties. Select the "Log On" tab and specify Administrator as the login name.

Every copied file on the server machine will be owned by the user who runs the DeltaCopy Server Service. Therefore, using Administratorwill allow the admins to access these files.

What happens if I already have used the System Account

Quite often users use the Built-in System Account initially and then switch the user at a later time. In this case all files that were copied under the System Account will be owned by "System Account" and no one else will have permission to access them. In that case follow the steps below.

If you are running an older version of DeltaCopy, you might not have this "Fix File Permissions" menu item. In that case you will have run the following command in CYGWIN to change the ownership.

chmod 777 *.*


,

사진을 날짜별로 정리해 주는 프로그램인 GomPhoto 입니다. (동영상도 가능)


공식홈페이지

http://whria.net

http://gomphoto.com

 

 



 

날짜 + 이름 으로 정리해주는 프로그램입니다.


사진뿐 아니라 동영상까지 안에 있는 정보를 얻어내서 정리해줍니다.

 

setup.exe


,

구글 넥서스(nexus) 4 주문하는법

1) ultrasurf 같은 프락시 프로그램을 구동시킨 상태로 google.com 에 접속해서 구글 ID (미국 계정) 하나를 만든다. ID 만들때 전화번호 인증을 해야 하는데 한국 전화 번호로 voice call 선택하면 듣기 평가 하듣이 인증코드를 받을 수 있다.


2) iporter.com 등과 같은 배송대행 업체에 아이디 하나 만들고 미국내 배송대행 주소를 얻는다. 대체적으로 부가세가 없는 DE 나 OR 지역이 좋다.

3) 삼성카드와 같이 해외 배송지를 등록할 수 있는 카드를 신청한다. 삼성카드 메뉴에 사용 내역 조회 -> 국외 사용 쪽을 보면 국제 배송지 등록이 가능하다. 참고로 해외인터넷에서 신용카드 사용시 배송지(shipping address)와 결제지(billing address)가 같아야하는 경우가 많다.


4) play.google.com 에서 nexus 4 를 주문할 수 있다. 미국 IP 만 가능하므로 ultrasurf 실행한 상태에서 들어가면 nexus 4 가 보인다. 현재 16기가 버젼이 2달 밀려있다.

5) 물건이 미국 택배사에 shipping 이 되면 tracking code 를 배송 대행 업체에 알려주거나 배송 대행업체에서 연락이 오면 배송비를 지불한다.

6) 한국에 물건이 도착하면 택배사(관세사)에게 세금 내라고 전화가 온다. 택배사에 따라 받을 때 낼 수도 있고 당장 입금해야 되는 경우도 있다. FTA 이후 관세는 미국은 150$ 까지 없다. 경험상 요령껏 피하는 방법도 있기는 하다. 


해외에서 직구는 7년만에 오랜만에 해보는거라 약간 바뀐게 있어서 정리해보았습니다. 옛날에는 paypal 같은 것으로 결제했고 대행 업체가 별로 없었는데 요즘은 체계적인 업체가 정말 많이 생겼더군요.

,