본문 바로가기

반응형

IT

gedit 에서 윈도우에서 만든 텍스트 파일을 열때 글자가 깨지는 경우 윈도우에서 텍스트 파일을 생성하면 기본적으로 euc-kr, UHC, cp949 등으로 나타내는 문자집합을 사용한다. 우분투나 기타 리눅스에서는 UTF-8이라는 문자집합을 기본으로 사용하므로 인해서 바이트로 저장되는 문자열을 서로다른 방식으로 해석하다보니 정상적으로 표현이 안되는 것이다. gedit의 경우 내가 주력으로 사용하는 에디터인데, auto detect 항목에 윈도우에서 사용하는 문자집합을 넣어주면 아주 잘 작동한다. 나의 경우 dconf-editor 라는 툴을 사용하여 수정하였다. 위치는 org -> gnome -> gedit -> preference -> encodings 까지 찾아 들어가면auto-detected 라는 항목이 있을 것이다. 아마 기본값은 ['UTF-8', 'CURRENT', .. 더보기
우분투에서 부팅시 자동 실행 서비스 실행되지 않게, 실행되게 설정하는 방법 우분투에서 tomcat 관련 개발을 진행하다보니 tomcat이 PC를 부팅할 때마다 자동으로 실행되어서 이를 정지시키고, eclipse에서 tomcat을 다시 실행하곤 한다. 매번 콘솔에서 명령어를 입력해서 서비스를 중지하곤 했는데, 간단히 해결하는 방법이 있다. 터미널에서 다음 명령어를 입력한다.$ sudo update-rc.d -f tomcat7 remove 다시 자동 실행되게 하고 싶다면$ sudo update-rc.d -f tomcat7 defaults 로 변경하면 된다. 리부팅해보자. 이상하게.... 실행되었다가, 중지되는 것 같은 기분이다. 잠깐 동안 브라우저에서 localhost 에 접속하면 톰캣화면이 보였다가, 잠시후 연결할 수없는 상태가 된다. 뭐지??? 끝. 더보기
eclipse 에서 intellij 에서 처럼 content assist 기능 사용하기 eclipse 에서는 기본적으로 '.' 에 해당하는 문자를 입력하거나, Content Assist키인 Ctrl+Space 를 입력했을 때만 자동완성 창이 뜬다.PC가 느렸고, 메모리가 넉넉치 않았던 과거에는 필요할 때만 호출되는 것이 좋기도 했는데, 요즘은 그냥 아무 문자만 입력해도 바로바로 뜨는게 참 편하다.Intellij가 그런식으로 모든 문자에 대해서 반응하므로 똑같은 방법으로 작동하도록 환경설정을 수정해보자. 생각보다 간단하다. 창이 뜨는 딜레이를 0ms로 줄이고, Content Assist에 반응하는 문자를 필요한 문자 모두 추가하면 된다. 위에서 같이 Content Assist로 검색하고, 필요한 언어에 Auto Activation 부분을 수정하면 된다.수정할 값은 Auto activation.. 더보기
remmina 에 저장된 원격제어 접속 비밀번호 복호화(Decrypt) 서버 접속정보를 정리하지 않은 상태에서 남아 있는 정보라고는 remmina의 암호화하여 저장된 비밀번호만 있는 경우 이를 복고화하여 비밀번호를 알아낼 수 있다. 방법은 일단 아래 스크립트를 파일로 저장한다. #!/usr/bin/python from Crypto.Cipher import DES3 import base64 secret = base64.decodestring('remmina.pref 파일안의 secret 문자열') key = secret[:24] iv = secret[24:] # Encoded Encrypted password EEpwd = '***.remmina 파일의 password 문자열' # Decoded Encrypted password DEpwd = base64.decodestrin.. 더보기
우분투 다국어 입력기 DASOM 설정 지금까지 ibus, ibus-hangul 을 사용하여 별다른 ? 불편함이 없이 잘 사용하고 있었습니다. 그러던 와중에 최근 업데이트에서 스페이스바를 누르면 바로 앞글자앞으로 포커스가 이동하여 만약 '오늘은 월요일' 이라는 타이핑을 하게 되면 '오늘 은월요일' 같은 형식으로 글자가 완성되더군요. 하여 구글링을 열심히 한 결과, 다솜이라는 다국어입력기를 제작하고 있고, 기타 여러 im(input method)에서 발생하던 버그를 처리하였다고 하여 사용해보기로 하였습니다. github 를 이용하여 개발소스를 공유하고 계시고, https://github.com/dasom-im 별도의 홈페이지도 운영되고 있습니다. https://dasom-im.github.io/ 11월 30일 현재 일자를 기준으로 1.1버전이 .. 더보기
mysql collation utf8_general_ci, utf8_unicode_ci 차이점 character-set을 utf8로 사용하는 경우 collation 에 대하여 utf8_general_ci 와 utf8_unicode_ci 둘중에 하나를 사용할 수 있습니다. 이 둘의 차이는 비교적 간단하고, 자신의 서비스 원칙에 따라서 둘중에 하나를 사용하는 것이 좋습니다. 일단 utf8_general_ci 명칭에서 느껴지듯이 성능을 우선시하며, 일반적인 경우에 사용하는 collation 이다. 이를 사용하면 ÀÁÅåāă 등의 문자가 없어 A 로 치환되어 비교 처리됩니다. 하여 정확한 비교, 정렬 등이 필요한 경우라면 utf8_general_ci를 사용하지 않도록 합니다. 물론 비교, 정렬에서 utf8_unicode_ci에 비해서 빠른 속도를 보여줍니다. (링크 : collation 차이의 벤치마킹 .. 더보기
CommandLine에서 Base64 Encode, Decode 개행문자 없이 처리하기 Base64를 이용해서 DB접속 암호를 적당히 암호화해서 적용하려니, 우분투는 간단히 커멘드라인에서도 Base64를 인코딩, 디코딩할 수 있습니다. 그런데 꼭 명령어를 입력하는 마지막 '\n' 문자까지 포함되어서 암호가 생성되어 원하는 암호화가 되지 않더군요. 하여 검색해본 결과 개행문자가 포함되지 않은 base64 인코딩 방식이 명령어가 있어서 간단히 적어놓습니다. // Base64 Encode $ echo -n 'password' | base64 // Base64 Decode$ echo -n 'cGFzc3dvcmQ=' | base64 -d 위의 방법대로 echo 명령어에 -n 옵션을 적용하면 개행문자가 포함되지 않은 인코딩 문자열을 얻을 수 있습니다. (디코딩명령어 입력하면 개행문자가 없는 관계로 $.. 더보기
MySQL Connection 생성시 UTF-8 로 Charset을 지정하는 방법 한글을 DB에 저장하기 위해서는 MySQL에서 한글 저장을 위한 UTF-8 CharSet 으로 DB 구성하기 글을 먼저 읽어보기 바랍니다. DB가 준비된 상태에서 Connection을 Java 앱에서 획득할 때, 유니코드, UTF-8 사용에 대해 알려주어야 합니다. String connectionString = "jdbc:mysql://localhost:3306/test_spring?useUnicode=true&characterEncoding=utf8"; 위에서 빨간색과 같은 부분을 추가하면 됩니다. 끝. 더보기

반응형