반응형

프로그래밍 219

파이썬으로 바이너리(binary) 파일을 텍스트(text) 파일로 바꾸는 방법

텍스트(Text) 파일(아스키(ascii 파일이라고도 함)과 바이너리(Binary) 파일에 대한 내용은 C언어 포인터와 같이 진부한 주제 중에 하나라고 생각한다. 그럼에도 일반적으로 그다지 중요하지 않게 다루는 것 같은 느낌이 든다. 바이너리와 텍스트의 차이점을 설명하는 많은 글들이 있음에도 그 내용을 명확하게 이해하기 힘들 수 있다. 사실 대단히 단순한 사실인데 말이다. 사실 바이너리(Binary)라고 하면 실행파일을 말할 때가 많다. 텍스트(Text)라고 하면 문서파일이다. 그러나 리눅스에서는 텍스트 파일이라는 개념이 바이너리와 다른 것이 아니다. 그렇다면 윈도우에서는 서로 다른가? 어디서 부터 잘못된 것일까?윈도우에서는 텍스트 파일과 바이너리 파일이 분명히 구분된다. 어떤 차이냐면 저장방식의 차이다..

파이썬 openpyxl로 엑셀 파일 읽기, 쓰기

VBA(Visual Basic for Application)이라고 들어봤을 것이다. 마이크로 소프트사의 오피스제품군의 응용프로그램을 개발하기 위해 보통 VBA를 많이 사용하는데 파이썬으로도 가능하다. 파이썬으로 엑셀을 다루는 대표적인 방법은 win32com과 openpyxl이다. 어떤게 좋을까 비교하다가 결국 openpyxl로 기울어 졌다. 이유는 Tutorial.. win32com은 자세한 Tutorial을 찾을 수 없었다. 반면에 openpyxl은 다음 사이트 https://openpyxl.readthedocs.io/en/default/index.html 에 아주 잘 정리되어 있다. 설치 방법도 나와있는데 귀찮다면 공식 파이썬 대신 아나콘다(Anaconda)를 설치하면 된다. 아나콘다는 win32co..

파이썬(python) 네임드튜플(namedtuple)을 사용해 보자

파이썬의 자료형 중에 네임드튜플(namedtuple)이란 녀석이 있다. 말 그대로 튜플의 성질을 가졌지만 항목에 이름으로 접근이 가능하다. 튜플은 항목에 인덱스(index)로 접근하므로 직관적이지 않다. 튜플의 방식 mytule[0], mytuple[1], .. 이렇게 하면 0번째, 1번째 항목에 대한 정보를 구체적으로 알 수 없다. 하지만 네임드튜플은 mytuple.age, mytuple.birth, 와 같이 사용자가 항목에 이름을 붙여 사용할 수 있다. (물론 인덱스(index)로도 항목에 접근 가능하다.) 그럼 네임드 튜플을 어떻게 사용하는지 살펴보자. from collections import namedtuple네이드 튜플은 기본 자료형이 아니다. collections 이 제공해주는 namedtu..

[html/css] 폰트(font) 속성 정리

css 폰트(font)에 관련된 주요 속성은 다음과 같은 것들이 있다. font-family, font-size, font-style, font-variant, font-weight 다음 역시 폰트에 관련된 속성이다. letter-spacing, word-spacing, line-height 속성이 이름만 봐도 대략 느낌이 온다. 이제 하나씩 알아보도록 하겠다. font-familiy 폰트 테스트, font Test, 1234567890 속성 이름 font-family에서 family는 집합을 의미한다. 코드를 보면 폰트(글꼴)이 여러개가 지정되어 있음을 알 수 있다. font-familiy의 속성 값들은 왼쪽에 있는 것이 우선순위를 갖는다. 위에서는 Nofont라는 폰트가 최 우선순위지만, 이런 폰트가..

파이썬 가위바위보 알고리즘

가위바위보 문제를 해결하는 방법은 여러가지가 있습니다. 하지만 그 근본은 가위, 바위, 보 각각을 숫자로 매핑해서 대소를 비교하는 것입니다. 대소를 비교하는 방법은 너무 다양해서 딱히 어떤 방식이 가장 좋다고 볼 수 없습니다. 비교 가지수도 9가지 뿐이므로 모든 경우를 다 비교하는 것도 어렵지 안고 효율성도 나쁘지 않습니다. 가위를 1로 두고 바위(2), 보(3) 이렇게 숫자로 매핑하면 됩니다. 매핑은 파이썬 사전을 사용하면 됩니다.(아래 코드 참조) 여러명이 가위바위보 게임을 할 수도 있겠지만 여기서는 컴퓨터와 나, 이렇게 둘이서 게임을 하는 프로그램을 작성합니다. 다음은 모든 경우를 비교하는 방법을 사용해서 컴퓨터와 가위바위보를 하는 코드입니다. 파이썬 아나콘다 3.5.2를 사용했고 IDLE 상에서 ..

css 선택자 개념과 종류

오늘은 css3를 처음으로 맛보는 날이므로 가볍게 css3가 어떻게 적용되고 css에서 선택자라는 녀석이 뭔지 살펴보겠다. 사실 본인은 웹 언어에 대해서는 적당히 알고는 있긴하지만 특별히 공부할 생각이 없었는데 c, java와 같은 범용적인 프로그래밍 언어보다 쉽고, 그 동안 부분적으로만 알아오다 보니 뭔가 답답하기도 해서 한번 쭉 정리하는 것이다. CSS는 HTML과 쌍을 이룬다. 최근 웹 페이지는 html문서와 css문서가 같이 사용되는데 html이 건축물이라면 css는 건축물을 꾸미는 인테리어라고 볼 수 있다. HTML 문서만 있더라도 웹페이지가 굴러가는데는 충분하다. 하지만 건축을 해놓고 인테리어를 안해 놓으면 누가 그 건물에 입주를 하겠나? 따라서 이 둘은 항상 같이 다닌다고 생각하면 된다. H..

HTML 태그 연습 리스트를 만드는 ul, ol, dl 그리고 li 태그

앞서 공부한 표를 만드는 table 태그와 더불어 오늘 연습할 리스트를 만드는 태그는 레이아웃을 설정하는 데도 사용되고 사용 빈도도 높으므로 꼭 알아 두어야하는 기본적인 태그다. 사용법은 table 태그와 비슷하다 다음은 테이블 태그의 형식이다. .. ... .. .... ol 태그, ul 태그이번에는 리스트 태그를 보자. 아이템 1 아이템 2 테이블의 시작과 끝을 알려주는 table 태그 처럼 리스트도 리스트의 시작과 끝을 알려주는 ol, ul 태그가 있다. ol, ul 둘 다 리스트지만 형식이 다르다. 아이템 1 아이템 2 ol은 ordered list의 약자로 순서가 있는 리스트라는 의미다. 그래서 아이템 앞에 번호가 매겨진다.아이템 1아이템 2 ul은 unordered list의 약자다. 순서는 ..

html 표만들기 정리

html 표만들기 태그를 정리입니다.html 표 만들기 태그의 구조 예제 값 ..... 값 ..... 표는 행과 열로 구성되어 있다. HTML 문서라고 다를 것은 없다. HTML 문서에서 표를 만들기 위해서는 세 개의 태그를 사용하는데 table 태그, tr 태그, td 태그다. table 태그는 표의 시작과 끝을 알려주는 태그다. 실질적으로 table 태그가 표를 그려주는 것은 아니다. tr 태그는 행을 그려준다. 앞에서 보여준 html 예제는 tr 태그가 두 번 사용되었다. 태그 시작과 끝을 포함해서 ... 을 한번으로 친다. 그리고 한 번의 tr 태그는 하나의 행을 만들어 준다. 따라서 앞에서 예로든 html 테이블은 두 개의 행을 가질 것다. table 태그와 tr 태그만 있는 표는 다음과 같아야..

HTML 태그와 속성 이해하기

HTML 태그란 무엇인가? 그냥 무작정 태그를 공부하기 보단 그 전에 왜 태그라는 것이 존재하는가에 대해서 나름 개인적으로 생각한 바를 이야기해 보겠습니다. HTML(Hyper Text Markup Language)은 웹문서를 작성하는 언어입니다. HTML은 프로그래밍 언어의 범주에 들어있지만 범용적인 프로그래밍 언어와 달리 문서를 작성하는데 특화된 언어입니다. 그래서 범용적인 프로그래밍 언어와는 구조적으로 많은 차이가 있습니다. 우선 HTML은 구조가 단순합니다. 문서를 만드는 언어이므로 가장 중요한 것은 문서의 내용입니다. HTML은 여기에 보조적인 역할을 하는 것이죠. 예를들어 특정 텍스트에 링크가 걸려있는 것은 웹 문서에서 흔하게 볼 수 있습니다. 바로 HTML 태그를 사용해서 이런 기능을 추가하..

HTML5 강의 시작

HTML(Hyper Text Markup Language)란 웹(web) 페이지를 만들기위해 사용되는 프로그래밍 언어! 그렇다면 웹(web)이란 일종의 문서 전송을 위한 서비스로 HTML로 만든 문서들이 얽혀 있는 것을 본 따서 웹(web)이라고 이야기 합니다. 대충 구조를 보자면 HTML로->웹문서가 만들어지고->웹(Web) 서비스를 통해서 사용자들에게 문서가 전달됩니다. www웹(wed)이라 하면 www(World Wide Web)를 뜻하는데 인터넷 상에서 이루어지는 서비스입니다. 구체적으로 웹(Web) 서비스라고 하면 HTTP를 통해서 HTML로 만든 문서를 전송할 수 있도록 구축된 서비스를 말하죠. 웹(web)서버, 웹(web)문서 웹(web)페이지 등등 웹이라는 말은 익히 많이 들어 봤을 겁니다..

반응형