기본 콘텐츠로 건너뛰기

2015의 게시물 표시

어셈블러에서 carry flag 역활?( 리멤버! )

한동안 어셈블러 전혀 보질 않았더니, 완전히 잊어버렸다...헐... carry flag(borrow flag) 8 bit(Byte와 Byte), 16bit(Word와 Word간) 연산시 결과를 포함해서 사용 덧셈에서는 Overflow 상태, 뺄셈 연산에서는 Borrow 상태를 표시하고, 이를 다음 연산에 이용하기 위한 상태 플래그  관련 명령은  CLC(CLear Carry)  ADD/ADC(ADd with Carry) SUB(SUBtract)/SBC(SuBtract with Carry) SHL(SHift Left)/SHR(SHift Right) ROL(ROtate Left)/ROR(ROtate Right)

[tip] sublime text, 글자 입력 위치 표시 caret을 눈에 잘 띄게 하자.

sublime 테마도 변경하고, 색상 변경하라고 하는데, 여전히 잘 보이지 않는다. caret_style을 변경에도 차이를 못 느끼겠다. caret의 크기 정확히는 여분의 폭의 변경해서 좀 더 두껍게 보이도록 하고 나니 훨씬 잘 보인다. 1). caret 폭 변경 하기 1.1) preferences > setting - default 에서 아래 부분을 검색해서 찾은 다음, 클립보드에 복사(ctrl + c/cmd + c)     // Valid values are "smooth", "phase", "blink" and "solid".     "caret_style": "smooth",     // These settings control the size of the caret     "caret_extra_top": 0,     "caret_extra_bottom": 0,     "caret_extra_width": 0, 1.2) preferences > setting - user 에서 클립보드 내용을 다음처럼 붙여넣기(ctrl + v / cmd + p)를 수행하여, 값을 변경 (1 ~ 3 사이 값을 추천) 한다. { // 기존에 있어야 하는 것., 없으면 삽입     // Valid values are "smooth", "phase", "blink" and "solid".     "caret_style": "smooth",     // These settings control the size of the caret     "caret_extra_top": 0,     "caret_extra_bot

[링크] Sublime text / Emmet 에 대한 내용들 정리.

1) Sublime text는 사용하기 편한 텍스트 에디터이다. 1.1) GUI를 사용하지 않는 edlin, vi, bref(?) 등 에디터는 제외하고, 내가 알고 있는 윈도우용 에디터들은 notepad, ultraeditor, editorplus, notepad++ 등 이 있고, 이중에는  ( ultraeditor 같이) 리눅스, 맥 등으로 활동 영역이 넓어지는  에디터들도 존제한다. 1.2). 주변 지인들에게 sublime 에디터가 쓰기 좋다는 말을 들어본적이 있다. 하지만, 구체적으로 왜, 어떻게 좋은지 잘 몰랐다. 질문을 따로 하지도 않았지만, 구체적인 설명이 없었다. 평소에 딱히 맘에 드는 에디터도 없어서 sublime 에디터를 간간히 사용해 오고 있었다. 1.3) 사용을 하다보니 단순한 사용법과 비교적 간단해 보이는 화면 구성이 마음에 들어서 , 이것 또한 장점 이겠지만, "이 정도 기능을 기준으로 하여, sublime이 좋다고 하기에는 부족하지 않은가?" 라는 의문을 내심 가지고 있었다. 1.4) 인상적인 기본 기능중에 "Goto Anything" 기능은 아주 뛰어나다. 폴더, 파일, 항수명, 라인까지 찾아갈수 있다니, 이건 정말 강추다. 이래서 좋다고 하는 거구나 하는 의견에 수긍을 하게 되었다. 1.5) sublime 패키지를 통한 무한한 확장력을 경험하게 되고 나서는 더 더욱 신봉자가 되어가고 있다. 비록, 아직은 내용들을 더 파악해야 하겠지만 1.5.1) sublime text 사용하면서 한번쯤은 알고 있으면 좋을 듯한 내용(emmet 포함) https://opentutorials.org/course/671/3595 2) Emmet - 광속 코딩 도구 2.1) Emmet(html/css 축약 기능 패키지 ?? ) 관련 내용이 정리된 곳이 있어 추가로 참고용으로 첨부합니다. 2.1.1) emmet 관련 내용 정리 잘된 곳.

