2013년 7월 15일 월요일

특정 webkit Browser를 강제로 repaint 하기

Mac OS Chrome 의 경우 일정 시간이 지나면 CSS3 의 Attribute Selector를 통해 선언한 content 가 Element에 적용되지 않는 경우가 있다. 이럴 경우 특정 Element 의 -webkit-transition 이나 -webkit-transform을 재 선언(혹은 추가)해 주면 Browser의 repaint 를 강제로 발생시켜 해당 문제를 해결할 수 있다.


- DOM

<element id="tElem" class="target" data-str=""></element>




- CSS

.target:after{ content : attr(str) }




- JavaScript

//force webkit browser repaint

document.body.style.cssText += '; -webkit-transform: none';


// Change element contents dynamically

var elem = document.getElementById('tElem');
elem.dataset.str = 'Variable Element Contens';


2012년 11월 29일 목요일

Lubuntu 12.10 에 HarooPress 를 설치해 보자.

Haroopress @rhiokim이 만든 정적 블로그 엔진입니다. 국내에 정적 블로그 엔진이 생소하기도 하지만 node.js를 이용하여 javascript로 만들어진 블로그 라는데 있어 그 의미가 크다 할 수 있습니다. 아직까지는 설치과정에 시스템별로 dependency가 나타날 수 있어 Lubuntu 시스템 설치과정을 글로 남겨볼까 합니다.

1. node.js 설치하기

 너무나 당연한 이야기지만 Haroopress는 node.js 기반의 블로그 엔진 입니다. 당연히 가장 처음으로 node.js를 설치해야 합니다. 여기서 주의할 점은 apt-get 방식으로 설치할 경우 npm 사용시 permission 문제를 겪을 수 있음으로 컴파일이나 nvm을 사용할 것을 권합니다.
여기서는 nvm을 이용한 설치 방법만 다루겠습니다.(git은 기본으로 깔고 들어갑니다)

user~dir$ git clone git://github.com/creationix/nvm.git                                                                        
user~dir$ . ./nvm/nvm.sh                               
user~dir$ nvm install 0.8.15<---node.js version         
user~dir$ nvm use 0.8.15<---설치한 버전으로 실행       


2. Lubuntu dependency module 설치하기

 Lubuntu는 LXDE기반으로 경량화 된 ubuntu입니다. 당연히 설치되어 있다고 생각하는 모듈들이 없는 경우가 많습니다. 하지만 ubuntu의 강점인 apt-get이 있음으로 걱정할 필요는 없습니다.

user~dir$ sudo apt-get install curl  <---몇몇 npm은 curl방식을 사용합니다.
user~dir$ sudo apt-get install g++ <--- 기본 컴파일러지만 lubuntu에 없습니다.
user~dir$ sudo apt-get install openjdk-6-jre-headless <--- Python 실행 과정에 Java가 필요합니다.

 저는 Makefile을 순차적으로 실행하며 Dependency를 찾아야 했지만! 이제는 그럴 필요가 없습니다. >__< v


3. Haroopress 설치

 위 과정만 확실히 준비했다면 Haroopress는 더 없이 친절합니다.

user~dir$ git clone https://github.com/rhiokim/haroopress.git
user~dir$ cd ./haroopress
user~dir$ make init   <--모든 설치 과정이 자동으로 이루어 집니다.

 현재의 하루프레스 버전은 Lubuntu에서 이 방법으로 설치가 가능합니다. 물론 ubuntu도 같은 방법으로 설치가 가능할 것이라 생각합니다. Haroopress의 사용법과 설정 방법은 제작자 홈페이지 http://haroopress.com 나 git 저장소 https://github.com/rhiokim/haroopress 의 내용을 참고하시면 됩니다.



이번 포스팅은 설치 과정의 기록을 목적으로 하지만 ubuntu 계열 사용자들이 조금 더 쉽게 Haroopress를 접할 수 있었으면 합니다.

2012년 11월 25일 일요일

Ubuntu 계열의 Laptop 에서 Wake up 시 wifi 모듈이 죽는 문제.

  Ubuntu 계열 사용시 일부 Laptop에서 Suspend(절전모드) 이후 Wake Up 시에 wifi Module 이 활성화가 되지 않는 문제가 있습니다. 처음에는 Unity의 문제일 것이라 생각했으나 Lubuntu에서도 동일한 문제가 발생하는 것으로 보아 Driver의 문제일 것이라 예상됩니다. 결국 해결책을 해외 블로그에서 찾았으나 한글로 포스팅된 글이 없어 내용을 공유합니다.





먼저 lshw 명령어를 통해 자신의 Laptop에 있는 Wireless Module이 무엇인지 알아냅니다.

$> lshw -C network                                                                                  
               
       *-network
       description: Wireless interface
       product: RT2790 Wireless 802.11n 1T/2R PCIe
       vendor: Ralink corp.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 00
       serial: 00:24:21:c7:05:ff
       width: 32 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rt2800pci driverversion=3.5.0-18-generic firmware=0.34 ip=192.168.0.12 latency=0 multicast=yes wireless=IEEE 802.11bgn
       resources: irq:17 memory:dfc00000-dfc0ffff

driver 부분의 Wireless Module 이름을 기억해 둡니다.



다음으로 /etc/pm/config.d/ 아래에 config 파일을 생성해 줍니다. (파일이 있을 경우 편집합니다.)

$> sudo vi /etc/pm/config.d/config

config 파일 안에 아래 내용을 추가해 줍니다. (녹색 부분에는 앞에서 알아낸 자신의  Wireless Module 이름을 적습니다.)


SUSPEND_MODULES="rt2800pci"

저장후 종료하고 시스템을 리부팅 합니다.







저는 이 방법을 통해 문제를 해결하였습니다. 별 것 아닌 내용이지만 같은 증상을 겪는 분들에게도 좋은 해결책이 될 수 있기를 희망합니다.