Posted by 기계식키보드
:
  • vi 단축키 
    http
    http://www.wag.caltech.edu/home/jsshys/vi_editor.html
    • dw 커서가 있는 단어를 삭제
    • ~ 대소문자를 변경 
    • u 바로 전에 행한 한 번의 명령 취소
    • U 현재 행에서 이루어진 모든 명령 취소
    • yw 커서 위치한 단어를 복사
    • yy 또는 Y 커서가 위치한 라인을 복사
    • p 커서 다음에 복사한 내용을 붙인다
    • $ 커서위치 라인의 끝으로 이동
    • G 현재 파일의 제일 마지막 라인으로 이동
    • ^f 한 페이지 아래로 이동
    • ^b 한 페이지 위로 이동
  • Mysql 운영시에 필요한 툴 http://kcdl.tistory.com/entry/참고-Mysql-운영시에-필요한-툴
  • iBatis 
    iBatis에서 반드시 알고 넘어 가야 하는 내용들 정리 http://yettie16.blog.me/80106428724


Posted by 기계식키보드
:
1. "오늘까지"라는 말은 "내일 아침까지"라는 말이다. 

2. 프로그램은 내가 원하는대로 움직이지 않는다. 타이핑대로 움직인다. 

3. 요구 사양은 프로그램을 완성한 후에 추가된다. 
   기본 사양은 완성품을 고객이 보고 나서 결정된다. 
   상세 사양은 사용자가 프로그램을 사용해 본 이후에 결정된다. 

4. 소프트웨어 설계에는 두 개의 방법이 있다. 

    하나는 결함이 있을 수 없을 정도로 단순하게 만드는 방법이다. 
    다른 하나는, 분명한 결함을 눈치채기 어려울 정도로 복잡하게 만드는 방법이다. 

5. 코드는 개발 현장에서 사용하는 것이 아니라 납품처에서 사용하는 것이다. 
    디버그는 납기일까지 하는 것이 아니라, 납품된 이후에 하는 것이다. 

6. 프로그래머를 죽이기 위해서는 칼이 필요없다. 프로그램의 요구조건을 3번만 바꾸면 된다. 

7. 다른 사람을 믿으라. 그 사람이 해결해줄지도 모른다. 
    주의사항 - 먼저 자신을 의심해라. 

8. 개발에 마지막은 없다. 출시만이 있을 뿐이다. 

9. 클라이언트의 요구사항이 제 아무리 뒤늦게 추가되어도 납기일은 변하지 않는다. 
    이것을「납기 불변의 법칙」이라고 한다. 

10. 우리의 고객들은 물과 기능추가를 공짜라고 생각하고 있다. 

11. 주머니가 짠 고객일수록 잔소리가 많다. 

12. 개발 스케줄은 산수를 무시하며 짜여진다. 영업과는 1+1=2를 이해하지 못하는 사람의 모임이다. 

13. 한 명이 쓰러지면 모두가 쓰러진다. 

14. 버그가 너무 심하다? 걱정마라. 어느 순간 그것은 기본 사양이 될 것이다. 

15. 좋은 설계는 한 명의 천재보다 세 명의 범재를 요구한다. 
     나쁜 설계는 백명의 범재보다 한 명의 천재를 요구한다. 

16. 고객에게 시스템 엔지니어는 부하이며, 프로그래머는 가축이다. 
     시스템 엔지니어에게 고객은 돈이다. 
     프로그래머에게 고객은 보이지 않는 악성 바이러스다. 

17. 돈과 시간만 있으면, 그 어떤 시스템이라도 만들 수 있다고 생각하는가? 
      웃어라. 그 기회는 영원히 주어지지 않는다. 

18. 품질은 사양 변경의 수와 규모에 의해, 얼마나 열화될지 결정된다. 

19. 영업과는 공상이 실현된다고 생각하는 몽상가이다. 
      시스템 엔지니어는 넘을 수 없는 벽이 없다고 믿는 모험가이다. 
      프로그래머와는 몽상가와 모험가에 의해 칠흑의 바다에 내던져진 표류자이다. 

