목록노하우/웹서비스 개발 (21)
블로그.지오닷컴
웹사이트를 관리하다보면 부분적으로 수정할 일이 생깁니다. 이때 수정을 위해 필요한 변수값을 확인해야 하는 경우가 생깁니다. 일반 사용자들은 알 필요가 없지만 관리자는 알아야 수정이 가능하지요. 이런 경우 관리자로 로그인한 사람에게만 보이도록 코딩하면 됩니다. XE로 구축된 웹사이트는 대부분 레이아웃 파일로 형태를 변경할 수 있습니다. 레이아웃 소스 안에 아래 코드를 삽입하시면 관리자만 메인 메뉴의 설정 상태를 한 눈에 볼 수 있습니다. {@print_r($main_menu)} 위의 코드를 삽입한 뒤 관리자로 로그인하면 메인 메뉴($main_menu) 속의 변수값들을 한번에 볼 수 있습니다. 필요한 부분을 확인한 뒤 추가했던 소스 부분은 삭제하시면 됩니다. XE 레이아웃은 웹에서 XE 관리자 모드를 통해 ..
같은 한글을 컴퓨터에서 인식하는데는 euc-kr과 utf-8 두가지 방식이 존재합니다. 왜 이렇게 되었는지는 이야기가 길어져서 생략하지만 결론적으로 utf-8이 더 최근의 방식이며 전 세계적으로 통용되는 문자 인코딩 방식 입니다. 최근 여러 사이트로 부터 데이터를 수집해서 보여주는 메타 사이트를 제작하는 과정에서 데이터를 RSS 2.0 기반으로 읽어왔습니다. 해당 RSS 내용을 토대로 데이터를 변환해서 우리 사이트의 DB에 저장을 하는데 UTF-8로 불러온 데이터임에도 불구하고 DB에 넣기만 하면 한글이 이상하게 보여졌습니다. 이 문제를 해결하기 위해 여러 과정을 거치다가 쿼리 안에도 인코딩 기준을 지정해줄 필요가 있음을 알게 되었습니다. MySQL이 쿼리를 주고 받을 때의 인코딩을 설정하는 것은 매우 ..
XE는 레이아웃 html이나 외부 페이지를 화면에 보여주기 전에 위젯, 애드온 등 특정 코드는 해석한 뒤 화면에 뿌려줍니다. 아래 XE 위젯 코드는 로그인 정보를 뿌려주는 짧은 코드로 아래 코드만 레이아웃 html이나 외부 페이지에 넣어주면 해석된 정보를 화면에 뿌릴 수 있습니다. XE의 로그인 정보 보여주는 레이아웃 코드 저는 특정 위젯을 개발하거나 테스트하는 용도로 주로 사용합니다. 이만, 코딩하러 고고싱!
중앙에 정렬되는 홈페이지를 만들다보면 창 크기에 따라 절대위치로 박아놓은 레이어가 마구 움직이는 것을 경험하셨을 겁니다. 창의 크기에 상관없이 중앙에 정렬되는 홈페이지의 위치에 맞추어 레이어도 따라 움직이는 자바스크립트 소스를 소개해 드립니다. 페이지의 와 사이에 삽입할 레이어 소스 샘플 페이지의 안에 넣어야 할 소스 샘플 소스는 크게 3 부분 인데요, 레이어 소스 부분과 레이어 위치를 재정렬 하는 자바스크립트 소스, 그리고 페이지가 로드될 때, 창 크기가 바뀔 때, 스크롤 할 때 마다 레이어 위치를 재정렬하는 자바스크립트를 계속 실행하도록 테그 안에 넣는 부분 입니다. 만약, 레이어가 정렬되는 위치가 별로 마음에 들지 않는다면 centerWindow() 소스의 숫자 부분을 변형해 보시면 조금씩 답을 얻..
일전에 화면 사이즈에 따라 이동하는 경로를 다르게하는 소스를 소개해 드린 바 있습니다. 해당 소스의 문제점은 특정 화면 사이즈가 안 되는 화면일 경우에는 모바일 브라우저가 아니더라도 모바일 사이트로 이동되는 버그가 있었습니다. 대표적으로 넷북이 되겠지요. 하여, 접속하는 사용자의 브라우저 종류에 따라 접속 경로를 재지정하는 소스를 소개해 드립니다.
국산CMS 툴 중에 XE라는 프로그램이 있습니다. 레이아웃을 웹에서 바로 편집할 수 있는데 늘 특정 함수가 어떻게 뿌려지는지 확인하기 위해 print_r() 함수를 사용하곤 합니다. 혹시 XE 레이아웃 수정하실 때 변수 내용 확인하실 일이 생기면 아래 코드를 사용해보세요. 참, 아래 코드는 XE 메뉴에서 구성한 메뉴 배열 변수를 그대로 다 뿌려주는 명령어 입니다. {@print_r($main_menu)} 이만, 총총총!
최근 웹프로그램도 객체지향 형태로 코딩을 하니까 DB 설계도 객체 느낌을 살려서 코딩을 하는 것 같더라구요. 덕분에 유지보수를 하게 되면 종종 여러 테이블의 데이터를 동시에 불어와야 하는 경우가 있습니다. 간단한 MySQL 쿼리문으로 설명해 드리겠습니다. SELECT a.uid, a.bid, a.id, a.subject, b.savename FROM `m12board` a left outer join `m13file` b on a.uid = b.id WHERE a.`bid` = 6 ORDER BY a.`id` DESC LIMIT 0 , 10 위의 쿼리문은 MySQL에서 게시판 데이터가 있는 m12board 와 첨부한 파일 데이터가 있는 m13file 테이블에서 한번에 데이터를 불러오는 쿼리문 입니다. 쿼..
일반 웹사이트와 모바일 사이트를 동시에 개발하면 같은 도메인으로 접속해도 각각 PC버전과 모바일 버전으로 접속하도록 만들 필요가 있습니다. 저도 최근에 웹사이트를 개발하며 해당 코드를 간단하게 자바스크립트로 짜게 되어서 여기에 공유를 합니다. 위의 소스를 보면 화면 사이즈가 1030픽셀 이하면 /m 이라는 주소로, 그 이상이면 /home 이라는 주소로 이동하도록 코딩하였습니다. 제가 만든 PC버전 웹사이트의 폭이 1030픽셀이라서 화면 폭이 그 이상이면 굳이 모바일로 접속할 필요가 없다고 생각해서 기준을 이렇게 잡았습니다. 접속하는 웹브라우저의 종류를 판단해서 모바일로 사이트로 접속하도록 유도하는 것도 하나의 방법이겠지만 풀브라우징이 가능한 환경에서 굳이 모바일 사이트로 접속할 필요는 없다는게 제 생각입..
블로거 777명과 함께하는 윈도우7 런칭 파티에 다녀온지 몇일이 지났습니다. 런칭 파티를 다녀와서 바로 담은 사진 부터 공개하겠습니다! 선물을 담은 종이가방과 명찰, 윈도우7이 들어있는 특별판, 내용, 기념품 입니다. 저는 32bit 버전이라 바로 노트북에 설치했습니다. 참, 여러분의 아이디어로 만들었다는데, 그럼 수익배분은 5:5 ok? 설치 후 처음 겪은 것은 네트워크 설정의 난해함 보다 언어의 장벽 이었습니다. ultimate 버전은 영문으로만 제공되며 언어팩을 따로 설치해야 하더라구요. 이때 기본 언어를 한글로 설정하지 않으면 아래와 같이 한글이 깨어지는 증상이 발생합니다. 위와 같은 증상이 발생하면 대부분 기본 언어가 영문으로 되어있기 때문에 발생하는 문제 입니다. 제어판 > 국가 및 언어 > ..
사용자 생성 adduser test passwd 1234 메일 사용자 생성(셋팅에 따라 다름) vadduser test vpasswd 1234 사용자 삭제 userdel test userdel -r test -> 계정의 홈디렉토리 파일까지 삭제 사용자 비밀번호 변경 passwd test [Enter] Changing password for user test. New password: 새로운 패스워드 입력 [Enter] Retype new password: 똑같이 다시 입력 [Enter] passwd: all authentication tokens updated successfully. 아파치 설정 /usr/local/apache/conf/httpd.conf 설정 변경 후에는 항상 재시작 /usr/loca..