coolnix 개인블로그 - 리눅스, PHP, AWS,워드프레스 정보

월: 2012 2월

Android 구글 강좌

Android 구글 강좌

Android 구글 강좌 안드로이드 소개 https://sites.google.com/site/io/an-introduction-to-android Google-IO-IntroductionToAndroid.pdf 안드로이드 구조 설명 https://sites.google.com/site/io/anatomy–physiology-of-an-android Android-Anatomy-GoogleIO.pdf 어플리케이션 프레임윅 설명 https://sites.google.com/site/io/inside-the-android-application-framework Inside_the_Android_Application_Framework.pdf 안드로이드 어플리케이션 개발 방법 설명 https://sites.google.com/site/io/building-an-android-application Building_an_Android_Application_101.pdf 안드로이드 Dalvik VM 설명 http://sites.google.com/site/io/dalvik-vm-internals 2008-05-29-Presentation-Of-Dalvik-VM-Internals.pdf * 안드로이드 개발 관련 유투브 커뮤니티 http://www.youtube.com/user/androiddevelopers

미디어위키 – 도움말 및 설치한 익스텐션 리스트

미디어위키 – 도움말 및 설치한 익스텐션 리스트

설치한 익스텐션 리스트 WikiCategoryTagCloud 태그구름 http://www.mediawiki.org/wiki/Extension:WikiCategoryTagCloud http://solarixer.blogspot.com/2008/06/blog-post.html 미디어위키 도움말 한글메뉴얼은 이곳을 참조하여도 될듯함. 위키기반걷기사이트 메뉴얼 파일업로드관련 http://www.mediawiki.org/wiki/Manual:Configuring_file_uploads 미디어위키 문법 http://www.mediawiki.org/wiki/Help:Formatting/ko 미디어위키 디폴트스킨설정법 http://www.mediawiki.org/wiki/Manual:Skin_configuration#Set_a_Default_Skin_for_a_Wiki 미디어위키 스킨 http://www.mediawiki.org/wiki/Manual:Gallery_of_user_styles Configuration settings list http://www.mediawiki.org/wiki/Manual:Configuration_settings MediaWiki FAQ http://www.mediawiki.org/wiki/Manual:FAQ

미디어위키 – 사용자권한 – 권한설정예제

미디어위키 – 사용자권한 – 권한설정예제

http://www.mediawiki.org/wiki/Manual:Preventing_access

미디어위키(Mediawiki)를 사용하다 보니, 사용자별로 권한을 지정하거나,

로그인상태에서만 페이지가 보이게 하고 싶어졌다. 어디선가 이 설정을 복사해다 약간 고쳐썼던 것 같다.

다음 예제를 약간 고쳐서 LocalSettings.php에 추가한 후 사용하면 된다.

1
<?
$wgShowIPinHeader = false;
# For non-logged in users
// Implicit group for all visitors,로그인하지 않은 상태에서 권한을 제한한다.
$wgWhitelistRead = array(“Main Page”, “Special:Userlogin”, “-“, “MediaWiki:Monobook.css”);
$wgGroupPermissions[‘*’][‘createaccount’] = true; $wgGroupPermissions[‘*’][‘read’] = false;
$wgGroupPermissions[‘*’][‘edit’] = false;
$wgGroupPermissions[‘*’][‘createpage’] = false;
$wgGroupPermissions[‘*’][‘createtalk’] = false;

// Implicit group for all logged-in accounts,
//로그인상태이더라도, 그룹이 지정되지 않았을 경우 권한을 제한한다.
$wgGroupPermissions[‘user’][‘read’] = false;
$wgGroupPermissions[‘user’][‘edit’] = false;
$wgGroupPermissions[‘user’][‘createpage’] = false; $wgGroupPermissions[‘user’][‘createtalk’] = false;
$wgGroupPermissions[‘user’][‘move’] = false;
$wgGroupPermissions[‘user’][‘upload’] = false;
$wgGroupPermissions[‘user’][‘upload_by_url’] = false;
$wgGroupPermissions[‘user’][‘delete’] = false;
$wgGroupPermissions[‘user’][‘import’] = false;// Permission to change users’ group assignments,
//권한제어를 bureaucrat 계정에서 할 수 있다.
$wgGroupPermissions[‘bureaucrat’][‘userrights’] = true;

