'프로그래밍'에 해당하는 글 3건

// start time

long start_time = System.currentTimeMillis();


// main program source code


// end time

long end_time = System.currentTimeMillis();


// compute elapsed time and send to console

System.out.println("경과 시간: " + (end_time - start_time) + " ms");



1. 함수 이름에서 알 수 있듯이 millisecond 단위로 측정하는 것이기 때문에 초 단위로 보고싶다면 다음과 같은 방법으로 계산한다.


System.out.println("경과 시간: " + (end_time - start_time)/1000.0 );



2. 원래부터 있었는지, 언젠가부터 추가된 건지는 모르겠지만 nano단위로도 측정이 가능하니까 좀 더 자세히 측정하고 싶다면 써보자.


long start_time = System.nanoTime();

long end_time = System.nanoTime();



3. nanosecond 단위로 측정했을 때도 적당히 나눗셈을 잘 해주면 보고싶은 단위로 출력이 가능하니까 잘 활용하자.


// micro

long start_time = System.nanoTime();

long end_time = System.nanoTime();

System.out.println("경과 시간: " + (end_time - start_time)/1000.0 );

// milli

long start_time = System.nanoTime();

long end_time = System.nanoTime();

System.out.println("경과 시간: " + (end_time - start_time)/1000000.0 );


...


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

,

합주 시간을 잡을 때, 정기적으로 시간 잡고 하는 팀도 있겠지만 공연을 앞두고 한두번 시간을 잡고서 바짝 연습하는 경우도 종종 생길 것이다.

그래서 정기적인 시간과 임시 시간을 구분하기 위해서 합주시간표 코드를 수정하였다.


사실 수정해서 쓴지는 오래됐지만 실제 우리 동아리에서 한번 사용을 계속 해보고 혹시나 버그 있나 살펴볼 시간이 필요해서 이제야 업로드 하게 됐다.


이전에 올린 글: 

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

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




이 스크린샷에서 하늘색으로 표시되는 셀은 기존 합주시간표에서 지원하던 정기팀이고, 분홍색으로 표시되는 셀이 임시팀. 뭐 사용 용도에 따라 다른 목적으로 쓸 수 있겠지.



1. 기존 합주시간표에서 업데이트


index.php, make.php, make_ok.php, modify_ok.php, remove_ok.php, search.php 파일이 수정되었다.

편하게 다 덮어씌워도 되고 수정된 파일만 업로드해서 덮어씌워도 된다.


initialize_temp.php를 업로드 후 한 번 실행한다. 기존 테이블들 중 팀 정보를 저장하는 테이블을 임시팀 여부를 저장할 수 있게 확장하고, 임시팀만 저장하는 타임테이블을 새로 만든다.


유의사항: 임시팀은 생성 이후에 수정이 안되고 삭제만 된다. 임시팀 주제에 수정해서 버그 만들지 말라고....

clear_temp.php는 임시팀을 한꺼번에 싹쓸이할 때 쓰는 파일이다. 일주일에 한번씩 써서 청소하는 데 쓰던가 하면 된다.



2. 신규 설치


전부다 업로드한 후에 initialize.php와 initialize_temp.php를 각각 한번씩 접속해서 실행해준다. 화면에 아무 것도 안뜨고 흰 화면만 나오는 게 정상이다. 아무 에러도 안떴다는 거니까.



우리 동아리에서 필수적으로 필요한 기능은 다 구현을 해놓은거라 당분간 업데이트가 따로 있을까 싶긴 하다.. 뭐 언젠가 또 업데이트하면 열심히 테스트 해보고 다시 돌아와봄.


미리보기: http://chaz.hol.es/timetable/index.php


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
서울소재 모 대학교 공대 졸업하고 일개미가 된 일명 비둘기가 거주하는 곳입니다

,