20. 유능한 프로그래머가 프로그램 설계개념도를 받아들고 최초로 하는 일은, 프로그램의 
     목적을 이해하는 것이다. 그리고 그 다음으로 하는 일은, 지정된 방법과 시간 안에는 
     도저히 그 목적을 완수할 수 없다는 사실을 시스템 엔지니어에게 이해시키는 일이다. 

21. 프로그램이란, 운과 감에 의해서 작성되는 기적이다. 
      운과 감이 없다면, 그 기간 내에 그러한 목표를 실현될 수 있을 리 없다. 
      따라서 사양 변경은 기적에 트집을 잡는 건방진 행위이며, 사양 추가는 기적이 두 번 
      일어날 것으로 믿는 무모한 행위이다. 

22. 시스템 엔지니어는 지구력, 프로그래머는 순발력. 

23. 정시에 퇴근하면, 일이 늘어난다. 

24. 완벽한 프로그램은 완벽한 시간과 돈을 필요로 한다. 
      미국의 국가 예산을 무제한으로 사용하는 NASA마저도, 아직 시간과 돈이 부족하다고 한다. 

25. 눈으로 훑어볼 틈이 있다면 움직여라. 뇌세포보다 CPU가 더 해석이 빠르다. 그리고, 그 사이, 
      쉴 수 있다. 

26. 불편함을 버그라고 부를 것인가, 사양 상의 제한 사항이라고 부를 것인가는 남겨진 개발일자와 
     납기일에 의해 결정된다. 

27. 정장 대신 캐쥬얼을 입고 출근하는 "캐쥬얼 데이"를 세간에서는 휴일이나 공휴일이라고 부르는 
      것 같다. 

28. 프로그램은 머리로 기억하지 않는다. 몸으로 기억한다. 

29. 내일 쉴 수 있다면 오늘 죽어도 괜찮다. 

30. 고객은 거짓말을 한다. 
      영업은 꿈을 말한다. 
      시스템 엔지니어는 공상을 이야기한다. 
      프로그래머는 과묵해진다. (혼잣말은 많아진다) 

31.「네, 할 수 있습니다」라고 말하기 전에 10초만 곰곰히 다시 생각해보라. 

32. 프로그래머는 1분 생각하고 1일을 코딩에 소비한다. 
      1시간 생각하고 1시간 코딩하는 대신에 말이다. 

33. 납품 이후의 디버그는 버그를 부른다. 

34. 세 개의 디버그는 하나의 버그를 낳는다. 이것을 버그의 엔드리스 루프라고 한다. 

35. 안 좋은 예감은 반드시 적중한다. 그러나 프로그래머는 그 안 좋은 예감에 반응하지 
      않는다. 그것은 시스템 엔지니어의 일이다. 

36. 아수라장을 해결할 수 있는 방법은 오직, 고객이 돈을 지불하는 것 뿐이다. 

37. 아마추어는 버그발견의 천재이다. 

38. 아, 그건 마이크로소프트에서만 가능한 주문입니다. 

39. 프로그래머가 불만이라고 생각하는 부분은 고객도 반드시 불만이라고 생각한다. 

40. 건강하기 때문에, 건강을 해친다. 

41. 그건, 당신이 말한 요구조건입니다만. 

42. 아, 개발실의 창문은 안 열립니다. 그 이유는 옛날에 한 프로그래머가 그 창문에서··· 

43. 고객은 최악의 사태를 믿지 않으며, 그 사태에 대한 준비를 악질적인 비용청구라고 생각한다. 
      시스템 엔지니어는 최악의 사태를 대비하고 준비하려 한다. 
      프로그래머는 최악의 사태를 누구보다 잘 예상하지만, 무시한다. 

44. 만약 다른 직업을 갖게 된다면, 정시퇴근을「도망」이라고 부르지 않는 직업이 좋을 것 같다. 

45. 시스템 엔지니어가 프로그래머에게 말하는「상식」은 3시간마다 변한다. 

46. 최소한 자기가 쓴 시방서는 읽어주세요. 

47. 고객이 시스템 엔지니어에게 사랑받는 방법은, 시스템 개발에는 시간이 곧 돈이라는 사실을 
      깨닫고 빨리 최종요구조건을 확정하는 것이다. 

     SE가 고객에게  사랑받는 방법은, 프로그래머에게 미움받는 것이다. 