// Group for all logged-in accounts who had their email confirmed and have been
// accepted as readers. wiki_reader 권한을 지정한다.
$wgGroupPermissions[‘wiki_reader’][‘read’] = true; $wgGroupPermissions[‘wiki_reader’][‘edit’] = false;
$wgGroupPermissions[‘wiki_reader’][‘createpage’] = false;
$wgGroupPermissions[‘wiki_reader’][‘createtalk’] = true;
$wgGroupPermissions[‘wiki_reader’][‘move’] = false;
$wgGroupPermissions[‘wiki_reader’][‘upload’] = false;
$wgGroupPermissions[‘wiki_reader’][‘upload_by_url’] = false;
$wgGroupPermissions[‘wiki_reader’][‘delete’] = false;
$wgGroupPermissions[‘wiki_reader’][‘import’] = false;

// Group for all logged-in accounts who had their email confirmed and have been
// accepted as editors. wiki_editor 그룹에 대해 권한을 지정한다.
$wgGroupPermissions[‘wiki_editor’][‘read’] = true; $wgGroupPermissions[‘wiki_editor’][‘edit’] = true;
$wgGroupPermissions[‘wiki_editor’][‘createpage’] = true;
$wgGroupPermissions[‘wiki_editor’][‘createtalk’] = true;
$wgGroupPermissions[‘wiki_editor’][‘move’] = true;
$wgGroupPermissions[‘wiki_editor’][‘upload’] = true;
$wgGroupPermissions[‘wiki_editor’][‘upload_by_url’] = true;
$wgGroupPermissions[‘wiki_editor’][‘delete’] = true;
$wgGroupPermissions[‘wiki_editor’][‘import’] = true;// sysop 그룹의 권한을 제어한다.
$wgGroupPermissions[‘sysop’][‘read’] = true;
$wgGroupPermissions[‘sysop’][‘edit’] = true;
$wgGroupPermissions[‘sysop’][‘createpage’] = true;
$wgGroupPermissions[‘sysop’][‘createtalk’] = true;
$wgGroupPermissions[‘sysop’][‘move’] = true;
$wgGroupPermissions[‘sysop’][‘upload’] = true;
$wgGroupPermissions[‘sysop’][‘upload_by_url’] = true;
$wgGroupPermissions[‘sysop’][‘delete’] = true;
$wgGroupPermissions[‘sysop’][‘import’] = true;$wgGroupPermissions[‘sysop’][‘protect’] = true;
$wgGroupPermissions[‘sysop’][‘block’] = true;
$wgGroupPermissions[‘sysop’][‘siteadmin’] = true;
$wgGroupPermissions[‘sysop’][‘rollback’] = true;
?>

미디어위키 – 설치후 적용한 변경사항들

미디어위키 – 설치후 적용한 변경사항들