github 안내서 정리

1. github 간편 안내서 (개념 정리/디자인 굿~!) https://rogerdudler.github.io/git-guide/index.ko.html 책이나 다른 것 보시기 전에 먼저 보시기 권합니다. svn 등의 개념을 알고 있으시다면, 요약 정리되어 스크롤하면서 보시면 쉽게 이해가 되더군요. 2. 완전초보를 위한 깃허브 요약 정리 https://nolboo.github.io/blog/2013/10/06/github-for-beginner/ 'github' 구글 검색하면 거의 처음에 표시되는데, 과연 요약된 내용이 알차서,  필요한 기능을 다시 생각해내거나, 정리하기에 좋은 게시물로 생각이 듭니다.

cordova로 만든 앱에서 한글 출력 안되는 문제

cordova(phonegap) 프로젝트 테스트중... ios용 테스트하는데, 한글 표시안되는 문제... <target project name>/www/index.html 파일 아래에 다음 태그 아래에 <html>     <head> 아래를 추가하면 한글이 제대로 표시됨..  <meta http-equiv="content-type" content="text/html"; charset="UTF-8"/> 가만 생각해보니, html 작성하는 거랑 동일한데...참... (외국꺼라 한글 출력하는 부분이 없음.)

osx 터미널에서 이미지 파일 보기 open

맥(OSX) 터미널에서 이미지파일 바로 보기 UI의 시대에 누가 터미널을 사용하려나 하겠지만, 여러가지 작업을 하다보면, 터미널에서만 지속적으로 작업을 할 경우가 자주 발생한다. 간단한 것은 커맨드라인 명렬을 모른다해도, 경로만 알면,  UI 프로그램으로 약간의 삽질(?)을 통해 해당 프로그램을 수행하면 된다. 하지만, 터미널에서 주로 작업을 수행하고, 자주 반복되는 일이라면 명령어를 알아놓는게 훨씬 유리할 터... 터미널에서 쓰다 보니, 다른 건 비교적 unix 명령어로 해결이 되는데, 이미지 파일 보기 같은 경우는 텍스트 기반 프로그램에서는 쉽지가 않다. 결국, 관련 명령어를 검색 했고, 이전에도 몇번 언급을 했지만, 결국 타고난 능력(여러번의 기억의 망각)으로 다시 검색하게 되고, 또 다시 알게되었다. open 또 찾아보게 될줄이야..--;; 난 아래 2가지 형태를 가장 많이 사용하는 듯 open image/log.png    --> 파일과 관련된 Viewer? 띄우기 보통은 Preview가 뜸 open .    --> 현재 폴더 위치로 된 Finder 아래 명령들에 대한 설명들도 추가로 있으니, 추가적인 설명이 필요하면 맨 아래쪽 링크를 참고 하면 됨. open  pbcopy pbpaste mdfind screencapture launchctl say diskutil brew 관련한 검색 결과중 나중에 또 보게 된다해도 괜찮을 것이 보여서 글을 하나  남긴다. 제목 Eight Terminal Utilities Every OS X Command Line User Should Know 관련 링크:  http://lifehacker.com/eight-terminal-utilities-every-os-x-command-line-user-s-1593793109

[android/osx] 맥 터미널에서 android 가 실행해도 모르는 명령이라 표시됨.

