'엥그니어링'에 해당하는 글 40건


2014/05/31 - 밴드동아리를 위한 합주시간표


이 글을 올리면서 웹호스팅은 알아서 얻으세요 ㅎㅎ 했던 게 좀 불친절했을까, 싶어서 무료 웹호스팅 얻는 것부터 시작해서 합주시간표 설치까지 차근차근 정리해볼까 한다.

웹호스팅이란 쉽게 말하자면 넓디 넓은 인터넷의 세계에 내집 장만을 할 수 있는 공간을 마련한다는 것이고, 당연히 돈을 많이 지불하면 지불할 수록 더 좋은 환경을 준비할 수 있다. 그러나 어차피 개인 영세 웹사이트나 블로그에 있어서는 굳이 돈을 주고서 비싼 환경을 세팅할 필요는 없다.

무료로 제공하는 호스팅서비스 중에도 싸구려 유료 호스팅서비스보다 더 나은 것을 제공해주는 사이트들이 있기 때문이다. (주로 해외에..)


이번에 소개할 Hostinger 라는 곳은 무료답지 않게 2GB라는 넉넉한 파일 저장 공간과 100GB의 트래픽을 제공한다.



PHP와 MySQL 버전은 현재 이게 기본 설정이고, PHP버전은 버전 숫자에 걸린 링크를 클릭하면 변경도 가능하다.


이제 본격적으로 웹호스팅 얻는 방법 설명 들어갑니다이~




홈페이지에 접속하고 표시해놓은 대로 계정 생성 링크를 누르거나 지금 주문! 버튼을 누른다.



국내 서비스와는 달리 이메일만 입력하면 불필요하게 개인정보를 과하게 제공할 필요도 없다. 개인 컴퓨터라면 페이스북 계정이나 구글 계정 연동으로도 바로 가입이 가능하다. (아이콘만 누르면 자동으로 연동할지 말지 물어본다)


계정 생성을 완료했다면, 무료 호스팅을 신청해보도록 하자. 정상적으로 로그인했다면 웹페이지 안에 다음 그림과 같은 부분이 있을 것이다.

새로운 호스팅을 눌러본다.


뭐 돈 내고 좋은 서비스를 개설할 생각이라면 말리지는 않겠지만 하루 방문자가 몇천명 단위를 찍지 않는 이상 100기가바이트 트래픽이라면 정말 차고 넘치는 수준일 것이다. (속도는 느리다는 게 단점)

Order 버튼을 누른다.



도메인이라는 것은 쉽게 말해 웹사이트의 주소다.

도메인 타입은 호스팅업체에서 그냥 제공하는 서브도메인을 사용해도 좋고, (기본 설정)

혹시나 만약에 돈주고 산 도메인이 있다면 그것을 등록해도 된다.


서브도메인을 선택해놓은 상태에서 입력창 안에 freehosting 이라고 입력을 하고 뒤쪽의 선택창에서 esy.es 라는 것을 선택하면 내가 얻은 웹호스팅 서버에 접속할 때는 브라우저의 주소창에 freehosting.esy.es 라고 치면 된다는 것이다.


호스팅을 관리하기 위한 비밀번호와 비밀번호 재확인 창을 빈틈없이 입력하고 '계속' 버튼을 누르면 다 끝난 거다. 진짜로.


호스팅 얻기가 끝났다면 이제 본격적으로 뭔가 파일도 업로드하고 이것저것 해야 할 것이다.


이번에는 첫화면에서 

호스팅 이라는 글자 위의 숫자를 누른다. 내가 지금까지 호스팅받은 서비스 갯수대로 표시한다. 하나만 서비스받고 있다면 1이라고 나오겠지 뭐. (혹은 상단 메뉴의 호스팅 -> 모든 계정을 눌러도 된다)


내가 방금 신청한 도메인의 이름을 클릭하면 아래처럼 관리 / 웹사이트 빌더 / 자동 설치기 / Email Accounts 라는 대표적인 메뉴 4가지가 나온다.


'관리'를 누르면 관리메뉴 전체를 다 볼 수 있다. (상단의 메뉴에서 호스팅 -> 자신의 웹호스팅 도메인 선택해도 똑같은 페이지로 갈 수 있다.)


'웹사이트 빌더'는 홈페이지 제작이 미숙한 사람이나 일일이 만들기가 귀찮은 게으름뱅이를 위한 간단한 홈페이지 템플릿을 제공한다.


'자동 설치기'는 php언어를 기반으로 한 다양한 어플리케이션을 깔 수 있도록 해준다. 대표적으로 블로그 프로그램인 워드프레스나, 위키 프로그램인 MediaWiki, 쇼핑몰 프로그램도 있다.