1.LocalSettings.php 1) 디폴트스킨 LocalSettings.php 파일에서 $wgDefaultSkin = ‘cavendish’; 로 설정하면 끝. 이곳에 쓰인 스킨은 Cavendish mod 로 모질라위키에 쓰인 스킨을 수정한 버전이다. 2) 디폴트 언어설정 $wgLanguageCode = “ko”; 3) 글꼴변경 /skins/cavendish/cavendish.css 에 “맑은 고딕”,”돋움”,Dotum 추가 /skins/cavendish/cavendish.css 에 “굴림”,”돋움”,Dotum 로 변경. ( 주 브라우저인 크롬에서 맑은고딕이 […]

미디어위키 – [참고] 미디어위키 기반 사이트 리스트

미디어위키 – [참고] 미디어위키 기반 사이트 리스트

http://www.jopenbusiness.com/ http://latecomer.pe.kr/ http://xfwiki.com/ http://walkholic.joins.com/

미디어위키 – Tip #1 페이지를 카테고리에 추가하고 싶을때

미디어위키 – Tip #1 페이지를 카테고리에 추가하고 싶을때

페이지를 카테고리에 추가하고 싶을땐

해당페이지 하단에 [[Category:Name]] 을 추가하면 된다

카테고리에 관하여
http://www.mediawiki.org/wiki/Help:Categories

미디어위키 – 사이드바에 커스텀 메뉴만들기

미디어위키 – 사이드바에 커스텀 메뉴만들기

사이드바에 커스텀 메뉴만들기 /skin/에 MonoBook.php를 수정한다. <div id=”p-logo”> <a style=”background-image: url(<?php $this->text()logopath’) ?>);” <?php ?>href=”<?php echo htmlspecialchars($this->data[‘nav_urls’][‘mainpage’][‘href’])?>”<?php echo $skin->tooltipAndAccesskey(‘p-logo’) ?>></a> </div> <div class=’portlet’ id=’p-여기에 이름 지정’> <div class=’pBody’> 여기에 메뉴가 표시됨 </div> </div>

로그인창에 자동으로 커서놓는법

로그인창에 자동으로 커서놓는법

function focusOn() { document.login.ins_id.focus(); return; } <body onload=’focusOn();’ > 즉 document.폼네임.필드값 <input type=text name=ins_id>

Jquery 네비게이션 현재메뉴 표시하기

Jquery 네비게이션 현재메뉴 표시하기

http://goo.gl/qVQn1

Demo: http://goo.gl/P3lYP

jquery.url

vi 상에서 문자를 일괄 변경할때 쓰이는 명령어

vi 상에서 문자를 일괄 변경할때 쓰이는 명령어

vi 상에서 문자를 일괄 변경할때 쓰이는 명령어. vi 에서 dos 의 “?” 와 대응하는 문자셋은 “.” 이다. – 문서 전체에서 변경. :%s/변경시킬문자/변경될문자/g – 문서 1번째줄부터 10번째줄까지에서 변경. :1,10s/변경시킬문자/변경될문자/g

왼손잡이 키보드 단축키

왼손잡이 키보드 단축키

왼손잡이를 위한 키보드 단축키 Right Ctrl+Insert = Copy Right Shift+Insert = Paste Right Shift+Del = Cut Cut : [Shift][Delete] Copy : [Ctrl][Insert] Paste : [Shift][Insert] Undo : [Alt][Backspace] 위의 키가 먹히지 않는다면 103/106 드라이버로 설치후 재시도 할것,

크롬 브라우저 유용한 부가기능

크롬 브라우저 유용한 부가기능

짧은 URL goo.gl URL Shortener
http://goo.gl/hoJvI

브라우저에서 폰트확인
http://chengyinliu.com/whatfont.html

CSS Viewer
http://goo.gl/x3FOc

Click & Clean
http://goo.gl/4mbrI

Host Name 호스트네임 변경방법

Host Name 호스트네임 변경방법

1. hosts file [root@my-linux]# vi /etc/hosts 127.0.0.1 my-linux localhost.localdomain localhost 2. network file [root@my-linux]# vi /etc/sysconfig/network ETWORKING=yes NETWORKING_IPV6=no HOSTNAME=NewName 3.system kenel hostname file [root@my-linux]# NewName > /proc/sys/kernel/hostname

[이클립스] Debug Certificate expired on 에러 대처법

[이클립스] Debug Certificate expired on 에러 대처법

이클립스 Debug Certificate expired on 에러가 발생했을 때 대처방법은? 해결방법: 윈도우환경에선 Window > Preferences > Android > Build 메뉴의 Default debug keystore에 설정되어 있는 디렉토리에서 debug.keystore 삭제 맥용 Eclipse > 환경설정(Preferences) Android > Build 메뉴의 Default debug keystore에 설정되어 있는 디렉토리에서 debug.keystore 삭제