맥에서 android 명령이 콘솔에서 동작하지 않아서 검색을 했더니, 역시나, StackOverflow.com 에 따악~~ ㅋㅋ 원인은 안드로이드 실행경로가 경로설정에 누락되어 있어서 그런 것...  설정은 아래 처럼 하면 됨. export PATH =< path_to_android_sdk >/ platform - tools :< path_to_android_sdk >/ tools : $PATH 아래처럼 <path_to_android_sdk> 대신에 실제 경로를 지정 하면 됨 export PATH=/Users/poweruser/Library/Android/sdk/platform-tools:/Users/poweruser/Library/Android/sdk/tools:$PATH 참고로 한 링크는 http://stackoverflow.com/questions/19832803/bash-android-command-not-found-on-mac-osx

[영어/시제/미래] Shall.Will/be going to 용법

1.Shall  의 용법 상대방의 의견, 의향을 물을때 주어가 아닌 화자의 의지 ex) Shall I buy this? Shall I open the window? Shall we dance? Shall we go? You shall pay it. You shall die. 2. Will ~할 것이다. 지금 결정된 미래의 일 I will call her. I will take a taxi 3. be going to -할 예정이다. 미리 계획한 미래의 일 I'm going to wash my car. I'm going to visit a customer. 4. be about to 막 ~하려고 하다 곧 시작하는 미래 The ceremony is about to begin. I am just about to leave. 5. be supposed to 막 ~ 하려던 참이다. 예정된 의무 You were supposed to call me. I;m supposed to work.

python 논리식 and or

논리 연산자  and 나 or 는 보통 아래와 같이 사용한다. >>> a = 1 >>> b = 2 >>> a > 0 and b > 1 True >>> a < 0 or b > 0 True >>> a < 0 or b < 0 False >>> not 0 True >>> not 1 False >>>  그런데, 조건 식이 아닌 값을 사용하면 어찌 될까? >>> a = 1 >>> b = 2 >>> a and b 2 >>> a or b 1 >>> c = 0 >>> d = 4 >>> c and d 0 >>> c or d 4 이건 뭐임? 찾아보니, 판정에 영향을 준 값이 표시가 된다고 하더이다. 어찌되는지 잘 보아두시게나....

python 변수 값 서로 변경하기(swap) 처리

python 변수 값 서로 바꾸기 아주 간단하게 x, y = y, x 형태로 된다.... 헐, 반환값도 이런식으로 되니... 암튼 알아둬야 함... >>> x = 1 >>> y = 2 >>> x,y = y, x >>> x 2 >>> y 1 >>> x,y = y,x >>> x 1 >>> y 2 >>> 다른 객체형태도 동일하게 적용된다. >>> y = [1,2,3] >>> x = [3,2,1] >>> x [3, 2, 1] >>> y [1, 2, 3] >>> x, y = y, x >>> x [1, 2, 3] >>> y [3, 2, 1] >>> 

python 연산자 ++ -- 값은?

python 에서 c에서 만들어 졌다고... ++나 --가 동작할 지도 모른다는 생각으로 실행을 해봤더니... >>> ++3 3 >>> --3 3 >>> +-3 -3 >>> -+3 -3 그냥 단항 연산자로 취급됨.... 결국, 내가 생각했던 것 처럼 c 연산자는 없는 것...

python ** 연산자 우선 순위

4 / 2 * 2 는 얼마? 연산 우선 순위는 (4 / 2) * 2 이고 단순화 하면  2 * 2  답은  4 그럼 4 ** 3 ** 2 는 얼마? 4 ** ( 3 ** 2  ) 이므로 단순화 하면 4 ** 9 = 답은 256 이걸 왜 질문하고 있을까? python에서 우선순위가 오른쪽 부터 있는 연산자가 ** 이다. 나머지는 왼쪽 부터 인데... 그래서 ㅎㅎ 그냥 그렇다고....

python for 문장

