글 입력/수정 중 페이지 이동/새로고침/닫기시 확인 메시지 띄우기

웹에서 글(게시판, 이메일 등)을 작성중에 잘못 클릭해서 작성중인 글이 사라지면 곤란하다. 물론 의도한 경우 나가는건 상관 없겠지만, 의도하지 않았는데 나가지거나 이동되어 작성중인 내용이 사라진다면… 끔찍하다. 사용자의 노력이 허망하게 날라가는것을 방지하기 위해 최근에는 사용자의 노력이 날라갈 수 있는 경우(정의하기 나름)에 확인 메시지를 보여주고, 확인한 경우에만 페이지 이동등을 해준다. 마지막 안전장치인것이다. 그럼 우리가 만드는 웹에서도 이런 안전장치를 […]

(번역) angularjs 마법 이해하기: 기본 데이터 타입(primitive type)을 바인딩 하지 마라

원문: http://www.codelord.net/2014/05/10/understanding-angulars-magic-dont-bind-to-primitives/ angularjs를 사용하고 있다면 ‘기본 데이터 타입을 바인딩 하지 마라’라는 말을 들어본적이 있을 것이다. 이 글에서는 기본 데이터 타입을 바인딩하면 발생할 수 있는 문제를 예제를 통해 설명하겠다. 예제 책의 태그정보를 다루는 앱이 있다고 가정하자. 사용자가 책의 태그 정보를 수정할 수 있는 앱을 angularjs로 만들면 다음과 같다.

위 코드를 직접 확인해보자. input의 책 태그 […]

window mysql 에서 케릭터셋 설정

참조: http://jmnote.com/wiki/MySQL_%EC%BA%90%EB%A6%AD%ED%84%B0%EC%85%8B_utf8_%EC%84%A4%EC%A0%95 MySQL을 사용하다 보면 인코딩 문제가 발생할 수 있다. 이럴 경우 mysql에 접속해서 다음 쿼리를 날리면 현재 설정값을 받아올 수 있다. show variables like ‘char%'; mysql> show variables like ‘char%'; +————————–+—————————-+ | Variable_name | Value | +————————–+—————————-+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem […]

drop all table in mysql

직접 서버를 운영하는게 아니라 호스팅 업체를 이용하면 제약이 많다. 최근 카페 24 호스팅에서 작업을 하는데, mysql 권한이 없어서 간단한 작업 이지만 매우 번거로웠던 적이 있다. 그런 작업중에, 특정 데이터베이스 내의 모든 테이블을 지워야 할 경우에, 권한이 있으면 데이터베이스를 날리고 새로 만들면 되지만, 권한이 없어 그러지 못했다. 그럴 경우 다음 명령을 실행하면 한방에 처리가 끝난다.

[…]

apache2 + php 5 + oci 8 설정

참고: http://jianmingli.com/wp/?p=1263 옵션 정보 #apache ./configure \ –enable-so \ –enable-rewrite=shared \ –enable-headers \ –enable-proxy \ –enable-proxy-balancer \ –enable-proxy-connect \ –enable-proxy-http \ –enable-rewrite \ –prefix=/app/apache2 #php ./configure \ –with-apxs2=/app/apache2/bin/apxs \ –enable-bcmath \ –with-pear \ –enable-sockets \ –with-zlib \ –with-gd \ –with-freetype \ –with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/   이후 php.ini 에 extension=oci8.so 를 추가해주면 된다.

NAS(synology)에서 crontab 사용하기

주기적으로 무언가를 해야한다면, 흔히 생각할 수 있는 것이 crontab이다. 물론 서버가 리눅스일 경우에 ^^ 지금 NAS를 사용하고 있는데, NAS가 리눅스 기반이기 때문에 당연히 crontab이 있을 것이라고 생각했다. 리눅스에서와는 조금 다르지만, 역시나 존재했다. crontab에서 동작할 무언가를 등록해야 한다. 리눅스에서는 ‘crontab -e’ 와 동일한 작업은 다음을 이용한다. vi /etc/crontab 이렇게 하고 나면 이제 리눅스에서 쓰던 그대로 등록을 […]

String.intern()은 뭘 하는거지?

String.intern에 설명에 앞서 다음 퀴즈를 한번 보자.   전제조건) String string = “test”; 전제조건) String test = “test”; Q1) test == “test”  ? Q2) test == new String(“test”) ? 위 문제의 답(java 1.6+에서)은 각각 true, false 이다.   왜 그럴까? 위 문제의 답을 알기 위해서는 intern이 뭘 하는지에 대해서 알아야 한다. 사실 위와 같은 답이 […]

Play framework에서 CRUD class가 보이지 않을 경우

http://www.playframework.org/documentation/1.2.4/crud   이클립스 기반으로 위의 튜토리얼을 따라하다 보면 CRUD class 가 보이지 않는 경우가 있다. 이 건, 이클립스에서 사용하는 내부 캐쉬 문제라고 한다. 이 경우에는 다음과 같은 순서로 해결 가능하다.   1. 이클립스 상에서 해당 프로젝트를 삭제(컨텐츠까지 지우면 안됨). 2. play eclipsify app-name 3. 이클립스에서 다시 import   이거 몰라서 한참 고생했네~