PHP 클래스강좌

PHP 클래스강좌

Chapter 1.

{ 클래스 정의하기 }

기본적인 클래스구문은 다음과 같다.

Class ClassName
{
속성(Properties)들을 정의하는 구문
메소드(Method) 구문
}

서브클래스 구문은 이렇게 쓴다.

Class SubClassName extends ClassName
{
속성 정의
메소드
}

서브클래스는 부모클래스의 모든 속성과 메소드를 물려받는다.
이 서브클래스에서 생성된 객체는 Brother 클래스와 Parents 클래스의 모든 메소드와 속성에 접근의 가능하다.
하지만 Parents 클래스의 객체는 자식클래스인 Brother 클래스의 속성과 메소드에 접근할 수 없다.
한마디로 자식은 부모의 모든 것을 가질 수 있지만 부모는 자식의 아무것도 가질수 없다.

Chapter 2

{ 속성 선언 (Declaring Properties) }
– 변수 선언에 관하여

Class Ipod
{
var $batt;
var $color;
var $music;

메소드 구문
}

PHP에서는 변수를 꼭 선언하지 않아도 되지만 클래스내에서 선언하여 사용하는 것이 훨씬 바람직하다.
클래스내에서 변수을 선언하는 것이 클래스를 이해하고 사용하는데 도움이 된다.

변수를 선언할때 기본값을 설정하여도 된다. 하지만 계산식을 사용하여 선언할수는 없다.
아래 예문을 보면 쉽게 이해가 될 것이다.

바른사용예제
var $batt = 10;
var $color = red;
var $music = 12;

허용되지 않는 사용예제
var $batt = 10-2;
var $color = red;
var $music = 12+9;

또한 변수 선언시 배열도 사용가능하다.
var $color = array(“gray”, “brown”);

이렇게 선언된 변수들은 구조체나 메소드를 사용하여 값을 변경하거나 값을 설정할수도 있다.

Chapter 3.

{ $this란 무엇인가? }

$this란 같은 클래스안의 속성들을 가리키는 특별한 변수이다.
$this는 클래스 외부에서는 사용불가하다.

$this는 아래와 같은 형식으로 사용된다.
$this->batt = 10;
$this->color = red;
$this->music = 12;

if($this->batt >10)
$new[$this->music] = 5;

$this->batt 는 $batt를 사용하는 방식과 같다.

{ 메소드에 관하여 (Method) }
– 메소드란 함수 형식으로 객체가 할수있는 것을 정의한다.

아래 클래스에서 function addMusic() 이 바로 메소드이다.

Class Ipod
{
var $music = 12;
function addMusic($amount)
{
$this->music = $this->music + $amount
echo “Ipod의 노래가 $amount 만큼 추가되었다”;
}
}

Chapter 4

{ Constructor (__construct) }

Constructor는 객체가 생성될때 실행되는 특별한 메소드이다.
Constructor는 필수사항이 아니며 객체생성시 속성값 설정이나 다른 어떤것을 실행할 것이 아니면 사용할 필요없다.
Constructor는 단 하나만 사용가능하다.

function __construct()
{
$this->batt = 10;
$this->buyCase();
}

이 Constructor는 새로운 아이팟을 정의한다. Ipod가 생성될때 배터리량이 10이며 케이스를 구매한다.^^

참고: __는 언더스코어 라고 부른다.

참고: http://us3.php.net/manual/en/language.oop5.decon.php

phpBB Prosilver 테마 버튼 아이콘 PSD파일

phpBB Prosilver 테마 버튼 아이콘 PSD파일

prosilver GDK v0.1 for translators http://www.phpbb.com/community/viewtopic.php?f=66&t=542993&start=0 한글 랭파일 및 한글아이콘 http://www.phpbbkorea.com/viewtopic.php?f=3&t=2295  

phpbb 인기 MOD 링크

phpbb 인기 MOD 링크