'Email Accounts'를 누르면 내가 얻은 도메인으로 이메일을 받을 수 있다. 만약에 아까 freehosting.esy.es 로 도메인을 할당받은 상태에서 admin 이라는 이메일 계정을 얻었다면 admin@freehosting.esy.es 로 이메일을 받을 수 있는 것이다.

(확실히 이쪽은 무료 호스팅이라 용량이 적은가보다. 최대 늘려봤자 50MB밖에 안된다)


'관리'페이지로 돌아가보도록 하자.

웹사이트 관리하면서 가장 자주 볼만한 곳이 이쪽일 것이다.


Files 섹션을 먼저 살펴보자.

파일 관리자를 통해서 웹페이지 내에서 FTP 서비스를 이용할 수도 있고, FTP 접속 메뉴를 선택하면 이 웹사이트의 저장공간으로 연결되는 정보를 제공받을 수 있다.

FTP 프로그램으로는 FileZilla client 같은 프로그램이 있는데, 만약 써볼 생각이라면 다운받아서 설치한 후에 호스트, 사용자명, 비밀번호만 적고 (포트번호까지는 안적어도 된다) 연결을 하면 된다. 


그 밑에 Databases 섹션으로 넘어가자.

MySQL 데이터베이스 메뉴에서는 MySQL 이라는 데이터베이스 관리 시스템을 기반으로 한 데이터베이스를 만들 수 있다. (무료 호스팅이라서 그런건지 원래 그런건지, 해보면 알겠지만 데이터베이스명과 계정명에 호스팅 유저이름이 앞에 붙는다.)

그리고 여기서 만들어준 데이터베이스를 시각화해서 볼 수 있는 프로그램이 바로 phpMyAdmin 이다. php와 연동해서 MySQL을 administration 할 수 있어서 아마 저 이름이었던 것으로 아는데, 확실하지는 않다.


* 파일매니저나 FTP 프로그램을 써서 접속했을 때 기본 경로에 있는 default.php 이 파일이 도메인만 쳤을 때 나오는 기본 페이지이다.

이 파일을 삭제하고 다른 파일을 올리거나 (index.php, index.html, ... 이름과 확장자별로 우선순위가 다르다) default.php의 내용을 수정해야 도메인 이름만 쳤을 때 제대로된 메인페이지를 볼 수 있다.


자세한 사용 방법까지 다루려면 포스팅이 너무 방대해질 것 같아서 여기서 끊는다. 이 포스팅은 제목에서처럼 무료 호스팅을 얻는 방법까지만 소개하고, 그 이후에 웹페이지를 어떻게 채우느냐는 사용자 개개인의 몫일 것이다.


www.hostinger.kr


이후에 합주시간표 설치하는 방법을 소개해보도록 하겠다.



+ 2014-07-08 추가

무료 호스팅을 얻긴 얻었는데 어떻게 해야 할지를 모르는 분들을 위해서..



호스팅 관리 페이지에서 다음 부분을 찾는다. 그냥 파일관리자를 선택해도 되고, 동그라미 쳐놓은 파일 관리자 2를 선택해도 된다.


2번을 선택하면 나오는 화면에서 반드시! public_html 폴더 안으로 들어가야 한다. 지금 보이는 이곳에다가 파일을 올려놓으면 접근을 할 수가 없다. public_html 폴더 안으로 들어가서 보이는 곳에다가 파일을 올려야 한다.


안에 들어가면 노란색으로 표시한 아이콘이 보이는데, 왼쪽부터

새 디렉토리(폴더) 만들기, 새 파일 만들기, 업로드, Java파일 업로드, Flash파일 업로드이다. 이 메뉴를 통해서 파일을 업로드하면 된다.


오른쪽에서는 파일을 선택해서 복사하거나, 이동하거나, 삭제하거나, 이름을 바꾸거나, 권한을 바꾸거나, 내려받는 등의 이런저런 작업들이 가능하다.



+ 맨 처음에 호스팅을 받고나면 default.php 파일이 있을텐데, 삭제를 하거나 내용을 고쳐서 쓰도록 하자. 이걸 남겨두면 홈페이지 주소만 쳤을 때 public_html 디렉토리 안에 있는 파일 목록을 보여주는 기본 화면만 뜬다.

'엥그니어링 > 도움글' 카테고리의 다른 글

Inline Caching (인라인 캐싱)  (0) 2014.07.01
합주시간표 설치하기  (2) 2014.06.02
Favicon / 즐겨찾기 아이콘 등록  (3) 2014.06.01
JavaScriptCore  (0) 2014.04.24
Sublime Text 2  (0) 2014.03.06

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

파비콘 Favicon 은 favorite icon을 일컫는 말이다.


이렇게 웹페이지의 타이틀 옆에 표시되는 아이콘이다.


크롬에서는 파비콘이 등록있는 사이트를 즐겨찾기에 추가할 때 사이트 이름에 아무것도 적지 않으면 이렇게 파비콘 만으로 깔끔하게 표시되게 할 수 있다.


파비콘을 개인 홈페이지나 블로그 등에 추가하는 방법은 다음과 같다.


1.

컴퓨터나 안드로이드 폰에서 보이는 아이콘을 관리하려면 html파일의 <head>와 </head> 사이에 다음 줄을 추가하면 된다.


<link rel="shortcut icon" href="아이콘 파일 경로" />


합주시간표에 다음과 같은 그림을 파비콘으로 등록하였다. (이 글에는 편의상 .png 파일로)




그런데 아이폰에서 확인해본 결과 제대로 아이콘이 안뜨고 .ico 파일에 포함된 색깔에 따라서

나침반 아이콘의 배경색만 연두색으로 바뀌는 것을 확인하였다.




2.

좀 더 찾아보니 iOS 계열 사파리에서는 다음 태그를 써야 먹힌다고 한다. 추가할 위치는 똑같다.


<link rel="apple-touch-icon" href="그림 파일 경로" />


요즘 나오는 폰 해상도가 높다보니 그림 파일 크기는 최소 57*57 이상이어야 하는 것 같다.



아이콘 파일은 http://www.iconarchive.com/ 여기에서 구했다.

합주시간표에 쓸 거다보니 음표 표시되어있는 아이콘이 괜찮을 것 같아서 새로 다운받았다.


(http://www.iconarchive.com/show/ios8-setting-icons-by-uiconstock/sound-icon.html)

제작자 웹사이트: http://uiconstock.com/ios8-setting-icons-2014-ai/


png 파일을 크기별로 다운받고 용량을 확인했다. 72*72 짜리 아이콘은 용량이 꽤 크길래 48*48 짜리 png 파일을 ico 파일로 변환해서 쓰는 게 나을 것 같았다.


보통 그림파일을 아이콘 파일로 변환하는 것은 http://www.convertico.com/ 이곳에서 했다.


위쪽 창에 그림파일의 주소를 복사해서 붙여넣거나,

아래쪽의 BROWSE 버튼을 눌러 컴퓨터에 저장된 그림파일을 선택한 후에 GO 버튼을 누르면

오른쪽에서 이런 창이 떠서 변환된 아이콘 파일을 다운받을 수 있다.

이걸 FTP 클라이언트로 서버에 업로드를 하면 된다.


128*128 크기의 png 파일과 48*48 크기의 ico 파일을 둘 다 업로드하고 태그도 둘 다 추가했다.

이제 컴퓨터에서도 잘 확인되고 아이폰에서도 제대로 표시가 된다.




예쁘네 :)

ㅋㅋㅋㅋㅋㅋㅋㅋ

'엥그니어링 > 도움글' 카테고리의 다른 글

합주시간표 설치하기  (2) 2014.06.02
무료 웹호스팅 얻기 / 관리  (2) 2014.06.01
JavaScriptCore  (0) 2014.04.24
Sublime Text 2  (0) 2014.03.06
LaTeX  (2) 2014.01.06

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

한동안 다른 사람이 만든 거 리뷰하느라 열심이었는데, 이번에는 내가 만든 놈을 소개해보려고 한다.

웹페이지 기반의 합주시간표이다.


이제 동아리 5년차니까 왕성하게 활동하는 것은 아니지만 어쨌든 늙은이들끼리는 열심히 친목친목하고 있기 때문에 동아리 후배놈들에게 도움이 되고자 만들었던 놈이다. 2012년도 2학기에 php랑 mysql이란 걸 처음 배우고 그당시에 이렇게나 쉽게 쓸만한 걸 만들어낼 수 있구나! 하고 충격을 받았던 것 같다. 그래서 그 해 연말에 기말과제 같은거 다 정리되고나서 2주 정도 여기에 꼬박 매달려 있었던 것 같다.


그런데 어쨌든 나같이 부족한 사람이 짠 코드다보니 버그가 무지막지하게 속출했고 ㅜㅜ 일년 반만에 다시 처음부터 다시 짰다. 이렇게 열심히 해놓다보니 왠지 우리 동아리에서만 쓰고 말기가 아까워서 블로그에 올려본다.




뭐 이런식으로 사용할 수 있다. 이름이나 뭐 그런 정보는 모자이크 처리했다 ㅎㅎ


원래 목적은 동아리방에서 합주를 할 때 시간이 겹치지 않게 하려고 시간 예약을 하던 것을 자동화하기 위해서 만든 것이었다. 예전에는 일일이 동아리 싸이클럽에서 겹치는 팀 있는지 시간 검색해보고, 새로 글 쓰고, 관리자가 때때로 엑셀 같은걸로 수작업해서 시간표 올리던 것을 보기도 편하고 시간 잡기도 편하게 해보려고.

그거를 합주팀 등록도 일정한 포맷을 가지고 쉽게 할 수 있고, 등록만 하면 자동으로 시간표에 출력이 되고, 시간을 옮기는 거나 팀을 삭제하는 것도 쉽게 할 수 있다.


약간의 수정만 거치면 회의실 예약 현황 이런 식으로도 사용 가능하겠지.



timetable.zip 파일을 다운받아서 압축 푼 뒤에 폴더안에 들어있는 php 파일들을 README 파일에 적힌대로 수정하고 업로드하여 사용하면 된다.

서두에 '웹페이지'기반이라고 밝혔듯이, 웹호스팅을 얻어야 사용할 수 있다.


굳이 돈주고 서버 호스팅을 받을 필요는 없고, 무료 호스팅 사이트들 중에도 스토리지나 트래픽 넉넉하게 주는 곳이 있다. 가끔 접속이 좀 안되는 때는 있더만...


원래는 000webhost 쓰다가 접속이 안될 때가 너무 많아가지고 ㅡㅡ 무료호스팅 사이트를

 hostinger.kr 웹 호스팅로 옮기기로 했다.



(이 글을 보게 될 사람이나 합주게시판 써볼 사람이 있을지는 모르겠지만)

가져가서 본인이 소속된 동아리나 단체를 위해서 사용 및 수정하는 것은 마음대로 하시되 재배포는 하지 말아주세요.

혹시 설치나 사용상의 궁금한 점이 있다거나 버그가 발견되면 댓글로 제보점...


웹사이트에 설치형으로 돌아가는 시간표이기 때문에 웹호스팅 서비스가 필요합니다. 관련 설명이 필요하시면 다음 글로.

2014/06/02 - 무료 웹호스팅 얻기 / 관리


압축파일 안에 포함된 README가 너무 부실하다 싶으시면 이쪽으로.

2014/06/03 - 합주시간표 설치하기


실제 설치 예가 보고싶으시면 이쪽으로.

http://chaz.hol.es/timetable/index.php


+ 2014/07/14

맞다 중간에 팀 이름 수정이 안되는 버그가 있었는데 수정한 버전으로 다시 올렸습니다.


WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

C++ 에서 #include 하는 게 어떤 식으로 돌아갔는지 까먹어서(...) 찾아보던 중


http://www.cplusplus.com/forum/articles/10627/

이 글을 찾았다. 읽어볼 만한 글이다. 적당한 양키 조크와 함께.



+ C++ 클래스 개념도 remind..

http://www.parkjonghyuk.net/lecture/program2/chap03.pdf

'엥그니어링' 카테고리의 다른 글

RFID & NFC 활용 마케팅  (0) 2014.01.02

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

자바스크립트코어(JavaScriptCore, JSC) 빌드 방법 및 어떻게 사용할지 내 나름대로 정리.



4/24


JavaScriptCore.pdf


pdf로 하니까 소스코드 부분은 짤려 나오겠구나

html 소스 복붙도 귀찮은데.............

'엥그니어링 > 도움글' 카테고리의 다른 글

무료 웹호스팅 얻기 / 관리  (2) 2014.06.01
Favicon / 즐겨찾기 아이콘 등록  (3) 2014.06.01
Sublime Text 2  (0) 2014.03.06
LaTeX  (2) 2014.01.06
맥시마(wxMaxima)에서 페이져 계산하기  (0) 2012.06.09

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

리눅스 다룰 일이 생겼다. 한 3년만인가.... 다 까먹어서 처음부터 명령어 다 공부해야 할 판.

연구실 선배님이 Sublime Text 라는 에디터를 알려주셨는데 일단 설치하는 것부터가 힘들었다.


그래도 확실히 설치하고 나니 단축키부터가 익숙치 않은 vim 보다는 윈도우에서 쓰던 에디터랑 비슷하게 쓸 수 있는 점이 좋다.


내가 설치한 방법은 다음과 같다. 검색해보면 다른 방법(더 좋은?)도 많은 것 같은데 그냥 왠지 이렇게 했다.

(물론 윈도우는 설치파일 다운로드 -> 실행하면 끝이니까 굳이 얘기할 필요는 없겠지.

게다가 설치가 필요없는 portable 버전도 제공한다..)