소스 코드(python 3.5.0/OSX) l = ['cat', 'dog', 'bird', 'pig', 'spam'] for x, animal in enumerate(l): print(x, animal) else: print("Done") 실행 결과 0 cat 1 dog 2 bird 3 pig 4 spam Done 위 샘플로 알수 있는 것은? 1.python 에서 별도 추가하지 않고, 인덱스 쓸수 있는 방법이 있었다. 헐, enumerate()를 이렇게 쓰는 구만.. 2.for 문이 종료되는 시점에 별도 처리 가능한게 있다. 바로 'else' 'if'도 아닌데, else라니, 'while'문에도 있다는 걸 처음 알게 됨...ㅎㅎ 단, 중간에 'break' 처리가 들어가면 else이하가 실행되지 않으니 주의. 아래는 2개의 테스트 결과를 보면, 앞쪽은 인덱스, 뒤쪽은 range() 결과 인데. 참고. 1번 테스트 >>> for k, n in enumerate(range(10)): print(k, n) 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 2번 테스트 >>> for k, n in enumerate(range(3, 10)): print(k, n) 0 3 1 4 2 5 3 6 4 7 5 8 6 9

[python/IDLE] 인터프린터 창에서 직접 실행하기 execfile(), exec()

python3.5.0 IDLE 을 일단 설치해서 사용하고 있다. PYCharm을 주로 쓰고 있는데, 보통은 별도 파일로 만들어진 것을 실행하는데 idle 내부 인터프린터 창에서 바로 해당 파일을 실행하는 방법이 갑자기 궁금해졌다. python2 버젼에서는 아래처럼 execfile() 함수를 이용해서 인터프린터 창에서 입력하면 되는데, execfile('./cal.py') python3 버젼에서는 execfile() 명령이 사라졌다. 이런, 구글씨에게 물어보니 stackoverflow.com 내용 중에서 하나를 보여준다. exec(open('./cal.py').read()) 왜 이리 바꾼것인지 모르겠지만,  상대경로로 실행하기 때문에 이부분은 절대 경로로 바꾸어서 하든 그냥 한번 실행하면 될듯... 또는 파일 편집창에서 한번 실행해주고, 인터프리터 창에서 입력하니, 실행이 잘 되었음. 왜 편집창에서 모듈 실행후 잘 실행되는지 확인해 보니, import sys sys.path 실행하면, 내가 실행할 경로 들이 저장되어 있는 것을 확인할 수 있음. 아래 명령을 이용 직접 실행할 경로명을 추가해도 된다함. sys.path.append('추가할 디렉토리명') 참고 링크 :  http://stackoverflow.com/questions/436198/what-is-an-alternative-to-execfile-in-python-3-0

[python] 나누기 연산, 'divmod', '//'

python 3 사용하면서 나누기 관련하여 변경된 것이 있구만... 1.divmod(x, y) - x를 y로 정수형 나누기 연산을 수행 했을때, 몫(div)과 나머지(mod)를 '(div, mod)' 형태로 결과 전달 2. '//' 정수 나누기 연산자 3. '/' python2에서는 항목에 따라 정수 연산, 실수 연산를 수행하여 결과를 반환했으나,  python3 로 오면서 실수형 연산 결과를 전달 받은 형에 맞게 반환 먼저  python 2.7.10(osx)  에서 실행 결과 >>> 9 / 4 2 >>> 9 // 4 2 >>> 9.0 / 4.0 2.25 >>> 9.0 // 4.0 2.0 >>> divmod(9, 4) (2, 1) >>> a, b = divmod(9, 4) >>> a 2 >>> b 1 다음  python 3.5.0(osx)  에서 실행 결과 >>> 9/4 2.25 >>> 9//4 2 >>> 9.0 / 4.0 2.25 >>> 9.0 / 4 2.25 >>> 9.0 // 4.0 2.0 >>> divmod(9.0, 4.0) (2.0, 1.0) >>> divmod(9, 4) (2, 1) >>> a, b = divmod(9, 4) >>> a 2 >>> b 1

[python/plyer] - 장치에서 하드웨어 제어를 위한 python 라이브러리