phpBB Syntax Highlighterhttp://www.phpbb.com/community/viewtopic.php?f=70&t=2096992   http://www.phpbb.com/customise/db/mod/special_and_normal_rank_images/http://www.phpbb.com/customise/db/mod/easyportal/http://www.phpbb.com/customise/db/mod/clickable_forum_and_topic_rows/http://www.phpbb.com/customise/db/mod/google_search/http://www.phpbb.com/customise/db/mod/topic_sitemap/http://www.phpbb.com/customise/db/mod/seo_friendly_forum_title/http://www.phpbb.com/customise/db/mod/tweet_this_topic_or_post/http://www.phpbb.com/customise/db/mod/global_announcements_on_index_page/http://www.phpbb.com/customise/db/mod/very_simple_rss/http://www.phpbb.com/customise/db/mod/topic_seo_description_and_keywords_mod/

tinydns / djbdns 설치방법

tinydns / djbdns 설치방법

1. 다운로드

http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

http://cr.yp.to/djbdns/djbdns-1.05.tar.gz

2. daemontools 컴파일 및 설치

mkdir –p /package

chmod 1755 /package
daemontools-0.76.tar.gz 파일을 /package 폴더로 복사한 후 압축을 푼다.
cp daemontools-0.76.tar.gz /package

tar -zxvpf daemontools-0.76.tar.gz

cd admin/daemontools-0.76

컴파일 에러 조치를 위한 수정

 

컴파일 & 인스톨
package/install

컴파일 및 설치가 완료되면 아래와 같은 문구가 나온다.
Copying commands into ./command…
Creating symbolic link daemontools -> daemontools-0.76…
Making command links in /command…
Making compatibility links in /usr/local/bin…
Creating /service…
Adding svscanboot to inittab…
init should start svscan now

설치 확인

ps -elf | grep svscan 또는 ps -aux | grep svscan
/bin/sh /command/svscanboot 와 svscan /service 이 구동중인게 확인된다.

3. djbdns / tinydns 컴파일 설치

djbdns-1.05.tar.gz 를 /package 폴더로 복사 후 압축해제

tar -zxvpf djbdns-1.05.tar.gz

cd /package/djbdns-1.05

컴파일 에러 수정

vi error.h extern int errno 를 #include  로 변경

컴파일 및 설치

make

make setup check

4. djbdns / tinydns server 설정

사용자계정 생성

tinydns-conf utility 로 설정
tinydns-conf tinydns dnslog /etc/tinydns 192.168.12.5  (서버ip로)

심볼릭링크생성

tinydns 구동확인
svstat /service/tinydns

djbdns / tinydns 데몬의 호스트 설정

cd /service/tinydns/root
vi data

방법1

# cd /var/dnscache/tinydns/root
# ./add-ns test.com 1.23.2.4
# ./add-ns 30.20.10.in-addr.arpa 1.23.2.4
# ./add-mx test.com 1.23.2.4
# ./add-host ns.test.com 1.23.2.4
# ./add-host mail.test.com 1.23.2.4
# ./add-alias ui.test.com 10.20.30.4
# make

이렇게 실행하여 추가하거나

실서버 추가 예제

 

4. 서버의 resolv.conf 수정

아래 문구를 추가 또는 수정
vi /etc/resolv.conf

with at least these two simple lines:

search domain.com
nameserver 1.234.100.999
참, /etc/resolve.conf의 nameserver 중 제일 위에 nameserver 127.0.0.1도 넣어줘야 합니다.

참고 resolv.conf: http://www.shellhacks.com/en/Setup-DNS-Resolution-With-resolvconf-in-Examples

설치 끝!

5. TinyDNS 구동

svc -u /service/tinydns

 

<데몬 명령어>
Tinydns 시작 It will turn on after reboot.
svc -u /service/tinydns

Turn off tinydns. It will not turn on after reboot.
svc -d /service/tinydns

Restart tinydns if it is on, but not if it’s off. This is used to restart a service after making a configuration change.
svc -t /service/tinydns

Restart all daemons under the /service directory — typically both tinydns and dnscache.
svc -t /service/*

Check the on/off status of all daemons under the /service directory – typically both tinydns and dnscache.
svstat /service/*

온라인메뉴얼

http://cr.yp.to/djbdns/run-server.html (Official)

http://www.lifewithdjbdns.org/ (추천)

http://www.fredshack.com/docs/djbdns.html

 

관련 포스팅

phpBB 게시물작성 버튼이나 수정버튼이 안보일때

phpBB 게시물작성 버튼이나 수정버튼이 안보일때

이럴때는 보통 언어 설정을 ko로 바꾼경우 사용하는 테마의 imagest 폴더에 en폴더만 있는 경우 발생한다. 이럴땐 ko 폴더를 만들어서 업로드 해주면 된다.

phpBB prosilver width 수정법

phpBB prosilver width 수정법

/prosilver/theme/common.css 에서 wrap부분에 아래 라인을 추가한다. width: 900px; margin: 0 auto; 그리고 관리자패널에서 style => theme => prosilver 스타일에서 refresh를 클릭하면 적용된다.

OsCommerce Breadcrumb관련

OsCommerce Breadcrumb관련

Breadcrumb 참고정보

product_info.php에는 카테고리정보가 없지만
Breadcrumb부분에 카테고리 정보와 id가 있다.

Breadcrumb는 header.php 라인137에 정의되어 있다.
헤더에서 $breadcrumb->trail 부분은 application_top.php의 라인 534

application_top.php 라인525, 540 검토

breadcrumb는 classes/breadcrumb.php

워드프레스 한글주소 Not Found 에러발생시

워드프레스 한글주소 Not Found 에러발생시

잘되다가 어느날 갑자기 워드플레스 한글주소 즉, http://www.coolnix.net/2012/02/php에러해결/ 이러한 주소, 글제목을 클릭하면 Not Found 에러가 난다… 왜 그럴까, 갑자기..   검색해보니 언어 인코딩 문제로 제대로 브라우저에서 해석이 되지 않는거죠. 이를 해결하려면 .htaccess 파일에 아래부분을 추가하면 된단다. <IfModule mod_url.c>    ServerEncoding UTF-8    ClientEncoding EUC-KR</IfModule> 도움출처: http://yamoo9.com/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%ED%95%9C%EA%B8%80/

PHP에러 해결 You are *required* to use the date.timezone setting or the date_default_timezone_set()

PHP에러 해결 You are *required* to use the date.timezone setting or the date_default_timezone_set()

You are *required* to use the date.timezone setting or the date_default_timezone_set() 이렇게 에러가 나온다면 php.ini 에서 아래와 같이 설정해주면 된다. date.timezone = Asia/Seoul

OsCommerce 레퍼런스 및 SQL 쿼리 함수

OsCommerce 레퍼런스 및 SQL 쿼리 함수

OsCommerce 레퍼런스

OsCommerce 레퍼런스가 공식사이트에는 안보인다. 도대체…

http://www.oscdox.com/crossx/nav.html?_functions/index.html

OsCommerce SQL함수

tep_db_close()
tep_db_connect()
tep_db_data_seek()
tep_db_error()
tep_db_fetch_array() 
tep_db_fetch_fields()
tep_db_free_result()
tep_db_input()
tep_db_insert_id()
tep_db_num_rows()
tep_db_output()
tep_db_perform() 
tep_db_prepare_input() 
tep_db_query()
tep_db_result() 

/includes/functions/database.php -> line 102
/admin/includes/functions/database.php -> line 106

DNS 서버점검 사이트

DNS 서버점검 사이트

KISA KISA에는 점검툴과 DNS셋팅가이드 등 유용한 자료가 많이 있다. 가장 추천 http://dns.kisa.or.kr/kor/dns/dnsIntro03A.jsp   그밖의 DNS 점검 사이트 http://www.serverchk.com/http://www.zonecut.net/dns/ http://www.squish.net/dnscheck/http://www.yesidc.co.kr/front/speed/speed_01.asp