1. Sublime Text 홈페이지 (http://www.sublimetext.com/) 에서 tar.bz2 파일을 다운받았다.

이쪽은 우분투 13.10에서 파이어폭스로 Sublime Text 홈페이지에 들어갔을 때 보이는 다운로드 링크이다.

다운로드 페이지(http://www.sublimetext.com/2) 이쪽으로 들어가서 다른 버전을 선택할 수도 있다.

우분투든 뭐든 자기가 사용하는 리눅스의 비트 수에 맞춰서 다운받는다.

라지만 아래 내용은 내가 사용하는 우분투 13.10을 기준으로 하여 진행했다. 다른 배포판에서는 어떤 결과가 나올지 장담할 수 없다.



2. 압축을 풀면 홈 디렉토리에 "Sublime Text 2"라는 이름의 폴더가 생긴다.


2-1. 자동 압축 해제



요즘은 터미널 상에서 명령어 입력하지 않아도 윈도우랑 비슷하게 Extract 해주니 알아서 편한 방법으로 압축을 풀면 된다.



위쪽 옵션을 적용하고 Extract를 누르고 나오는 창에서 다시 한번 Extract를 누르면 홈디렉토리에 Sublime Text 2 라는 디렉토리가 생긴다.


2-2. 수동 압축 해제


파일을 다운받을 때 아래 옵션을 클릭하면 별다른 설정을 안했을 경우 홈 디렉토리 아래의 Downloads 디렉토리 아래에 다운이 된다. 그러면 터미널에서 아래 명령어를 입력한다.


$ tar -xvf ~/Downloads/Sublime\ Text\ 2.0.2.tar.bz2


(Tab 키를 적절히 이용하면 경로나 파일 이름을 다 치지 않아도 자동완성을 시켜주므로 편리하다)


이런식으로 압축이 풀린다. 터미널 열고 경로 이동을 안했으니까 홈디렉토리에 자동으로 압축이 풀린다.


3. Sublime Text 2 디렉토리를 옮기고 심볼릭 링크 생성


3-1. 디렉토리 이동


$ sudo mv Sublime\ Text\ 2 /opt/

$ sudo mv "Sublime Text 2" /opt/


터미널에 위 두개 중 한 명령어를 입력한다.

디렉토리 명에 공백이 들어가 있어서 그냥 'sudo mv Sublime Text 2  /opt/' 라고 하면 Sublime이라는 디렉토리, Text 라는 디렉토리, 2라는 디렉토리를 각각 따로 인식하게 되어버린다.

그래서 escape 문자인 백슬래시(\)를 써서 공백문자를 표현하거나, 큰따옴표(")로 묶어서 큰따옴표 사이에 있는 문자열이 통째로 이름이라고 알려줘야 하는 것이다.


3-2. 심볼릭 링크(윈도우 에서의 바로가기) 생성


$ sudo ln -s /opt/Sublime\ Text\ 2/sublime_text /usr/bin/sublime


방금 /opt/ 디렉토리 아래로 옮긴 Sublime Text 2 디렉토리 내의 sublime_text라는 실행기를 /usr/bin/sublime 이라는 이름으로 링크. 이것도(sublime) 길어서 불편하면 subl 등등 알아서.


위 사진처럼 심볼릭 링크를 sublime, subl 두개 다 만들어놓고 어느쪽으로 불러오든 실행이 되게 했다. 둘 중에 하나만 쳐보고서 안깔았나 싶어서 또 까는 멍청한 사태를 피하고 싶어서.


4. 터미널에서 sublime 이라고만 입력하면 바로 Sublime Text 2 실행 가능

subl 이라는 링크도 생성했으면 subl 이라고 써도 괜찮다.



주의할 점은 터미널에서 subl 실행한 다음에 다음 명령어 입력 위한 커서가 안 뜨는 것을 볼 수 있다.

저기서 강제종료 단축키(Ctrl+C)를 누르면 서브라임 텍스트 프로그램도 같이 꺼진다. 서브라임 프로그램 창을 닫으면 자동으로 명령어 입력 커서가 뜬다.

즉 터미널에서 subl 입력해서 서브라임 텍스트를 불러왔으면, 그걸 켜놓은 상태에서 터미널로 작업을 하려면 새로운 터미널 창을 켜야 한다는 말이다.


글 수정하기 귀찮아서 냅뒀는데 & 기호를 넣으면 처리를 백그라운드에서 지속하면서 명령어 입력을 받을 수 있다.

$ sublime &

이런 식으로.


단축키 Ctrl+ALT+T 애용하도록 하자.



+ 그런데 위 방법으로 터미널에서 sublime 실행할 때마다

(sublime:6711): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap"

라는 에러 메세지가 뜬다. 구글링으로 좀 더 해결해봐야 할듯.


++ 위 문제는 gtk2-engines-pixbuf 설치로 해결했다.

sudo apt-get install gtk2-engines-pixbuf

(https://ubuntutechnical.wordpress.com/2011/11/07/gtk-warning-unable-to-locate-theme-engine-in-module_path-pixmap/)



여기까지는 단순한 설치기에 불과하고, 설치한 이후에 어떻게 써먹느냐는 또 다른 문제이다.

그래서 아래에 도움이 될만한 유용한 곳 링크를 적어드리겠다. 왜냐면 여기까지 쓰는 것도 매우 귀찮았는데 이미 친절한 누군가가 다 정리해놓은걸 내가 또 쓰자면 더 귀찮을 것 같아서...


Sublime Text 자세한 리뷰:

http://edoli.tistory.com/79


Sublime Text 유용한 단축키:

http://windtale.net/blog/sublime-text-tip/



+++ 그냥 막 써놓은 글이었는데 의외로 유입로그에서 많은 비중을 차지하길래 사진을 곁들여 조금 더 보충 설명을 해보았다. 하하하


++++ Chromium 프로젝트도 Sublime Text 사용을 권장하는지 아예 도움말 페이지(<-클릭)가 따로 있다.

'엥그니어링 > 도움글' 카테고리의 다른 글

Favicon / 즐겨찾기 아이콘 등록  (3) 2014.06.01
JavaScriptCore  (0) 2014.04.24
LaTeX  (2) 2014.01.06
맥시마(wxMaxima)에서 페이져 계산하기  (0) 2012.06.09
MIPS  (0) 2011.04.07

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

LaTeX

엥그니어링/도움글 2014. 1. 6. 16:28

※ sharelatex.com 에서, 컴파일러는 pdfLaTeX 사용.


그림 넣기


1. 일반 그림 넣기

\begin{figure}

    \includegraphics[attribute]{file_name}

    \caption{caption_text}

    \label{label_text}

\end{figure}


attribute에는

scale : 가로세로를 원본 그림 사이즈 대비한 배율로. scale=0.5 라고 하면 50% 크기로.

width : 가로 너비 지정. height 입력 없으면 너비에 비례해서 따라옴. ex) width=5cm

height : 세로 높이 지정. width 입력 없으면 높이에 비례해서 따라옴.


file name은 업로드한 파일에서 확장자 빼고 순수 파일명만 쓰면 됨.

(확장자는 다른데 같은 이름일 때는 확장자를 명시해야 하나? 그런데 그러느니 이름 다르게 하고 말지..)


2. 여러 개의 그림 한줄로 넣기(가로)

\usepackage{subfigure}


\begin{figure}

\centering

\mbox{%

\subfigure[subfigure_caption]{%

\includegraphics[attribute]{file_name}

\label{label_text}

}\quad

\subfigure[subfigure_caption2]{%

\includegraphics[attribute]{file_name}

\label{label_text2}

}}

\caption{figure_caption}

\end{figure}


3. 그림 인용

\ref{label_text}

자동으로 트래킹해서 번호를 매겨주고, subfigure일 경우에는 (a), (b), (c), ... 까지 자동으로 붙여줌

(테이블에도 label, ref 사용 가능)

새로운 그림을 넣거나 있던 그림을 삭제할 때마다 일일이 문서 전체 훑으면서 숫자 바꿔줄 필요가 사라진다는 얘기.



리스트 구성


http://en.wikibooks.org/wiki/LaTeX/List_Structures

참조

'엥그니어링 > 도움글' 카테고리의 다른 글

Favicon / 즐겨찾기 아이콘 등록  (3) 2014.06.01
JavaScriptCore  (0) 2014.04.24
Sublime Text 2  (0) 2014.03.06
맥시마(wxMaxima)에서 페이져 계산하기  (0) 2012.06.09
MIPS  (0) 2011.04.07

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

참고 페이지: http://blog.atlasrfidstore.com/examples-of-rfid-nfc-marketing


RFID와 NFC에 대한 자료 조사 중 재미있는 활용 방안을 발견해서 여기에도 적어둠.




병뚜껑에 내장된 RFID tag를 실내에 설치된 RFID 리더가 캐치해서

병뚜껑이 오픈되는 순간을 감지해 미리 정해진 액션이 실행된다. (아마도 병따개로 딸 때 병뚜껑의 칩이 회전하는 것을 감지하는 게 아닐까)

노래를 재생하거나 조명을 켜고 끄는 등의 액션이 가능하다.

여러 명이 동시에 병뚜껑을 따면 사이키 조명처럼 깜빡깜빡 할까?




옷의 태그에 RFID 칩을 부착하고 탈의실 천장에 RFID 리더를 설치해둔다.

고객이 옷을 입어보려고 피팅룸에 들어가면 리더가 칩을 감지하는 구조.

각 태그마다 부착된 칩의 종류에 따라서, 옷의 스타일에 맞는 음악을 자동으로 재생해 준다.

헐렁한 체크남방에는 컨트리음악, 짱짱한 가죽점퍼에는 힙합이나 클럽음악 같은 뭐 그런.


사용자 입장에서도 재미있는 경험을 선사해주고, 사업자 입장에서도 RFID 칩 인식 정보를 데이터베이스화 하면 유의미할 것이다. 계절별로 어떤 종류를 선호하는지 같은 유용한 통계를 내는 데 좋겠지.

'엥그니어링' 카테고리의 다른 글

Headers and Includes: Why and How  (0) 2014.04.29

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

http://sci4um.com/about7143-asc.html


Maxima

양놈들이 만든 프로그램이라 양놈언어로 이걸 봐야한다는게 좀 화나지만

어쩌겠어 필요하면 봐야지.


나중에 시간날때(언제?) 찬찬히 우리말로 번역해서 써볼까도 고민중이지만

일단은 나한테 필요할 만큼만 이해해서 쓰기로 하지.


는 그냥 직접 짜보기로 결정. 1단계는 위 게시물에서 복붙하여 사용해보았음.

저거말고 나머지는 내가 고민해본건데 왠지 쓰잘데기 없을듯하다 ..




1단계

맥시마는 모든 삼각함수의 계산을 라디안을 기본단위(?)로 사용한다.

따라서 디그리를 쓰는 전력공학 등에서는 아아주 빡치는 바,

삼각함수 안에 디그리를 넣을 수 있도록 postfix를 정의한다.

(도 표시는 숫자 뒤에 붙으니까 보기 편하라고 ㅇㅇ 맘에안들면 infix로 정의하고 infix형태로 쓰셈요)


postfix("@");

x@ := x * %pi / 180;


첫째줄은 내가 쓸 연산자 이름을 정하고 둘째줄은 그 연산자를 쓰면 어떤 연산을 수행할지 정의.

맥시마도 뭔가 프로그래밍언어 비슷하게 돌아가는 놈이라 세미콜론 빠뜨리면 안되니 주의.


ex) cos(60@) 입력하면 1/2 출력.



2단계

polar 형태를 rectangular 형태로 바꾸는 것부터 정의. 얘는 여기서 끝.

이 밑으로 모든 x와 y 자리에는 숫자만 들어가면 됨.


infix("<<");

x<<y := x*cos(y@) + %i *x*sin(y@);


굳이 설명안해도 알겠지만 x는 크기, y는 디그리로 표현한 위상각.

이거 직접 사용할때는 x<<y,numer; 이런식으로 타이핑하지 않으면 삼각함수가 제대로 계산안된 결과 나옴.

그리고 출력결과도 허수가 먼저 나옴 ㅡㅡ 이건 쫌 시르다.


+

저건 레알 계산하는거고, 내가 보기 편한대로 화면에 띄우기만 한다면


infix("<<");

x<<y := sconcat(x*cos(y@), " + j", x*sin(y@));


이렇게 해도되는거 같긴 하다.

sconcat 함수가 화면에 그대로 출력해주는, 이를테면 C++의 cout과 같은 역할을 하는듯.

수식을 쓰면 연산 결과가 출력되고 ','로 항목 구분하고 " " 안에 들어가 있는 내용은 연산 없이 문자열로 출력.


ex) 1<<0 입력하면 크기가 1이고 위상각이 0도이므로 1 + j0 출력


+

위의 식이나 아래 식이나 계산 결과가 흠 손으로 직접 이것저것한거랑 다르다 여튼.

뭐야 그럼 이 아래로 싹다 망인가?


렉탱귤러에서 폴라폼 갈때랑 폴라폼에서 렉탱귤러 갈때랑 달라짐. ㅡㅡ




3단계

여기서부터 ractangular를 polar로 바꾸는거.

rectagular 형태(x+jy)를 페이져로 바꿀 때 일단 페이져 크기를 구하기 위해

infix"|" 정의 (뭐 문자는 암거나 해요. 전 \ 시프트키 눌러서 나오는거 사용 ㅇㅇ)


infix("|");

x|y:= (x^2 + y^2)^0.5;


인픽스로 정의하는 이유는 당연히 숫자 구별을 위하여 ....


ex) 3|4 입력하면 5.0 출력




4단계

rectangular의 실수부와 페이저 크기로 위상각 구하기


infix("<a");

x<ay:=acos(x/y)/%pi*180;


요런식으로도 정의가 되는구만. 신기하네.

여튼 페이져 형태 바꾸는 방향성을 고려해서 쓴 거니까 x,y 잘 구별해서 쓰세요 ㅇㅇ


ex) 3<a5 입력하면 53.130.. 출력




5단계

rectangular 형태에서 polar 형태로 가는거 최종 수합


infix("+j");

x+jy := sconcat(x|y, " << ", x<a(x|y));


여기서도 2단계에서랑 마찬가지로 걍 화면에 출력되는 거에만 신경썼다. 나만 보기 편하면 되지. ㅋ

이렇게하면 원랜 제대로 나와야 하는데

손으로 풀때는 근사값을 여러번 쓰니까 중간에 오차가 생겨서 그런지 뭔가 값이 미묘하게 차이가 난다 ㅡㅡ


ex) 0.3+j0.4,numer 입력하면(실수값 출력위해 numer 붙임)

0.5 << 53.13 출력. 즉 페이져 크기 0.5와 위상각 53.13 출력




종합 소스


postfix("@");

x@ := x * %pi / 180;


infix("<<");

x<<y := sconcat(x*cos(y@), " + j", x*sin(y@));


infix("|");

x|y := (x^2 + y^2)^0.5;


infix("<a");

x<ay := acos(x/y)/%pi*180;


infix("+j");

x+jy := sconcat(x|y, " << ", x<a(x|y));





위 내용을 맥시마메 복붙하고 시프트엔터를 누질르면


(%o1) "@"

(%i2) 

(%o2) @(x):=(x*%pi)/180

(%i3) 

(%o3) "<<"

(%o4) x<< y:=sconcat(x*cos(@(y))," + j",x*sin(@(y)))

(%i5) 

(%o5) "|"

(%i6) 

(%o6) x | y:=(x^2+y^2)^0.5

(%i7) 

(%o7) "<a"

(%i8) 

(%o8) x<a y:=acos(x/y)/%pi*180

(%i9) 

(%o9) "+j"

(%o10) x +j y:=sconcat(x | y,"<< ",x<a (x | y))


와 같은 아름다운 내용이 뜸 ㅇㅇ

단점은 맥시마 새로 켤때마다 새로 정의해줘야 한다는거 ㅋ 복붙과복붙과복붙...................


나중에 위 링크 들어가서 레알 찬찬히 읽으면서 잘못된 내용 좀 수정하고 해봐야겠다. 왠지모를 도전의식


현재까지 최종수정 2012-06-09 05:04

'엥그니어링 > 도움글' 카테고리의 다른 글

Favicon / 즐겨찾기 아이콘 등록  (3) 2014.06.01
JavaScriptCore  (0) 2014.04.24
Sublime Text 2  (0) 2014.03.06
LaTeX  (2) 2014.01.06
MIPS  (0) 2011.04.07

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,

MIPS

엥그니어링/도움글 2011. 4. 7. 00:17
 


- MIPS instruction formats

명령어들은 R, I, J의 세 종류로 나뉜다. 모든 명령어는 6비트의 opcode로 시작한다. opcode뒤에 R타입 명령어는 3개의 레지스터, shift amount, function 필드를 명시한다. I타입 명령어는 2개의 레지스터, 16비트의 직접적인 값을 명시한다. J타입 명령어는 26비트의 jump target이 온다.

Type-31-                                 format (bits)                                 -0-
R opcode (6) rs (5) rt (5) rd (5) shamt (5) funct (6)
I opcode (6) rs (5) rt (5) immediate (16)
J opcode (6) address (26)


- MIPS assembly language

어셈블리화 되기 전에 여러 개의 실제 명령어로 translate 되어야 하는 pseudoinstruction에 비해 하드웨어에서 직접 실행되는 assembly language instrunction이 있다.

다음에서 레지스터 문자 d, t, s는 (레지스터) 숫자나 레지스터 이름을 대신하는 기호이다.
C는 직접적인 상수를 의미한다.
다음의 모든 명령어는 원래의 명령어이다. 
opcode와 function code는 16진수이다.

(2014/04/25: 위에 내용은 뭐지 뭔가 번역하다가 때려치고 만 건가. 아 위키피디아 내용이네.)


- 레지스터

레지스터 번호 기억하기 쉬운 이름 일반적 용도
$0 zero 항상 0
$1 $at 어셈블러 템포러리(지정되어 있음)
$2, $3 $v0, $v1 서브루틴에서 리턴되는 값
$4-$7 $a0-$a3 서브루틴에 입력되는 값
$8-$15 $t0-$t7 임시 - 함수호출중에 변할 수 있다
$16-$23 $s0-$s7 저장되는 레지스터 - 함수호출중에도 불변
$24,$25 $t8,$t9 임시
$26,$27 $k0,$k1 커널(OS가 사용함)
$28 $gp 전역포인터
$29 $sp 스택포인터
$30 $fp 프레임포인터
$31 $ra 리턴주소(몇몇 명령에서 자동으로 사용됨)


'엥그니어링 > 도움글' 카테고리의 다른 글

Favicon / 즐겨찾기 아이콘 등록  (3) 2014.06.01
JavaScriptCore  (0) 2014.04.24
Sublime Text 2  (0) 2014.03.06
LaTeX  (2) 2014.01.06
맥시마(wxMaxima)에서 페이져 계산하기  (0) 2012.06.09

WRITTEN BY
Chaz
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,