링크:  https://plyer.readthedocs.org/en/latest/ 가속센서, 오디오, 배터리, 카메라, 콤파스, e-mail, gps, gyroscope 등 native app 에서 접근 가능한 기능을 제어 할 수 있게 구성한 라이브러리 kivy 같은 모바일용 어플 사용시에 필수적으로 보임 그래서, github의 kivy를 아래처럼 관련 내용이 있다. https://github.com/kivy/plyer Plyer를 통한 kivy 에서 안드로이드 센서 제어하기 와 같은 포스팅도 존제 https://bytedebugger.wordpress.com/2014/07/06/guest-post-accessing-android-sensors-with-kivy-via-plyer/ https://bytedebugger.wordpress.com/2014/07/17/python-for-android-tutorial-1-using-the-accelerometer/

[링크] [Python] Kivy 한글 예제

링크:  http://www.complexity.co.kr/?p=443 폰트 복사를 하고, 폰트 경로를 지정해 줘야 한글 출력이 됨... 나는 kivy를 아래의 폴더처럼 구성이 되어 있다. \Kivy-1.9.0-py2.7-win32-x64 윈도우 시스템 폴더의 한글 폰트를 가져다 아래의 폴더에 복사하면 된다 \Kivy-1.9.0-py2.7-win32-x64\kivy27\kivy\data\fonts 난 네이버 나눔 고딕이 좋아보여서 나눔 고딕 폰트('NanumGothic.ttf')를 복사 했음 아래는 실행한 결과, 그리고, 아래는 kivy 이용한 한글 Hello World 코드 # coding: utf-8 from   kivy . app   import   App from   kivy . uix . button   import   Button   import   os class   TestApp ( App ): def   build ( self ): fontName = '/' . join ([ os . getenv ( 'SystemRoot' ), '/fonts/NanumGothic.ttf' ]) return   Button ( text = 'Hello World\n안녕?' , font_name = fontName ) TestApp (). run ()

html5 canvas 이용 샘플과 한글 깨짐 처리

참조 링크는 http://div.or.kr/html-studying/%ED%95%9C%EA%B8%80%20%EA%B9%A8%EC%A7%90%20%EB%AC%B8%EC%A0%9C < meta   charset = "utf-8" > 가 추가 되어야 한다. 아래는 html5 이용한 간단한 canvas 이용 예제인데 한글이 깨져서 위의 태그를 넣고 정상 출력을 확인했 다. <! DOCTYPE html > <html> <head> <meta   charset = "utf-8" > </head> <body> <canvas   id = "myCanvas"   width = "200"   height = "100"   style = "border:1px solid #c3c3c3;" > Your browser does not support the HTML5 canvas tag. </canvas> <canvas   id = "myCanvas2"   width = "200"   height = "100"   style = "border:1px solid #c3c3c3;" > Your browser does not support the HTML5 canvas tag. </canvas> <canvas   id = "myCanvas3"   width = "200"   height = "100"   style = "border:1px solid #c3c3c3;" > Your browser does not support the HTML5 canvas tag. </canv

python 2.7 pip 모듈 다운로드시 빌드 오류 나는 경우,

아래의 링크를 보면 너무도 자세히 쓰여 있다. ( 감사~! ) 링크: http://imp17.com/tc/myevan/204 요약하면, 아래 파일의 내용 중간 쯔음에 C:\Python27\Lib\distutils\msvc9compiler.py 다음과 같은 내용이 있는데, # More globals VERSION   =   get_build_version() if   VERSION   <   8.0 :      raise   DistutilsPlatformError ( "VC %0.1f is not supported by this module"   %   VERSION ) 이중 get_build_version() 이 9.0을 반환하는데, 설치된 MSVS 와 버젼이 일치 하지 않으면 생기는 문제 get_build_version() 대신 다른 버젼을 반환하면 된다는 내용 입니다. 좀더 자세히 읽어보시려면 맨윗줄 링크 내용을 참고하세요. 이상입니다. 수고하세요.

mysql-Python 2.7 다운로드

python 2.7에서 mysql 연결하는 모듈 갱신 불가하다. 관련된 자료 검색해 보니, 누가 이미 수고를 해놨군요.. 아래 링크에서 정보를 보시고, 행여나 다운로드 안되면,  아래 링크를 이용하세요. 링크: http://www.codegood.com/archives/129 혹시 몰라 링크도 추가 MySQL-python-1.2.3.win32-py2.7.exe http://www.codegood.com/download/10/ MySQL-python-1.2.3.win-amd64-py2.7.exe http://www.codegood.com/download/11/

python 한글 주석 오류시 확인

python 관련 작업을 하면서, 추천을 많이 해놓은 편집기 pyCharm 을 사용중이다. 한글 주석을 사용하다 보니 또 오류가 난다. 소스 코드 첫줄에 아래 한줄만 쓰면 안나는데, 또 깜빡했다... 코드에 따라 cp-949 를 사용하기도 한다는데, 저는 이것만 사용해봤어요... # -*- coding: utf-8 -*- 결국, 소스 코드 작성시 아래는 기본 형태로 잡고  작성하면  되겠네요. # -*- coding: utf-8 -*- __author__ = 'alexnet' import turtle def main():     # This isn't indented, so we aren't repeating it. if __name__ == "__main__":     main() 오늘도 좋은 하루 되세요.

작고 간단한 텍스트 에디터 'BowPad'

오래만에 쓴다. ㅎㅎ 무료 이면서, 주로 뷰어용으로 사용할 간단하게 사용할 수 있는 텍스트 에디터를 찾다가 'BowPad'를 찾았다. notepad++ 를 많이 사용하기는 하는데, 탭이 너무 많은 경우에는 뭐가 뭔지 잘 모르때, 작업일지나 간단한 파일 보기 용으로 사용하기 좋다. 신텍스 컬러링을 지원해서 소스 보기에도 좋은 데, 리본 메뉴바에 왠만한 것은 다 나와 있어서, 메뉴에서 찾을 필요도 거의 없다. bowpad 사용 화면 이미 대부분의 사람들이 메인 에디터를 사용하고 있을터, 가벼운 에디터를 찾는다면, 이 녀석을 추천하고 싶다. GPL 라이센스 로 배포 되고 있으니, 참고하시고, 아래 주소에서 다운로드 받을 수 있다. http://sourceforge.net/projects/bowpad-sk/files/

[c#.net] WPF 사용 중 xaml관련 실행시 오류 와 대처 방법

wpf 사용 중 xaml관련 실행시 오류 가 발생해서 자그마치 2일을 소비 했다..--;; 오류 내용은 아래와 같다. ================================== 'System.Windows.Markup.XamlParseException' 형식의 첫째 예외가 PresentationFrameWork.dll에서 발생했습니다. 추가 정보: '지정된 바인딩 제약 조건과 일치하는 'PapaZone.MainWindow' 형식에 대한 생성자 호출에서 예외가 throw 되었습니다.' 줄 번호 '21' 및 줄 위치 '9' 이 예외에 대한 처리기가 있으면 프로그램을 안전하게 계속할 수 있습니다. [] 이 예외 형식이 throw되면 중단 ================================== 위 Xaml 오류 메세지만으로는 내용 추적 불가하여, 도대체 뭔가 했다. 검색해도 뚜렷한 답변은 없었지만, 여러가지 의견을 종합해 보면 아래와 같다. 1. xmlns 관련 파일 과 관련된 파일 로딩 실패 이거나, 2. 신규로 추가된 namespace 에 속한 태그 사용시 오류로 판단되어 태그 하나씩 삽입하며 테스트 해봐야 한다고 함. 해결한 지금에 원인을 보면, xaml 에서 clr-namespace 로 추가된 항목들이 로딩에 실패해서 발생한 것이며, 추가된 항목은 있었으나, 이것과 연결된 파일이 없어서 로딩되지 않는 것이 문제였다. 오늘도 즐거운 하루~~