48. 납기일이란, 작업현장이 우리 회사에서 고객의 회사로 바뀌는 날을 의미한다. 

49. 가끔 일어나는 버그는 버그가 아니다. 스펙이다. 

50. 개발비의 30%는 프로그램의 요구조건을 확정하는데 사용된다. 
     개발비의 30%는 프로그램의 요구조건을 변경하는데 사용된다. 
     개발비의 30%는 프로그램의 버그를 잡는데 사용된다. 
     개발비의 10%만이 프로그램의 개발에 사용된다. 


http://blog.naver.com/soft1003/63686287

Posted by 기계식키보드
:

Redmine

카테고리 없음 2010. 7. 28. 12:51 |
Redmine설치 전 DB환경을 UTF-8로 설정해줘야 한글이 제대로 나온다.
(몰라서 redmine지우고 재 설치함ㅠㅠ)
참고 URL: http://www.redmine.org/wiki/1/HowTo_Install_Redmine_in_Ubuntu


------------------------
MySql UTF-8 세팅
------------------------
sudo vi /etc/mysql/my.cnf
[client]
default-character-set=utf8

[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8

mysql을 재시작
$ sudo /etc/init.d/mysql restart

------------------------
Redmine 설치 및 아파치 연동
------------------------
$ sudo apt-get install redmine redmine-mysql
$ ln -s /usr/share/redmine/public /var/www/redmine
sudo vi /etc/apache2/sites-available/default
<Directory /var/www/redmine>
    RailsBaseURI /redmine
</Directory>


Posted by 기계식키보드
:

정규식

JavaScript 2010. 7. 26. 19:17 |
숫자만 입력 가능
$("#phone").bind('keyup', function(e){ $(this).val( $(this).val().replace(/[^0-9]/g, "")); });

스크립트 제거
function removeScript(str) { var re = /\r\n/g; str = str.replace(re, "@!-_-!@"); re = /<\s*script.+?<\/\s*script\s*>/gi; str = str.replace(re, ""); re = /@!-_-!@/g; str = str.replace(re, "\r\n"); re = /^\r\n/g; return str.replace(re, ""); }

'JavaScript' 카테고리의 다른 글

유용한 놈들(jQuery)  (0) 2010.08.27
구현한 놈들  (0) 2010.08.06
Ajax 뒤로가기 구현  (3) 2010.07.26
image resize(비율유지)  (0) 2010.07.04
Email체크(jQuery UI에서 발췌)  (0) 2010.06.22
Posted by 기계식키보드
:

Ajax 뒤로가기 구현

JavaScript 2010. 7. 26. 06:48 |
상단 Tab으로 구성된 화면에서 각 탭의 컨텐츠를 Ajax를 통하여 불러왔는데, "뒤로가기"이슈가 발생했다. 서비스 오픈 후, 해당 페이지에서 뒤로가기 버튼을 누르는 사용자가 얼마나 되는지 통계를 내봐야겠다. 

 여러가지 자료를 찾다보니 RSH 프레임웤, Prototype을 통한 해결방법이 나왔는데, 둘 다 완전하지 못했다. 

 RSH는 IE에서 제대로 동작을 하지 않았으며(로컬 컴퓨터에서 바로 실행하였을 경우 제대로 작동하였으나, 서버 위에 올려놓고 구동시키면 history가 뒤죽박죽이 되어버리는 현상이 발견되었다. 서버 로그를 살펴보니 RSH에서 내부적으로 컨트롤하는 blank.html이 제대로 호출되지 않고 있었다. 뒤로가기 버튼을 누를 때바다 호출 되어져야 하는데, 간헐적으로 호출되고 있었다.) 
 Prototype을 이용한 뒤로가기 구현은 setTimeout을 이용한 history 목록관리를 통하여 해당 이슈를 해결하고 있었는데, 구현 내용이 깔끔하고 간단해 보이지 않아 도입을 포기하였다.

 이래저래 고민하다가 결국 아래와 같이 구현하였다.
(timer는 jQuery에서 timer검색하여 나온 플러그인 중 제일 첫 번째 놈 가져다 썼음)

<script language="JavaScript" type="text/JavaScript" src="jquerytimer-min.js"> </script>
// 일정 시간마다 현재 url검사하여 뒤로가기 구현
var currentResource=""; jQuery.fjTimer({ interval: 200, repeat: true, tick: function(counter, timerId) { if( currentResource!='' ) { if('#'+currentResource!=window.location.hash) { loadAjaxData(window.location.hash.replace("#", "")); } } }});
// 데이터 로딩
function loadAjaxData(resource) {
    location.href = '#'+resource;
    currentResource = resource;
    -- 이하 실제 데이터 불러오고 화면 갱신하는 내용 

대충 구현해보고 산뜻하게 정리해보려 했는데, 잘 작동 되길래 그대로 놔뒀다. 
잘 작동되니 희한하네ㅡ.ㅡ;
 

'JavaScript' 카테고리의 다른 글

구현한 놈들  (0) 2010.08.06
정규식  (0) 2010.07.26
image resize(비율유지)  (0) 2010.07.04
Email체크(jQuery UI에서 발췌)  (0) 2010.06.22
많이 사용하는 jQuery Selector  (0) 2010.06.17
Posted by 기계식키보드
:
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vm
D:\Java\jdk1.6.0\bin\javaw.exe
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms256m
-Xmx512m

참고)http://entireboy.egloos.com/3883873

'Java' 카테고리의 다른 글

자바 컴파일  (0) 2012.12.19
HtmlCleaner  (0) 2012.06.18
spring3 ibatis log 안나옴  (0) 2011.12.23
해당 날짜가 포함된 주의 월요일 구하기  (0) 2011.03.04
log4j.properties  (0) 2010.08.15
Posted by 기계식키보드
:
var IMAGE_MAX_WIDTH = 700;
var img = $("#attachImage");
if ( img.attr('width') > IMAGE_MAX_WIDTH) {  
var ratio = img.attr('width')/img.attr("height"); 
var newHeight = Math.round(650/ratio);  
img.attr({width:IMAGE_MAX_WIDTH, height:newHeight});  

'JavaScript' 카테고리의 다른 글

정규식  (0) 2010.07.26
Ajax 뒤로가기 구현  (3) 2010.07.26
Email체크(jQuery UI에서 발췌)  (0) 2010.06.22
많이 사용하는 jQuery Selector  (0) 2010.06.17
with  (0) 2010.06.07
Posted by 기계식키보드
:
function checkRegexp(val,regexp) {
if ( !( regexp.test( val ) ) ) {
return false;
} else {
return true;
}
}

validEmail = checkRegexp($('#email').val(),/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"eg. ui@jquery.com");

'JavaScript' 카테고리의 다른 글

정규식  (0) 2010.07.26
Ajax 뒤로가기 구현  (3) 2010.07.26
image resize(비율유지)  (0) 2010.07.04
많이 사용하는 jQuery Selector  (0) 2010.06.17
with  (0) 2010.06.07
Posted by 기계식키보드
:
$("#TestForm > input[name='TestText']").val();
$("#TestForm > input:radio[name="TestRadio"]:checked").val();// 결과: 1
$("#TestForm > input[name="TestRadio"]:checked").val();// 결과: 1

$("#TestForm > input[name^='TypeA']");
$("#TestForm > input[name$='Desc_1']");
$("#TestForm > input[name*='Desc']");
$("#TestForm > input[name!='TypeA']");


$(":input:radio[name=sample]:checked").val()
$("input[@name=test][@checked]").val()
$("#select_box > option:selected").val();

$("#select_box > option[@value=지정값]").attr("selected", "true")

$(this).parents(".parentTable").find(".targetEl").text("hello?");

$("input[type=text]:not(:first-child)").css({width: "95%"})

'JavaScript' 카테고리의 다른 글

정규식  (0) 2010.07.26
Ajax 뒤로가기 구현  (3) 2010.07.26
image resize(비율유지)  (0) 2010.07.04
Email체크(jQuery UI에서 발췌)  (0) 2010.06.22
with  (0) 2010.06.07
Posted by 기계식키보드
: