ddck1321의 등록된 링크

키자드에 등록된 총 1075개의 포스트를 확인하실 수 있습니다.

Naver Blog

[파이썬 수학] 실시간 변화율과 미분 계산

이번에는 실시간 변화율과 미분 계산에 대해 알아보자. 실시간 변화율 도로를 따라 이동하는 자동차를 생각해 보자. 이 자동차는 이동거리 S를 다음 함수로 계산할 수 있을 만큼 일정한 속도를 유지하며 가속한다. 이 함수에서 독립변수는 t이며, 자동차가 움직이기 시작한 이후 소요된 시간을 의미한다. t2 > t1인 시간 t1과 t2 동안 이동한 거리를 측정한다면 다음 수식을 이용하여 단위 시간당 자동차로 이동한 거리를 충분히 계산할 수 있다. 이 수식은 변수 t에 대한 함수 S(t)의 변화율이라고 할 수 있으며, 평균속도가 된다. 만약 시간 단위 t2와 t1 간의 차이를 δt라고 할 때 t1 + δt를 t2라고 하면 평균 속도는 다음과 같이 구할 수 있다. 또한 수식은 변수 t1에 대한 함수가 된다. δt를 작게 해서 0에 근접시키면 극한 표현은 다음과 같다. 파이썬에서 위의 극한 표현을 계산하기 위해서는 다음과 같은 객체를 생성하면 된다. >>> from sympy import Symb

Naver Blog

世界の終わり(세카이노오와리) - Dragon Night(영어/일본어) [가사/해석/발음]

이번에 들을 곡은 일본의 4인조 밴드 그룹인 세카이노 오와리(世界の終わり)의 Dragon Night라는 곡이다. 이 곡은 영어와 일본어 버전이 있는데 둘 다 괜찮다. 일본어 버전 싱글은 2014년 10월에 발매되어 오리콘 주간 차트 4위를 기록하였으며, 2015년에 발매된 정규 2집의 마지막 트랙에 추가로 수록되었다. RPG와 더불어서 세카이노 오와리의 대표곡이 되었으며, 이 곡의 흥행이 대단한 이유는 타이업이 없었기 때문이다. 일본의 음원시장은 노래가 드라마나 애니, 영화 등 어느 타이업에 달려 있느냐에 따라 흥행의 기준을 가를 수 있는데 이 곡은 어느 광고나 드라마에 타이업되지 않고 흥했으며, 프로모션 또한 제대로 이루어지지 않았기 때문에 소속사 내에서는 오피셜로 풀어 준 일본어 뮤비또한 존재하지 않는다. 게다가 이번에 이무진의 '신호등'이라는 곡이 Dragon Night를 표절했다는 논란에 휩싸이면서 Dragon Night 또한 재조명 받게 되었는데 그 반대로 이무진으로 인해

Naver Blog

아이돌 꿈꾸다 강제로 AV 배우로 데뷔한 호시노 아스카 이야기

보통의 남자들은 시청각의 즐거움을 위해 그녀들이 출연한 작품을 본다. 하지만 그 내막을 모르는 사람들은 AV 시장이 어떤 세계인지 자세히는 모르고 관심도 없을 수도 있다. 진짜 좋아서 그 일을 즐기는 사람들도 분명 있겠지만 원치않는 계약으로 인해 하기 싫은 일을 강제로 하는 경우도 상당히 많다. 과거에 Bakky 사건 또한 마찬가지겠지만 최근에도 일본 내에서는 연예인이 꿈인 일반 여자들에게 접근해서 사기 계약서를 작성하게 하고 강제로 AV에 출연하게 만드는 AV 업계의 실체가 다시 재조명되고 있다. 프로필 이름: 호시노 아스카(星野 明日香) 애칭: 아스짱 출생: 1986년 12월 5일, 일본 니가타현 신체: 152cm, B80-W56-H80(cm) / AB형 활동: 그라비아 아이돌(2004년 ~ 2010년) / AV배우(2010년 ~ 2014년) 호시노 아스카는 과거에 강제로 AV 배우로 활동했었던 경험이 있었고 현재는 일본과 중국에서 유튜버 및 방송인으로 활동을 하고 있다. 강제

Naver Blog

북한의 장기적출 연쇄 살인범 박명식 사건

평소에 북한이라는 국가에 김씨왕조 일당 독재 국가이며, 정치범수용소가 운영된다는 것 외에는 크게 관심을 가진 적은 없었다. 한국, 미국, 일본을 비롯한 전 세계 어느나라에도 연쇄살인범은 존재했는데 문득 북한에도 연쇄살인범이 있었을까 하는 생각이 들어서 찾아봤다. 박명식은 북한의 연쇄살인범으로 확인된 피살자만 12명에 달한다. 박명식이 연쇄살인을 저지른 범죄에는 이런 내막이 있었다. 박명식은 수년 전부터 간경화를 앓고 있었다. 함경남도 함흥시에 있는 큰 병원과 유명하다는 의사를 찾아 치료를 받았지만 별 효과를 보지 못 했고, 그러던 중 박명식은 평소 가깝게 지내던 직장 동료로부터 점을 잘 친다는 점쟁이 이야기를 듣고 소개를 부탁하게 되었다. 원래 북한에서는 점쟁이나 종교 행위에 대한 통제와 단속이 심하기 때문에 다른 사람들에게는 함부로 이야기를 못 한다. 하지만 한 직장에서 여러 해를 같이 지내며 가까워진 박명식의 동료는 그를 믿고 점쟁이를 소개해 주었다. 점쟁이를 찾아간 박명식은 "

Naver Blog

[파이썬 수학] 프랙탈 생성하여 반즐리의 고사리 그리기

이번에는 저번 포스팅의 프랙탈 기초 내용을 학습하고 이를 이용하여 반즐리의 고사리를 그려보고자 한다. 반즐리의 고사리 그리기 암고사리 영국의 수학자 마이클 반즐리(Michael Barnsley)는 점으로 간단한 변환을 반복해서 적용하여 고사리와 같은 구조를 만드는 방법을 고안해서 설명했다. 고사리 모양의 구조를 만들기 위해 다음 단계를 제안하게 되었는데 이는 점(0, 0)에서 시작하여 다음 설정 확률을 갖는 변환 중 하나를 랜덤하게 선택한다. 변환 1(85% 확률) 변환 2(7% 확률) 변환 3(7% 확률) 변환 4(1% 확률) 이러한 변환은 각각 고사리의 일부를 만들어 낸다. 최고의 확률(최대시도 횟수)로 선정된 첫 번째 변환은 고사리의 줄기와 밑부분의 잎(frond)을 만들어 낸다. 두 번째와 세 번째 변환은 각각 왼쪽과 오른쪽 상의 밑부분 잎을 생성한다. 그리고 네 번째 변환은 고사리의 줄기를 만들어 낸다. 이러한 변환은 이전 포스팅에서 언급한 비일양확률 선택의 대표적인 예로

Naver Blog

あいみょん(아이묭) - 双葉(떡잎) [가사/해석/발음]

이번에 들을 곡은 일본에서 최고의 전성기를 누리고 있는 싱어송라이터 아이묭(あいみょん)의 떡잎(双葉) 이라는 곡이다. 이 곡은 그나마 최근인 2022년 3월에 디지털 싱글로 발매되었으며, 후에는 그녀의 정규 4집 앨범에 1번 트랙으로 수록되었다. NHK의 '아이묭 18Fes(18세 페스티벌)'의 테마곡으로 쓰인 것과 가사의 내용을 보면 이제 막 성인이 되어 사회에 첫 발을 내딛고 어른이 되는 아이들을 위해 쓰는 곡인 듯 하다. 아니면 어린시절의 자신에게 떡잎이라고 비유하여 쓰는 곡인 것 같기도 하고 아무튼 노래는 상당히 좋다. 아이묭 노래가 안 좋은 게 없지만 유독 이 노래는 진짜 듣기 좋아서 하루에 4~5번 씩은 듣고 있다. 가사의 의미를 모를 땐 그냥 노래 자체가 좋아서 들었지만 가사의 의미를 알게 되니 나도 근심 걱정 없이 주면 주는대로 먹고 입던 그 시절이 그립기도 하네(...) サヨナラが近づいている 사요나라가 치카즈이테-루 이별이 가까워오고 있어 その意味に悩まされる 소노이미

Naver Blog

파이썬으로 레일 펜스 암호(Rail Fence Cipher) 구현하기

이번엔 파이썬으로 암호화 기법 중 하나인 레일 펜스 암호를 구현해 보려고 한다. 레일 펜스 암호는 위와 같이 암호키가 4라고 했을 때 평문을 위에서 밑으로, 그리고 밑에서 위로 비스듬하게 지그재그 형식을 취하면서 순서대로 작성하는 기법이다. 그래서 레일 펜스 암호를 다른 말로는 지그재그 암호라고 부르기도 한다. 전치 암호의 일종으로 암호화와 복호화의 알고리즘은 다음과 같다. 좌: 암호화 알고리즘 / 우: 복호화 알고리즘 레일 펜스 암호를 구현하기 위해서는 사용자로 부터 입력 받은 평문과 암호키를 사용해서 문자열의 문자를 대각선으로 배치를 시켜야 하는데 키에 해당하는 행의 수와 암호화 할 문자열의 길이에 해당하는 열의 수를 갖는 직사각형 격자가 필요하지만 여기서는 격자 없이 암호키를 지정해서 패턴을 구해보자. # 레일 펜스 암호 패턴 구현 # 암호화 패턴 def encryptRailFence(text, key): rail = [['\n' for i in range(len(text))]

Naver Blog

[파이썬 수학] 기하학적 형상 그리기

이번에는 맷플롯립의 '패치'를 이용해서 기하학적 형상을 그려보자. 맷플롯립에 있는 각각의 기하학적 형상을 패치라고 하는데 그래프에 원을 추가하려면 원의 직경과 중심을 설정하면 된다. 이 방법은 지금까지 점을 그리기 위해 x와 y 좌표를 설정한 맷플롯립 사용법과는 차이가 있다. 패치의 특성을 사용하는 프로그램을 작성하기 전에 맷플롯립 그래프를 생성하는 방법에 대해 많은 부분을 이해할 필요가 있다. 다음 패턴에서 맷플롯립을 이용해 포인트 (1, 1), (2, 2), (3, 3) 좌표를 표시해 보자. >>> import matplotlib.pyplot as plt >>> x = [1, 2, 3] >>> y = [1, 2, 3] >>> plt.plot(x, y) [<matplotlib.lines.Line2D object at 0x7f6df876eb30>] >>> plt.show() 위의 패턴은 지정된 포인트를 지나는 선을 표시하는 맷플롯립 윈도우를 생성한다. 이에 대한 과정은 plot.pl

Naver Blog

[파이썬 수학] 투사체의 포물선 애니메이션

이번에도 저번 포스팅에 이어서 기하학적 형상의 한 종류를 그려보려고 한다. 이번에는 투사체의 포물선 애니메이션을 그려 볼텐데, 이전 포스팅에서 던진 공에 대한 포물선 운동 궤적을 표시한 적이 있다. [파이썬 수학] 만유인력의 법칙과 포물선 운동 지금까지는 관측한 과학 측정값에 근거해서 그래프상의 점을 표시했지만 이번에는 x와 y 좌표의 모든 값이 ... blog.naver.com 여기서는 실제 생활에서 공의 움직임을 보는 방법을 더욱 현실감 있도록 시연하기 위해 맷플롯립의 애니메이션 기능을 사용해서 포물선을 애니메이션화 해보도록 하자. from matplotlib import pyplot as plt from matplotlib import animation import math g = 9.8 def get_intervals(u, theta): t_flight = 2 * u * math.sin(theta) / g intervals = [] start = 0 interval = 0.0

Naver Blog

[IT 뉴스] &quot;채굴이 에너지와 환경 위협&quot; 암호화폐 규제 가하는 미국과 EU

가끔 아침에 일찍 일어나서 30분 일찍 출근하면 시간이 널널하다. 그때 쯤 되면 IT 뉴스를 정독하는게 생활화 되었는데 한 IT 뉴스 헤드라인에서 내 이목을 잡아끈 뉴스가 있었다. 요즘 핫한 암호화폐(코인)에 관한 이야이기인데 한 달 지난 소식이지만 흥미롭게 읽은 뉴스인지라 스크랩 형식으로 가져왔다. 암호화폐의 몰락은 이제 막 시작되었다. 이제 에너지 비용의 증가와 기후 위기 및 규제로 비트코인과 이더리움 등을 둘러싼 과대포장은 종말을 맞이할 것으로 보인다. Manfred Bremmer | COMPUTERWOCHE / 2022.07.19 암호화폐 채굴은 극히 에너지 집약적인 프로세스로 전용 컴퓨터가 새로운 가상화폐를 생성하기 위해 복잡한 수학 문제를 푸느라 쉬지 않고 동작한다. 비트코인의 전 세계 연간 전력 소비량은 약 130테라와트로 추정되는데, 노르웨이나 스웨덴 같은 국가의 1년 총 전력 소비량과 맞먹는다. 여기에 두 번째로 규모가 큰 이더리움의 전력 소비량을 더하면, 무려 30

Naver Blog

[파이썬 수학] 프랙탈로 평면상의 점 변환 및 그리기

저번 포스팅에 이어서 이번에는 프랙탈을 통해서 복잡한 기하학적 형상이나 평면상의 점을 변환하여 그려보기로 하자. 프랙탈 그리기 프랙탈은 복잡한 기하학적 형상이나 모양으로 놀랍게도 간단한 수학 공식으로부터 그릴 수 있다. 원이나 직사각형 같은 기하학적 모양과 비교해 볼 때 프랙탈은 비정규형으로 어떤 명확한 패턴이나 설명 없이 그린 것처럼 보인다. 컴퓨터로 그린 프랙탈의 일종인 '반즐리의 고사리(Barnsley Fern)' 위와 같이 면밀하게 프랙탈을 분석하면 특정 패턴이 발생하는 것을 알 수 있다. 전체 형상은 수 많은 자체 단위 형상의 복사본으로 구성되며, 프랙탈은 평면 내부에 기하학적인 변환의 반복되는 적용이므로 컴퓨터 프로그램은 위와 같은 형상을 잘 생성할 수 있다. 위와 같이 '반즐리의 고사리'라던가 '시어핀스키의 삼각형(Sierpinski Triangle)', '만델브로트 집합(Mandelbrot Set)'을 그리는 방법을 구상해 보려고 한다. 반즐리 고사리의 자세한 구현 패

Naver Blog

딥 러닝 인공지능을 이용하여 로또(lotto)번호를 예측해 보기

이전에 random 난수를 이용해서 로또 번호를 자동으로 추출해 주는 패턴을 만든 적이 있었다. 파이썬으로 자동 로또(Lotto)번호 추출하기 이번에는 파이썬으로 복권방에서 파는 자동 기능과 똑같이 로또번호를 추출하는 프로그램을 만들어 보려고 ... blog.naver.com 이전에 했던 패턴은 random 난수로 생성한 로또 번호이기 때문에 1등 당첨 확률은 여전히 814만분의 1에 수렴하고 이는 복권방에서 그냥 자동으로 구매하는 것과 같은 결과를 가져온다. 그런데 이번에 구글링을 통해서 새로운 정보를 얻었다. 바로 딥 러닝을 전문적으로 하는 누군가가 깃허브 블로그에 딥러닝 인공지능을 이용해서 로또 번호를 예측하는 글을 작성했다. 비록 이 분도 로또 번호 예측에는 실패했지만 시계열 데이터를 처리하는 내용에 대한 최소한의 공부는 될 것 같아서 파이썬 심화 게시판에 작성을 하기로 한다. 원래 딥러닝 게시판에 따로 작성을 해야겠지만 아직 머신러닝과 딥러닝에 대한 학습은 이뤄지지 않았기

Naver Blog

[파이썬 수학] sympy를 이용해서 그래프 그리기

이번에는 sympy를 사용해서 그래프를 그려보자. 만약 두 물체 사이의 거리에 대해 작용하는 인력을 그래프로 표시하기 위해 각 거리값에 대한 인력을 계산했고 거리와 힘에 대한 값의 리스트를 맷플롯립에 제공하게 되는데 다른 측면에서 sympy를 이용하려면 sympy에 표시하기 원하는 직선의 방정식을 전달하고 그래프를 생성하게 된다. 그렇다면 방정식 y = 2x + 3인 직선을 표시해 보자. >>> from sympy.plotting import plot >>> from sympy import Symbol >>> x = Symbol('x') >>> plot(2 * x + 3) sympy.plotting에서 plot와 Symbol을 import 하고부호 x를 생성하며 수식 2 * x + 3 방정식을 대입해서 plot( ) 함수를 호출하면 그래프를 그리게 된다. 이 그래프는 x 값의 기본 범위를 -10에서 10까지로 자동 선택한다. 그래프는 matplotlib과 매우 유사하며, 한 가지 또

Naver Blog

한국전쟁에 참전한 메이저리그 4할타자 테드 윌리엄스 이야기

스포츠를 분석하는 것을 좋아해서 자연스럽게 축구 다음으로 야구에도 입문하게 되었다. 한국은 백인천 이후로는 4할타자가 나오지 않고 있지만 미국 메이저리그에는 특이한 이력을 가진 4할 타자가 있었다. 프로필 이름: 시어도어 새뮤얼 윌리엄스(Theodore Samuel Williams) 출생: 1918년 8월 30일, 미국 캘리포니아 주 샌디에이고 사망: 2002년 7월 5일(향년 83세), 미국 플로리다 주 인버네스 학력: 하버트 후버 고등학교 신체: 190cm / 92kg 포지션: 좌익수 투타: 우투좌타 데뷔: 1937년 아마추어 자유계약 테드 윌리엄스는 미국의 전 야구선수로 1940년대와 1950년대를 지배한 메이저리그 역사상 최고의 타자 중 한 명이자 최고의 선수 중 한 명이다. 한국에는 선동열과 최동원, 이종범과 양준혁과 같은 라이벌 구도가 있었다면 테드의 가장 위대한 라이벌은 마릴린 먼로의 전 남편이자 프로 3년 선배였던 조 디마지오였다. 프로선수로의 생활 1943년, 베이브

Naver Blog

[파이썬 수학] 확률(probability) - 1

이번에는 파이썬으로 사건이 일어날 수 있는 확률에 대해 정의를 해 보자. 그 이전에 집합에 대해서 확률과 연관지어 학습하도록 되어 있었지만 집합 같은 경우에는 파이썬 기초 게시판을 참고하자. 집합은 확률의 기본 개념에 대한 추론을 가능하도록 정의하고 있는데 몇 가지를 살펴보자. 실험(Experiment) : 실험은 실험해보기를 희망하는 일종의 테스트이다. 각각의 가능한 결과에 대한 확률에 관심이 있으므로 테스트를 해 본다. 주사위를 던지거나, 동전을 던지거나, 카드 묶음에서 카드를 뽑아 내거나 하는 것은 모두 실험의 예이다. 실험을 한 번 실행하는 것을 시도(Trial)라고 한다. 표본공간: 모든 가능한 실험 결과는 표본공간이라는 집합을 형성하며 공식에서는 S라고 표시한다. 예를 들어 S면의 주사위를 한 번 던지면 표본공간은 [1, 2, 3, 4, 5, 6]이 된다. 사건: 사건은 확률을 계산하기 위한 결과의 집합으로 표본공간의 부분집합이다. 예를 들어 숫자 3(또는 2, 4, 6)

Naver Blog

[파이썬 수학] 확률(probability) - 2

이번엔 저번 포스팅에 이어서 마찬가지로 확률에 대해 학습하는데 여기서는 랜덤 숫자(난수)의 개념에 대해 학습하려고 한다. 랜덤 숫자 생성 보통 파이썬에서 랜덤 숫자를 생성하려면 random 모듈을 import 해서 사용하는 것이 일반적인 경우이다. 하지만 여기서는 sympy의 FiniteSet 집합과 더불어서 random 모듈을 사용해 보려고 한다. 확률 개념은 사건이 발생할 확률에 대해 추론하고 계산하는 것이다. 컴퓨터 프로그램을 이용해서 간단한 주사위 던지기와 같은 사건을 시뮬레이션 하기 위해서는 랜덤 숫자를 생성할 수 있어야 한다. 만약 주사위 던지기 시뮬레이션을 하려면 여섯 면 주사위 던지기를 해야하는데 1과 6 사이의 랜덤 정수를 생성하는 방식은 다음과 같다. >>> import random >>> random.randint(1, 6) 2 >>> random.randint(1, 6) 4 >>> random.randint(1, 6) 4 >>> random.randint(1,

Naver Blog

AAA(트리플 에이) - Yell(2020 도쿄 올림픽 공식 응원송) [가사/해석/발음]

이번에 들을 곡은 7인조 혼성그룹 이었던(과거형... 여자 멤버 1명 결혼으로 탈퇴) AAA(트리플 에이)의 Yell이라는 곡이다. 이 곡은 2017년에 발매된 이들의 정규 11집에 수록된 곡으로 상당이 밝고 신나는 멜로디를 가진 곡이다. 그리고 코로나 여파로 1년 연기되었던 2020 도쿄 올림픽의 공식 응원송으로 이 곡이 채택되기도 했다. 노래를 들어보니 상당히 신나고 어디 롯데월드 같은 놀이공원이나 엑스포, 코믹월드 같은 대형 축제에서 나올 법한 음악에 가사 또한 포기하지말고 앞으로 나아가라는 희망적인 메시지를 준다. 드라마나 애니메이션 OST로 타이업 되었어도 될 것 같은 느낌도 든다. 약간 우리나라로 치면 영화 국가대표 OST인 러브홀릭스의 버터플라이가 생각나는 것 같기도 하다. あと少しで届かない時 아토스코시데 토도카나이토키 앞으로 조금 남았는데 닿지 않을 때 進むことを諦めそうな時 스스무코토오 아키라메소-나토키 나아가는 걸 포기할 것 같을 때 いつも君の声が聴こえた 이츠모키미노

Naver Blog

[파이썬 수학] 데이터 집합 간의 상관관계와 산점도

이번에는 두 숫자 집합 간의 관계 특성과 강도를 알려주는 통계측정값(피어슨 상관계수)을 계산하는 방법에 대해 알아보자. 상관계수 계산 피어슨 상관계수는 간단히 상관계수라고도 한다. 이 값은 선형 관계의 강도를 측정하며, 두 데이터 집합이 비선형 관계에 있을 때 상관계수를 알아내기 위해서는 다른 측정값을 이용해야 한다. 상관계수는 양의 값 또는 음의 값을 가지며 -1 이상과 1 이하 사이의 범위를 갖는다. 상관계수가 0이라면 두 데이터 간에 선형 관계가 전혀 없음을 나타낸다(이 값은 두 값이 서로 독립임을 의미하지는 않는다. 예를 들어 두 값 사이에서는 비선형 관계가 있을 수 있다). 상관계수가 1이거나 1에 가까우면 매우 강한 양의 선형 관계가 있음을 의미한다. 정확히 상관계수가 1이면 완전한 양의 상관관계이다. 유사하게 상관계수가 -1이거나 -1에 가까우면 강한 음의 상관관계가 있음을 의미하며, -1은 완벽한 음의 상관관계이다. 상관관계와 우연성 통계학에서는 자주 "상관관계가 우연

Naver Blog

[도시전설] 동요 '우리집에 왜 왔니' 괴담

어렸을 적 동네 아이들과 하던 놀이가 있었다. 보통은 경찰과 도둑, 술래잡기, 숨바꼭질, 땅따먹기, 오징어게임 등 많았지만 유치원이나 초등학교 저학년 시절에는 "우리집에 왜 왔니"라는 놀이가 있었다. 여러 명의 아이들이 두 편으로 나누어서 손을 잡고 앞으로 갔다 뒤로 갔다 스텝을 밟으면서 가위바위보를 하고 한 명씩 자기쪽으로 데리고 오는 방식의 놀이인데 흥겨운 노래와 함께 우리 머릿속에 추억으로 자리잡고 있다. 그런데 일본에서도 "우리집에 왜 왔니"와 상당히 흡사한 놀이가 있다. 일본에서는 "하나이치몬메(花一匁)"라는 놀이가 있는데 이 놀이가 한국에 전파되어 "우리집에 왜 왔니"로 변형되었다는 주장이 있다. 그리고 최근 기사에서 놀이문화 연구자들의 연구 및 논쟁에 의해 최종적으로는 "우리집에 왜 왔니"가 일본에서 전파되었다는 것으로 최종 결론이 났다. 일본의 아이들이 하나이치몬메를 하는 모습 우선 일본 아이들이 "하나이치몬메"를 하면서 부르는 노래는 다음과 같다. 언뜻 보면 "우리집

Naver Blog

[파이썬 수학] Sympy를 이용한 부호와 부호 연산 정의

지금까지는 모든 패턴에서 수학문제와 풀이를 숫자로 다루었지만 여기서는 또 다른 방법으로 부호와 부호 간 연산을 하는 측면에서 수학 공부를 할 수 있다. 전형적인 대수(Algebra) 문제에서 x와 y를 생각했을 때 이러한 수학 유형을 부호 수학(Symbolic Math)이라고 한다. 이걸 파이썬에서 Sympy 모듈을 이용해서 부호와 부호 연산을 정의하는데 sympy 모듈은 아나콘다 가상환경을 사용하지 않는 이상은 pip 명령어를 통해서 패키지를 설치해야 한다. 부호와 부호 연산 정의 부호(Symbols)는 부호 수학의 빌딩 블록을 형성한다. 용어인 부호는 방정식과 대수 식에서 사용하는 x, y, a, b에 대한 일반 명칭이다. 부호를 만들고 이용하는 것은 이전과는 다른 패턴이다. 다음 명령을 살펴보자. >>> x = 1 >>> x + x + 1 3 여기서는 변수 x를 만들고 숫자 1을 참조하도록 한다. 그리고 두 번째의 x + x + 1 명령을 실행하면 결과는 3이 나오는데 부호 x

Naver Blog

[파이썬 수학] Sympy를 이용한 수식 요소 및 계산

이전 포스팅에서 부호로 된 수식을 정의하는 방법에 대해 학습했기 때문에 이번에도 이어서 이 패턴에 대해 제대로 학습을 해 보자. 이번에는 수식 요소화 및 전개/계산 방식이다. 수식 요소화 및 전개 factor( ) 함수는 수식을 요소로 분해하고, expand( ) 함수는 수식을 전개하며 이를 개개인 요소의 합으로 표현하게 된다. 기본 대수 공식은 x2-y2 = (x+y)(x-y)로 해당 함수를 테스트 해 보자. 공식의 좌변은 전개한 버전이며, 우변은 전개하기 전의 해당 요소가 된다. 공식은 두 개의 부호를 갖고 있으므로 두 개의 부호 객체를 만들어서 패턴을 전개시켜보자. >>> from sympy import Symbol >>> x = Symbol('x') >>> y = Symbol('y') >>> from sympy import factor >>> expr = x ** 2 - y ** 2 >>> factor(expr) (x - y)*(x + y) 기대했던 대로 수식을 요소화 시킨

Naver Blog

伊東歌詞太郎(이토카시타로) - さよならだけが人生だ(이별만이 인생이다) [가사/해석/발음]

이번에 들을 곡은 일본의 니코니코 동화 커뮤니티의 '불러보았다' 카테고리에서 활동한 남성 우타이테 및 보컬로이드 포로듀서인 이토카시타로(伊東歌詞太郎)의 이별만이 인생이다(さよならだけが人生だ)라는 곡이다. 2009년부터 2011년까지 후와모코P(ふわもこP)라는 이름으로 보컬로이드 프로듀서 활동을 했으며, 2012년 1월 까지는 weezer라는 이름의 우타이테로도 활동 했었다. 곱슬머리에 가면을 쓴 미남으로 그려졌으며, 이토카시타로라는 이름은 신선조에 의해 암살당한 甲子와 歌詞의 발음이 '카시'로 똑같은 것에서 착안한 일종의 말장난 같은 거라고 한다. 주말(週末)과 종말(終末)의 발음이 슈-마츠(しゅうまつ)로 같은 것과 비슷한 말장난인 셈이다. 우리나라로 치면 언어유희(...?) 아무튼 이번에 들을 곡인 "이별만이 인생이다"라는 곡은 2015년 이토카시타로가 니코니코 동화에 투고한 보컬로이드인 하츠네 미쿠의 오리지널 곡으로 한국에서도 워낙 유명해서 금영 노래방(44113)과 TJ미디어(

Naver Blog

[파이썬 수학] sympy로 이차 및 선형방정식 문제 풀기

이전의 포스팅에서 두 개의 근에 대한 공식을 정립하고 상수인 a, b, c의 값을 대체해서 ax2 + bx + c = 0에 대한 해를 계산... 해 보려고 했지만 뭔가 이상한 오류가 뜨면서 건너뛰게 되었다. 그래서 이번에는 solve( ) 함수를 호출해서 공식을 이용하지 않고 근을 계산해 보려고 한다. 사실상 정상적인 패턴으로 실행이 되나 안되나를 확인하는 테스트 작업이다. >>> from sympy import Symbol, solve >>> x = Symbol('x') >>> expr = x ** 2 + 5 * x + 4 >>> solve(expr, dict = True) [{x: -4}, {x: -1}] solve( ) 함수의 두 번째 인자에 주목해 보자. 이는 파이썬 딕셔너리의 리스트로서 결과를 리턴하기 위한 적용인데 만약 해가 비어 있다면 공백 리스트로 리턴이 된다. 이는 방정식 x2 + x + 1 = 0의 근은 복소수임을 나타내는데 이번엔 복소수의 해를 알아보자. >>>

Naver Blog

[러시아 리눅스] 아스트라 리눅스(Astra Linux)를 사용해 봤다

저번 포스팅은 북한 리눅스인 '붉은별(Red Stra OS)'에 이어서 이번엔 러시아에서 사용하는 리눅스인 아스트라 리눅스(Astra Linux)를 사용해 보려고 한다. 아스트라 리눅스는 2015년에 자국의 Microsoft Windows 운영체제의 독점 점유율을 없애고 이를 대체하기 위해서 러시아 연방 및 로사톰, 철도 공사 등 정부기관과 공공기관에서 사용되기 위해 배포된 운영체제이다. 개인용 빌드와 공공기관용 빌드가 따로 내포되어 있으며 군사망, 전력망, 교통망 등 사회기반시설용 단독망 운영체제라 보안에 특화되어 있지만 돈 주고 사야하는 단점이 있다. 그러나 개인용은 리눅스 커널 업데이트 또한 더 빠르고 인터넷에 공개된 무료 빌드이기 때문에 상관없다. 아스트라 리눅스의 큰 특징은 필수 액세스 제어 기능을 제공하여 기밀정보를 "일급 비밀" 수준 까지 데이터 보호 기능을 제공한다. 하지만 단점이라면 개인용 데스크탑이 아닌 서버용 OS는 중국의 화웨이와 함께 협업해서 개발하였다는게 상

Naver Blog

米津玄師(요네즈 켄시) - Lemon [가사/해석/발음]

이번에 들을 곡은 일본의 멀티아티스트이자 아이묭과 더불어 현재 일본에서 가장 인기 있는 싱어송라이터인 요네즈 켄시(米津玄師)의 Lemon이라는 곡이다. 본래는 보컬로이드 프로듀서로서 활동하면서 우타이테(인터넷 가수)로 활동을 했었고 2012년에 diorama라는 앨범으로 정규 1집을 발매하며 활동했다. 그렇게 조금씩 주목을 받다가 2018년에 이시하라 사토미 주연 TBS 드라마인 언내추럴의 OST로 타이업되면서 일본 음악 역사상 가장 빠른 속도의 다운로드 기록을 이뤄냈고 요네즈 켄시의 커리어 중에서는 최고의 히트곡이자 2018년 일본에서 가장 크게 히트한 Lemon을 발표하면서 전성기를 맞이하게 되었다. 뮤직비디오 조회수 또한 현재 기준으로 7억 6천만 뷰를 돌파하였으며, 이는 일본 가요 최초로 뮤직비디오 조회수 7억뷰 기록을 썼고 공식 다운로드 수는 200만을 돌파하면서 더블 밀리언을 달성했다. 특이점은 일본 음악인데 뮤직비디오 영상 자막에는 일본어가 없다는 점이 아이러니하다(..

Naver Blog

파이썬으로 아핀 암호(Affine Cipher)를 구현해 보자

이번엔 아핀 암호(Affine Cipher)에 대해 알아보자. 정의 및 공식 아핀 암호는 단일 문자 치환 암호의 한 종류로, 알파벳의 각 문자는 해당 숫자로 매핑(mapping)되고 간단한 수학 함수를 사용하여 암호화되어 다시 문자로 변환된다. 사용된 공식은 각 문자가 다른 문자로 암호화되고 다시 암호화되는 과정을 반복하게 되는데, 암호는 기본적으로 어떤 문자가 어떤 문자로 이동하는지를 결정한 패턴이 있는 표준 대체 암호 방식을 사용한다. 이처럼 모든 대체암호의 약점을 가지고 있으며, 각 문자는 함수 공식 (ax + b) mod 26에 의거하여 암호화된다. 여기서 b는 이동 크기를 의미한다. 여기서 m 크기를 가진 알파벳 문자는 0 ... m-1 범위의 정수에 매핑이 이루어지며, 그 다음에는 모듈식 산술(나머지 연산)을 사용해서 각 일반 텍스트 문자가 해당하는 정수를 암호문 문자에 해당하는 다른 정수로 대치시키는 과정을 가져간다. 단일 문자에 대한 암호화 기능의 공식은 다음과 같다.

Naver Blog

[파이썬 수학] 중위수와 최빈값 찾고 빈도 테이블 생성하기

드디어 그래프 시각화를 끝내고 이번에는 통계값을 이용해서 데이터에 대해 학습해 보자. 중위수 계산 숫자 집합에 대한 중위수는 또 다른 이름을 가진 평균(Average)값을 의미한다. 중위수를 계산하기 위해서는 오름차순으로 숫자를 정렬하고 리스트 내 숫자의 갯수가 홀수라면 중간에 위치한 숫자가 중위수가 된다. 만약 짝수라면 중간에 위치한 숫자 두 개의 평균을 계산해서 나온 값이 중위수가 된다. 숫자 리스트의 중위수를 계산하는 패턴을 작성하기 전에 다른 경우에 해당하는 리스트의 중간값을 자동으로 계산하는 방법에 대해 생각해 보자. 리스트(N)의 길이가 홀수라면 중위수는 (N+1) / 2의 위치에 있는 값이 된다. N의 짝수이라면 두 개의 중간 요소는 N / 2와 (N / 2) + 1이다. 대략적인 중위수를 구하는 방식은 다음과 같이 sort( ) 메소드를 이용해서 오름차순 정렬을 해야 한다. >>> samplelist = [40, 10, 30] >>> samplelist.sort() >

Naver Blog

One ok rock(원오크락) - Be the light [가사/해석]

이번에 들을 곡은 일본의 4인조 락 밴드인 One ok rock(원오크락)의 be the light라는 곡이다. 이 곡은 2013년에 발매된 이들의 정규 6집 앨범에 수록된 곡으로 애니메이션을 원작으로 하는 영화 캡틴 하록 -SPACE PIRATE CATAIN HARLOCK의 주제가로 타이업 되었으며, 동시에 2011년에 일어난 동일본 대지진에 희생된 사람들을 위한 추모곡이기도 하다. 가사는 모두 영어로 구성되어 있으며, 라이브에서는 팬들이 휴대전화 플래시를 켜서 흔들기도 하고 관객석을 불빛으로 채우는 연출을 하기도 했다. 그리고 곡의 뮤직비디오는 2014년 MTV Video Music Awards Japan Best Rock Video 부문에서 수상을 하기도 했었다. 노래 자체가 상당히 좋기 때문에 나도 예전에 이 곡으로 컬러링 파일을 만들어서 벨소리 및 컬러링으로 쓰고 다니기도 했다. 사실 동일본 대지진 추모곡이긴 하지만 코로나 19 펜데믹 상황과 지금 처해있는 현실을 생각해 보

Naver Blog

[파이썬 수학] 분산과 표준편차 계산

이번에 살펴볼 통계 계산 값은 산포를 측정해서 데이터 집합 내의 숫자가 어느 정도 평균에서 떨어져 있는지를 살펴본다. 산포를 측정하는 3가지의 값으로는 범위(range)와 분산(variance), 표준편차(standard deviation)가 있는데 범위(range)에 대해서는 파이썬 기초 부분에서도 다룬 적이 있기 때문에 여기서는 분산과 표준편차만 살펴보자. 분산과 표준편차 계산 범위는 숫자 집합에 있는 두 개의 극단값 간의 차이를 계산한다. 하지만 평균에서 모든 개별 숫자가 변동하는 정도에 대해 좀 더 많이 알고 싶다면 어떻게 해야할까? 숫자들이 모두 유사하고 평균 근처에 모여 있는지, 아니면 모두 차이가 커서 양극단치에 가깝게 쏠려있는지에 대해 정보를 알려주는 산포 관련 측정값이 바로 분산(variance)과 표준편차(standard deviation)이다. 이 값 중에 한 개를 계산하려면, 각 숫자와 평균 간의 차이를 계산해야 한다. 분산은 차이의 제곱을 평균한 값이다. 분산

Naver Blog

AKB48 - 365日の紙飛行機(365일의 종이비행기) [가사/해석/발음]

이번에 들을 곡은 일본의 국민 걸그룹인 AKB48의 365日の紙飛行機(365일의 종이비행기)라는 곡이다. 본래 AKB48 하면 헤비 로테이션이나 사랑하는 포츈쿠키 정도만 알고 있었는데 이번에 이 노래를 들어보니 기존에 내가 들었던 AKB48 노래와는 다른 분위기의 곡이다. 그냥 완전 일본풍 스러운 느낌이 나는 곡이며, 이 곡으로 활동했던 AKB 자매그룹들이 꽤 많다. 우선 내가 라이브로 봤던 버전은 NMB48의 前 캡틴이었던 야마모토 사야카도 있었고 前 HKT48의 멤버이자 현재는 한국에서 르세라핌으로 활동하고 있는 미야와키 사쿠라도 있었고, 현재 울림의 걸그룹인 로켓펀치에서 활동하고 있는 타카하시 쥬리 등 반갑고 익숙한 얼굴이 꽤 있었다. 그리고 아니나 다를까... AKB48 초기 멤버인 카시와기 유키도 있었다...(얘는 나이가 몇인데 졸업안하나... 현역 중에서는 나이 제일 많을 거 같은데...) 아무튼 365일의 종이비행기는 일본의 NHK TV 소설 아침 드라마인 '아침이 온다

Naver Blog

[파이썬 수학] 카르테시안 좌표 평면과 matplotlib 그래프 생성

이번엔 숫자 데이터를 시각화로 표현하는 방법에 대해 알아보자. matplotlib(맷플롯립) 라이브러리를 이용해서 그래프로 표현을 할 텐데, 머신 러닝과 딥 러닝을 학습하기 전에 미리 공부하면 좋을 것 같다. 우선은 숫자 라인과 카르테시안 평면에 대해 알아보자. 카르테시안 좌표 평면 일명 데카르트 좌표계라고도 부르는 카르테시안 좌표 평면(Cartesian Coordinate)은 위와 같은 x, y 수직/수평선을 가지고 있는 좌표이다. 수직/수평선으로 구성된 좌표계는 평면상에 무한 개의 많은 점이 존재한다. 한 개의 숫자 대신 한 쌍의 숫자를 이용해서 한 개의 점을 표현할 수 있다. 예를 들어서 그림 상의 A라는 점에는 두 개의 x, y 좌표가 있으며, 일반적으로(x, y)로 표시하고 해당 점의 좌표라고 명칭한다. x는 x축 상에서 원점으로부터의 거리를 말하고, y는 y축 상에서 원점으로부터의 거리를 말한다. 두 개의 축이 서로 만나는 지점은 '원점'이며 (0, 0)의 좌표를 갖는다.

Naver Blog

[파이썬 수학] 미국 뉴욕시 온도 그래프 시각화

저번 포스팅에서 데이터를 그래프로 시각화 하는 기본 방법에 대해 알아봤다. 이번에는 실제 데이터 집합을 대상으로 맷플롯립 모듈의 더 많은 특성에 대해 알아보자. 여기서는 뉴욕시의 연간 평균온도와 월간 온도를 직접 시각화 해서 분석해 보자. 뉴욕시의 연간 평균온도를 그래프로 시각화 참고로 뉴욕시의 연간 평균온도는 센트럴파크에서 측정한다. 2000년부터 2012년 동안의 데이터 값을 모아서 화씨 단위를 기준으로 데이터를 시각화 해 보자. >>> from pylab import plot, show >>> nyc_temp = [53.9, 56.3, 56.4, 53.4, 54.5, 55.8, 56.8, 55.0, 55.3, 54.0, 56.7, 56.4, 57.3] >>> plot(nyc_temp, marker='o') [<matplotlib.lines.Line2D object at 0x7f61a20e2ce0>] >>> show() 2000년 부터 2012년 까지 총 13년 동안의 평균 온도

Naver Blog

자신의 범죄 뉴스에 목격자로 나온 아동 살해범 김점덕 사건

때는 2012년, 내가 대학교 1학년 학생이던 시절이다. 학교에 가기 전 아침을 먹고 뉴스를 보면서 등교하는 습관이 있었는데 그때 뉴스에서 한 아동이 실종되는 사건이 있었다. 그때 목격자로 나온 아저씨가 인터뷰를 했는데 알고보니 범인은 목격자로 나왔던 그 사람이었다. 심지어 범인은 가까이에서 사는 이웃이었다. 충격을 제대로 받아서 그 사건이 생각난 김에 다시 찾아봤다. 그리고 유사한 사건을 하나 더 찾았다. 사건 경과 2012년 7월 16일 오전 7시, 경상남도 통영시 산양읍 신전리 중촌마을에서 등교하던 초등학교 4학년 생이었던 한아름(당시 10세)양이 실종되는 사건이 발생했다. 아름 양은 그날 밤 10시까지 집으로 돌아오지 않자 부모는 경찰에 실종신고를 하게 된다. 그리고 실종된 지 일주일 째 되었던 7월 22일 오전 11시, 집에서 10여 km 떨어진 지점의 한 야산에서 암매장된 시신으로 발견되었다. 사건을 조사하던 7월 18일, 경찰은 아름 양의 집에서 버스정류장으로 가는 도로

Naver Blog

[파이썬 수학] 만유인력의 법칙과 포물선 운동

지금까지는 관측한 과학 측정값에 근거해서 그래프상의 점을 표시했지만 이번에는 x와 y 좌표의 모든 값이 배치된 상태로 시작한다. 만유인력 뉴턴의 법칙 만유인력에 대한 뉴턴의 법칙에 의하면 질량이 m1인 물체는 질량이 m2의 물체를 다음 공식에 의거하여 힘인 F로 끌어당기게 된다. 식에서 r은 두 물체 간의 거리가 되고 G는 중력 상수가 된다. 수식을 이용해서 두 물체 간의 거리가 증가하게 되면 힘 F에는 어떤 일이 발생되는지 알아보자. 우선 첫 번째 물체의 질량(m1)은 0.5kg이고 두 번째 물체의 질량(m2)은 1.5kg이라고 했을 때 중력 상수의 값은 6.674 × 10-11 N m2 kg-2가 된다. 총 19개 거리(100m, 150m, 200m, 250m, 300m, ... 1000m) 별로 두 물체 간의 중력을 계산해 볼 텐데, 다음 패턴을 실행해서 그래프를 그려보자. # 두 물체 간 거리와 인장력의 관계 import matplotlib.pyplot as plt def d

Naver Blog

파이썬으로 사운드 및 음악 만들기

이번엔 파이썬의 외부 라이브러리를 통해서 음악을 하나 만들어 보려고 한다. MASS(Music and Audio Sample Sequences) 프레임워크를 써서 만들려고 하며, 음악과 사운드 기능을 만들 수 있는 파이썬 패키지이다. MASS는 해당 루틴으로 LPCM 오디오의 음악적 요소에 대한 물리학적 패턴을 가지고 있으며, 핵심 기능은 다음과 같다. 샘플 기반의 합성 즉, 샘플 상태에서 업데이트가 진행된다. 예를 들어서 비브라토가 있는 음표에서 각 샘플은 다른 주파수와 연결되고 합성된 사운드의 수학적 모델에 대한 합성이 최대화된다. 대칭과 담론을 강조한 음악적 구조를 가지고 있다. 사운드 음성 및 음악에 대한 인터페이스에 최적화되어 있다. 독립적으로 사용되며, 데이터의 시청각화(참여 온톨로지) 및 퍼콜레이션 패키지와 시청각 분석 어휘, 온톨로지(AAVO)와 관련된 개방형 소셜 데이터로 활용할 수 있다. 우선 git clone을 통해 패키지를 설치해 보자. $ sudo apt-ge

Naver Blog

파이썬으로 국기(National Flag)를 그려봤다

파이썬 기초를 다 띠고 나니까 뭘 해야될 지 방향성을 잃어버렸다. 할 짓거리도 없어서 파이썬으로 할 수 있는게 뭐가 있는지 찾아보다가 나라의 국기(National Flag)를 그려봤다. 인도(India) import turtle from turtle import* screen = turtle.Screen() t = turtle.Turtle() speed(0) t.penup() t.goto(-400, 250) t.pendown() t.color("orange") t.begin_fill() t.forward(800) t.right(90) t.forward(167) t.right(90) t.forward(800) t.end_fill() t.left(90) t.forward(167) t.color("green") t.begin_fill() t.forward(167) t.left(90) t.forward(800) t.left(90) t.forward(167) t.end_fill() t.pen

Naver Blog

파이썬으로 카이사르 암호도구 만들기

이번엔 파이썬으로 카이사르 암호도구를 만들어 보려고 한다. 율리우스 카이사르(Julius Caesar: 기원전 100년 7월 12일 ~ 기원전 44년 3월 15일) 로마황제였던 율리우스 카이사르는 그의 가족이나 친분이 두터운 신화에게는 은밀한 내용의 편지를 보낼 때 암호를 사용해서 편지를 보냈다고 한다. 당시 카이사르가 편지에 사용했던 암호를 현대에는 카이사르 암호(Caesar Cipher) 또는 시저 암호라고 부른다. 암호의 원리 카이사르 암호는 위의 그림과 같이 원래의 문장에 있는 모든 알파벳을 일정한 크기만큼 이동시켜서 만들 수 있다. 즉, 문장에 있는 알파벳을 1만큼 이동시켜서 만든 문장을 위의 그림만큼 위치를 이동시켜서 그 다음 문자로 치환하여 만들어진다. 예를 들었을 때 다음의 문장을 보자. A LOT OF THINGS OCCUR EACH DAY 위의 문장을 1칸 씩 이동해서 생성한 문장은 다음과 같다. B MPU PG UIJOHT PDDVS FBDI EBZ 이렇게 만들어

Naver Blog

2005년 생방송 음악캠프 알몸 노출사건 (일명 카우치 사건)

때는 2005년 7월 30일 토요일이었다. 당시에 나는 초등학교 6학년이었는데 학교를 갔다와서 집에서 투니버스를 보고 있었다. 참고로 당시에는 오전수업만 하긴 했지만 토요일에도 학교를 갔다. 그렇게 점심시간 이전까지 4교시만 하고 집으로 와서 투니버스에서 방영했었던 이누야샤인가... 를 봤던 걸로 기억하는데 고등학교 2학년이었던 누나가 집으로와서 동방신기 나온다고 갑자기 음악캠프를 틀라고 한다. 리모컨을 뺏기고 어쩔 수 없이 동방신기를 보기 위해서 음악캠프를 같이 보는데 왠 정신나간 새끼들이 나와서 노래를 부르다가 바지와 팬티를 벗었다. 어린나이였던 나는 TV를 보면서 받은 충격에 넋이 나가 있었는데 당시 누나는 뭐가 웃겨서 그렇게 박장대소를 했는지 모르겠다. 그렇게 시간이 지나고 나도 서른을 먹은 나이가 되었는데 갑자기 이 사건이 생각이 났다. 카우치 밴드에 대해서 한국의 인디밴드 카우치(Couch)는 매복한다는 뜻을 가진 밴드로 닉값대로 존재감을 매복 시켰는지 대중들은 물론, 인

Naver Blog

[파이썬 수학] 정수 팩터와 곱 테이블 생성

이번엔 정수 팩터와 곱 테이블 생성에 대해 알아보자. 이미 기초 게시판을 통해서 기본 개념을 학습 했기 때문에 파이썬의 조건부 반복 명령을 통해서 몇 가지 수학적인 응용 프로그램을 만들어 보려고 한다. 정수 팩터 계산 0이 아닌 정수 a를 또 다른 정수 b로 나눴을 때 나머지가 0이라면 a는 b의 팩터(factor)라고 한다. 2는 모든 짝수 정수의 팩터가 된다. 그리고 0이 아닌 정수 a가 또 다른 정수 b의 팩터인지의 여부를 알아내기 위해서 다음 패턴과 같이 함수를 작성할 수 있다. >>> def is_factor(a, b): ... if b % a == 0: ... return True ... else: ... return False ... >>> 나머지를 계산하는 '%' 연산자에서 4가 1024의 팩터인지와 같은 문제를 해결해 보자. >>> is_factor(4, 1024) True 모든 양의 정수 n에 대해서 모든 양의 팩터를 알아낼 수 있는 방법은 n을 1부터 n까지 개별

Naver Blog

[파이썬 수학] 측정 단위 변환 및 이차방정식의 근 구하기

이번에는 측정 단위를 변환하고 이차방정식의 근을 구하는 공식을 파이썬으로 구해보자. 측정 단위 변환 국제 측정 단위 체계는 7개의 기본 측정값(base quantities)을 정의하고 있다. 또한 기본 측정 기준은 파생 측정값이라고 하는 다른 측정값을 갖는다. 길이(폭, 높이, 깊이), 시간, 중량, 온도는 7개 기본 측정값 중 4개이다. 이 측정값은 각각 표준 측정 단위(미터, 초, 킬로그램, 켈빈)를 갖는다. 하지만 이러한 표준 측정 단위는 각각 여러 개의 비표준 측정 단위를 갖는다. 아마도 우리는 섭씨 30도나 화씨 86도가 303.15 켈빈 이라는 단위보다는 더 익숙할 것이다. 그렇다면 303.15 켈빈은 화씨 86도의 3배가 된다고 할 수 있을까? 절대 아니다. 동일한 물리적 양인 온도를 측정하더라도 서로 다른 측정 단위로 표시되기 때문에 화씨 86도를 303.15 켈빈과 숫자값으로 비교할 수 없다. 측정 단위가 동일할 경우에만 두 개의 물리적 측정값을 비교할 수 있다. 파

Naver Blog

파이썬으로 모스부호(Morse Code) 해독하기

저번 포스팅에서 해적선장 키드의 암호를 해독하는 코드를 작성했었는데 패턴을 살펴보니 머리가 좀 아팠다. 그래서 이번에는 모스부호를 파이썬으로 해독해 보려고 한다. 우선 모스부호는 위와 같이 점과 짝대기로만 구성된 전신 기호로 새뮤얼 핀리 브리즈 모스(Samuel Finley Breese Morese, 1791 ~ 1872)가 고안하여 1844년에 완성된 전자 신호이다. 짧은 발신 전류와 긴 발신 전류만을 가지고 전신부호를 구성하여 문장을 구성한 뒤에 전송할 수 있게 고안하였다. 통신기술이 발달한 현대시대에서도 가장 기초적인 비상통신수단으로 사용되고 있으며, 한글 자음과 모음으로 구성된 모스부호도 있지만 여기서는 영어 문장을 가지고 코드를 짜 보자. 이전 포스팅의 해적선장 키드 암호문도 마찬가지이고, 이번 모스코드 또한 사전 객체(dict)의 키와 값으로 매칭시켜서 구성을 짜야 한다. 그래서 전체적인 코드 구성은 '점프 투 파이썬'이라는 책의 연습문제를 참고해서 가져왔다. morse_

Naver Blog

[북한 리눅스] 붉은별(Red Star OS)를 사용해 봤다

7년 전, 프로그래밍 동아리에서 활동 했을 때 친한 형에게 받은 USB가 있었는데 책상 서랍 정리를 하다가 우연히 발견하게 되었다. 그 USB를 마운트 시켜서 안에 어떤 파일들이 들어있는지 봤는데 2.6기가 용량의 iso 이미지 파일이 들어 있었다. 근데 red star라는 이름이 적혀있어서 검색을 해 봤는데 북한에서 개발한 리눅스 기반의 OS였다. 이름이 붉은별이라서 red star라는 이름이 붙은 듯 하다. 북한에서 이를 개발한 목적은 내부보안 단속 및 강화, 체제 선전용 정도의 목적으로 외부에 존재가 본격적으로 알려진 것은 2010년 경, 러시아의 미하일(Mikhail)이라는 이름을 가진 대학생이 평양에 방문했다가 김일성종합대학 근처에서 우연히 이것을 발견하여 5달러에 구매해서 자신의 블로그에 사용기를 올린 것을 몇몇 인터넷 언론사들이 주목하여 외부로 알려지게 되었다고 한다. 이번에 그 운영체제를 한 번 사용해 보려고 한다. 버추얼 박스에 가상머신을 생성해서 붉은별 OS를 구동

Naver Blog

파이썬에서 하위 디렉토리 파일 전체 탐색법

이번에는 파이썬에서 하위 디렉토리 파일을 탐색하는 법을 알아보자. 전체 구조는 점프 투 파이썬 책을 참고했지만 인터넷 등지에서 돌아다니는 상당히 다양한 방법들이 존재하고 있었다. 기본적으로 전체 파일들의 목록 리스트를 출력할 때 시스템을 제어할 수 있는 모듈인 os 모듈로 컨트롤을 하려고 한다. 전체 파일과 디렉토리 목록 탐색 이 부분은 os 모듈의 walk( ) 메소드를 사용하는데, 매개변수의 인자로 절대 경로 내용을 전달하여 경로의 폴더를 재귀 알고리즘을 이용해서 탐색하여 모든 파일 리스트를 출력할 수 있다. # 전체 파일 및 디렉토리 탐색 import os dir_path = '/home/toto/anaconda3' for(root, directories, files) in os.walk(dir_path): for d in directories: d_path = os.path.join(root, d) print(d_path) for file in files: file_path

Naver Blog

파이썬으로 자동 로또(Lotto)번호 추출하기

이번에는 파이썬으로 복권방에서 파는 자동 기능과 똑같이 로또번호를 추출하는 프로그램을 만들어 보려고 한다. 나 같은 경우에는 일주일에 만원 씩 로또에 투자를 하고 있지만 최고로 많이 당첨되어 본 금액은 4등인 5만원이 전부이고 나머지는 5000원 아니면 전부 꽝이다. (큰거 안바라고 3등만 되도 참 좋은데...) 사실 로또 같은 경우는 45개의 볼 중에서 6개를 맞추는 확률 게임인데 1등에 당첨될 확률이 무려 1/8,145,060이다. 벼락에 쳐맞을 확률이 500만 분의 1이라는 것을 감안하면 벼락을 한 번 쳐맞는 것보다 로또 1등에 당첨될 확률이 더 낮다는 얘기가 된다. 그럼에도 매주 꾸준히 10명 이상의 당첨자들이 평균적으로 나오면서 주작이라는 말 또한 나오고 있지만 내가 봤을 때 확실히 주작은 아니다. 왜냐하면 1주일에 판매되는 로또의 판매금이 평균 900억원 어치씩 팔린다. 여기서 1등 당첨자는 평균 7~15명 정도가량 나오며, 세금을 제외한 돈을 수령하면 주작은 아니고 확률

Naver Blog

SMAP - 世界に一つだけの花(세상에 하나뿐인 꽃) [가사/해석/발음]

이번에 들을 곡은 과거에 일본의 국민 아이돌이었던 SMAP의 世界に一つだけの花(세상에 하나뿐인 꽃)이라는 곡이다. 내가 일본노래 중에서 가장 좋아하는 곡이기도 하다. 이 곡은 2003년에 발매된 SMAP의 35번 째 싱글로 이 싱글 하나만 250만 장 이상의 판매고를 올리면서 국민 히트송이 되었다. 그 덕에 별명도 괴물꽃으로 불리고 있으며, 지금까지도 일본 가라오케 인기곡 순위 100위 안에 항상 랭크되는 인기곡이다. 본래는 초난강(쿠사나기 츠요시) 주연의 2003년 1분기 드라마인 '내가 사는 길(僕の生きる道)'의 엔딩송으로 타이업되면서 유명세를 타게 되었고 싱글 발매를 원하는 사람들이 많아지면서 약간의 편곡과 멤버들의 파트를 바꾸는 등의 작업을 거쳐 싱글로 발매되었다. 왼쪽부터 기무라 타쿠야, 카토리 싱고, 나카이 마사히로, 쿠사나기 츠요시, 이나가키 고로 본래 SMAP이라는 가수를 잘 몰랐지만 한국에서 유명한 초난강과 일본의 국민배우인 기무라 타쿠야, 일본에서는 유재석 급의 국

Naver Blog

[파이썬 수학] 분수 계산과 복소수

파이썬 기초를 전부 학습하고 심화 과정도 여러개 올렸지만 방향성을 잃으면서 방황하고 있을 때 머신러닝이랑 딥러닝 진도를 본격적으로 나가기 전에 파이썬을 가지고 수학, 통계, 미적분을 공부하면 더 도움이 될 거라 생각해서 수학 게시판을 따로 만들었다. 사실 내가 이쪽 전공은 아니지만 그래도 책과 인터넷의 도움을 받으니 그래도 할만 했다. 지금은 주구장창 파이썬 공부를 하면서 여러가지 잡다한 것을 포스팅하고 있지만 최종 목적은 스포츠를 전문으로 하는 블로그를 만들 생각이다. 어차피 블로그는 기록 저장용이기 때문에 어떤 주제를 할 지 처음부터 정해서 그거만 파면 블태기가 빠르게 온다. 그래서 처음엔 본인이 쓰고 싶은 글을 쓰면서 방문자와 이웃부터 확보를 해 놔야 한다고 생각한다. 이게 내가 블로그를 운영하는 전략이다. 잡소리가 길어졌는데 이제 첫 진도를 나가보자. 분수 계산 본래 파이썬을 처음 시작하는 사람들이 있을 까 해서 IDLE 사용법부터 파이썬의 변수 선언 및 인터프리터 사용법을

Naver Blog

2002년 한-일 월드컵이 공동개최된 이유

파이썬 기초도 전부 다 띠고 이제 바로 머신 러닝 데이터 분석으로 들어갈 지, 심화과정을 좀 더 파서 수학 공부를 할 지 고민이 생겼다. 이런 고민을 하려던 찰나에 "이야기거리" 게시판의 글을 작성 안한 지 좀 되었다. 그래서 이번에 이야기 하나를 작성하려고 하는데, 2026년 멕시코, 미국, 캐나다 3국 공동개최를 제외하면 지금까지 열린 월드컵 개최국 중에서 공동개최는 2002년 한-일 월드컵이 유일하다. 왜 공동개최가 되었는지 대충 정보를 검색해 보니 당사자인 한국과 일본이 아닌, 제 3국의 정치적인 이유가 껴있었다. 아르헨티나 vs 브라질 (500일 해상 전쟁) 2002년 한일 월드컵이 공동개최된 이유를 이해하기 위해서는 우선 1800년대 아르헨티나 & 우루과이와 브라질제국의 500일 해상 전쟁 시대로 거슬러 올라가야한다. 일명 시스플라티나 전쟁 및 준칼(Juncal) 해전이라고도 불리는 이 전쟁은 1825년부터 1828년까지 당시 브라질 제국의 지배를 받고 있었던 우루과이의

Naver Blog

[re 모듈] 파이썬의 정규표현식(Regular Expression)

드디어 파이썬 기초를 다 띠고 이제 심화과정으로 넘어왔다. 사실상 기초 부분은 순서가 정해져 있지만 심화과정은 그냥 내 맘대로 올릴 예정이다. 우선 첫 포스팅은 정규표현식에 대해서 알아보자. 정규표현식(Regular Expression) 정규표현식(正規表現式)은 프로그래밍 언어에서 문자열(String)을 다룰 때, 문자열의 일정한 패턴을 표현하는 일종의 형식 언어를 얘기한다. 줄여서 정규식이라고도 부르며, 영어로는 regex라고도 하는데 일정한 규칙을 가진 텍스트 문자열에서 정규 표현식을 많이 사용한다. 예를 들었을 때, 한 홈페이지에서 회원가입을 위해 주민등록번호를 입력해야 하는 경우가 많다. 그런데 뒷 자리는 '*******' 형식으로 가려줘야 하는데 이럴 정규표현식의 패턴을 이용해서 가릴 수 있다. 파이썬에서는 정규 표현식을 re 모듈에서 지원한다. 자주 사용하는 것들 몇 개만 표로 정리해 봤다. 메타 문자 의미 .(Dot) 새 줄(newline)을 제외한 아무 문자와 매칭시킨

Naver Blog

[텍스트 에디터] vi 명령어 총 정리

리눅스 마스터 자격증을 공부하거나 리눅스 운영체제를 처음 공부하게 되면 가장 먼저 공부할 내용이 바로 vi 에디터를 공부하는 것이라고 보면 된다. 지금은 vim 에디터를 많이 사용하는 추세이며, vi 에디터와는 호환이 되는 텍스트 에디터 문서 편집기이다. 사실 리눅스 환경에서 가장 기본적인 내장 에디터이기 때문에 필수적인 명령어를 꼭 알아야 한다. 윈도우에서도 vi 에디터를 사용할 수는 있지만 메모장도 있고 notepad++ 등의 에디터가 있어서 굳이 윈도우에서 잘 쓰지는 않고 리눅스를 오래 사용한 유저라면 다른 에디터보다 vi를 더 많이 쓴다고 한다. 그 이유는 마우스가 없어도되고 키보드 하나로도 문서 저장 및 커서 이동, 내용 수정 등을 다른 에디터 보다는 원할하게 할 수 있기 때문이다. 여기서는 vim 에디터를 기준으로 명령어를 작성하기로 한다. (하지만 제목은 vi 명령어 정리...) 요즘 나오는 리눅스 배포판의 경우에는 vi를 입력했을 때 자동으로 vim이 뜨도록 하기 때문

Naver Blog

X Japan(엑스재팬) - Rose of pain [가사/해석/발음]

이번에 들을 음악은 일본의 5인조 비주얼 락 밴드인 X Japan(엑스재팬)의 Rose of pain이라는 곡이다. 앨범커버 표지의 X 부분에 적힌 "PSYCHEDELIC VIOLENCE CRIME OF VISUAL SHOCK" 이라는 문구가 상당히 인상적이다. 이 곡은 엑스재팬의 메이저 데뷔 앨범에 수록된 곡으로 재생 시간이 10분이 넘어가는데 전혀 지루하지가 않다. 클래식 바흐의 푸가가 샘플링 되었으며, 가사의 내용은 헝가리 왕국의 귀족인 바토리 에르제베트(Báthory Erzsébet)가 자신의 노화를 막기 위해 처녀들을 살해하여 그 피를 이용해서 목욕을 했다는 내용의 상당히 끔찍한 실제 사건을 모티브로 만든 곡이다. 라이브 영상을 보면 동양 최고의 베이시스트인 타이지의 베이스 태핑 솔로 부분이 상당히 듣기 좋았다. 사실 이 곡의 앨범 자체가 비주얼계의 상징과도 같은 앨범이며, 86만 장이라는 판매고를 올리면서 오리콘 차트 6위에 오르기도 하고 롤링스톤 재팬 선정 100대 명반

Naver Blog

파이썬으로 해적선장 키드의 암호문 해독하기

이번에는 파이썬으로 해적선장 키드의 암호문을 해독하는 방법을 알아보려고 하는데 우선 다음 코드를 유심히 살펴보자. 53‡‡†305))6*;4826)4‡.)4‡);806*;48†8¶60))85;1‡(;:‡*8†83(88) 5*†;46(;88*96*?;8)*‡(;485);5*†2:*‡(;4956*2(5*-4)8¶8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡1;48†85;4)485†528806*81(‡9;48;(88;4(‡?34;48)4‡;161;:188;‡?; 정체를 알 수 없는 위의 문장은 띄어쓰기도 되어 있지 않은 이해하기 힘든 문장으로, 1800년대 미국의 소설가인 애드거 앨런 포우(E.A Poe)의 소설인 황금딱정벌레(The Gold-Bug)에 등장하는 문장이다. 황금딱정벌레의 등장인물인 르그랑은 일반 사람은 절대 알아볼 수 없는 힘든 위의 문장을 천재적인 머리로 해석해서 해적선장 키드가 숨겨 놓은 보물궤짝을 찾아낸다. 르그랑은 이 문장을 해독하기 위해 문장에

Naver Blog

[파이썬 기초] - json과 pickle에 의한 파일 입출력

이번에는 파일 입출력의 마지막 파트이자, 파이썬 기초 게시판의 마지막 포스팅이 된다. 본래 정규표현식이나 os 모듈 등을 다루는 내용이 더 있긴 하지만 거기서부터는 기초가 아니라 심화 과정으로 넘어가야 할 것 같아서 내 맘대로 여기까지를 기초로 정했다. 이 포스팅을 끝으로 파이썬 기초는 전부 마무리하고, 다음 포스팅부터는 심화 과정으로 넘어간다. json 모듈 json은 "Javascript Object Notation)"의 json 모듈은 텍스트 직렬화(text serialization)를 통해서 객체를 덤프하여 저장하고 가져온다. json은 파이썬의 내장 타입 객체만을 처리할 수 있다. 즉, 사용자 정의 클래스 객체는 덤프 처리가 되지 않는다. json.dump( ) 메소드는 파이썬 타입 객체를 문자열 표현으로 변환하여 파일에 저장하고, json.load( ) 메소드는 파일에 저장된 문자열을 타입으로 다시 가져온다. >>> import json >>> f1 = open('json

Naver Blog

菅田将暉(스다 마사키) - まちがいさがし(틀린 그림 찾기) [가사/해석/발음]

파이썬 기초를 모두 떼고 심화 과정으로 넘어가기 전에 어떤 내용을 포스팅할 까 하다가 일본 음악을 올리기로 했다. 근데 어떤 노래를 올릴 지 찾다가 일본의 배우이자 가수인 스다 마사키의 '틀린그림 찾기' 라는 곡을 유튜브를 통해서 들었다. 그 이전에도 스다 마사키의 '괜찮아 틀림없이'라는 곡을 올린 적이 있었는데 노래가 상당히 괜찮다. 어렸을 적 부터 들어왔던 기존의 일본음악과는 사뭇 다른 분위기의 곡인 듯한 느낌이 많이 든다. 그리고 이 곡 역시 2019년 2분기 일본 드라마 '퍼펙트 월드'의 OST로 타이업되면서 인기를 얻었고 유튜브의 공식 뮤직비디오 또한 1억 조회수를 돌파하였다. 이런 인기 때문인지 한국 노래방 태진(68040)과 금영(44481) 노래방에도 각각 수록되어 있다. まちがいさがしの間違いの方に 마치가이 사가시노 마치가이 노호-니 틀린 그림 찾기에서 틀린 쪽이 生まれてきたような気でいたけど 우마레테 키타요-나 키데이타케도 태어난 것 같은 느낌이었지만 まちがいさがしの正

Naver Blog

奥 華子(오쿠 하나코) - 変わらないもの(변하지 않는 것) [가사/해석/발음]

요즘 파이썬 공부에 집중 하느라 다른 이야기나 일본 음악에 대한 글을 포스팅하지 못 한듯 하다. 아무래도 공부하고 배웠던 것을 기록하는 노트 같은 개념으로 블로그를 운영하기 때문인지 점점 그쪽으로 포커스가 맞춰지는 것 같다. 그래도 잡스러운 주제를 운영하는 블로그 보다는 한 가지라도 전문적으로 파고드는 쪽이 더 나을 것 같다. (언젠가 주제를 IT에서 스포츠로 바꾸긴 할 거지만...) 아무튼 이번에 들을 곡은 일본의 싱어송라이터인 오쿠 하나코(奥 華子)의 곡인 変わらないもの(변하지 않는 것)이라는 곡이다. 이 곡은 2006년 당시 최고의 명작이자 극장판 애니메이션이었던 '시간을 달리는 소녀'의 OST로 타이업 되어 인기를 끌었다. 본래 메인 삽입곡은 그녀가 부른 '가넷(ガーネット)'이라는 곡이지만 이 곡이 가장 유명한 곡이다. 나도 이 곡을 들은 지도 벌써 10년이 넘었다. 옛날에 p2p 사이트에서 이 애니를 다운 받아서 본 적이 있었는데 개인적으로 2006년에 나왔다고는 믿기지 않

Naver Blog

[파이썬 기초] - 파일 객체 입출력 메소드

이번에는 파일 객체 메소드인 write( ), read( ), readline( ), readlines( )등을 사용하여 파일 객체에 대한 입출력을 해 보자. write( ) 메소드 생성된 파일 객체가 f일 때, f.write(string)는 string의 내용을 파일에 출력하고, 출력한 바이트 수를 반환한다. 텍스트 파일에서 출력할 string은 str( ) 객체이다. 바이너리 파일에서 출력할 string은 bytes, bytearray, memoryview, array.array 등의 바이트 객체가 된다. >>> f1 = open('data.txt', 'w') >>> f1 <_io.TextIOWrapper name='data.txt' mode='w' encoding='UTF-8'> >>> f1.write('lee 80 90 95\n') 16 >>> f1.write('kim 85 70 75\n') 16 >>> f1.write('park 70 80 90\n') 16 >>> f1.cl

Naver Blog

[파이썬 기초] - 자료구조 클래스 : 스택(stack) / 큐(queue)

이번엔 자료구조 클래스를 알아볼텐데, 스택과 큐에 대해 알아보려고 한다. 파이썬에서 사용할 수 있는 대표적인 자료구조는 스택(stack)과 큐(queue), 유리수(rational nmber)가 있는데 우선 파이썬은 list를 사용하여 간단하게 스택과 큐를 구현할 수 있다. 우선 스택부터 살펴보자. 스택(stack) 스택 자료구조의 원리 스택은 LIFO(Last-In First-Out) 자료구조이다. 즉, 마지막에 들어간 데이터가 먼저 빠져나오는 형식이다. 기본적인 스택은 list의 list.append( )와 list.pop( ) 메소드로 구현할 수 있다. 다른 방법은 list를 활용하여 Stack 클래스를 정의하는 방법 정도이다. >>> stack = [] >>> stack.append(10) >>> stack.append(20) >>> stack.append(30) >>> stack [10, 20, 30] >>> stack.pop() 30 >>> stack.pop() 20 >>

Naver Blog

[파이썬 기초] - 자료구조 클래스 : 유리수(Rational Number)

이번엔 드디어 클래스 파트의 마지막을 장식할 유리수 자료구조에 대해 알아보자. 사실 유리수 자료구조라고 해 봤자 대충 이론만 알고 모듈써서 패턴 파악한 뒤에 클래스 설계하고 인스턴스 생성해서 써 보는 것이 전부이다. 사실 학창시절에 수학시간에 디비 잤던 사람들 아니면 유리수가 뭔지는 다들 알 것이다. 유리수는 ¼, ⅔ ⅛ ⅜ 이런 형태의 정수/정수 분수를 의미하는데, 파이썬에서는 fractions 모듈이 유리수 기능을 제공한다. 이전 포스팅과 마찬가지로 모듈을 사용해 보고 클래스를 설계해서 마무리를 해 보자. >>> import fractions >>> fractions.Fraction(2, 4) Fraction(1, 2) >>> fractions.Fraction(0, 1) Fraction(0, 1) >>> fractions.Fraction(0, 2) Fraction(0, 1) >>> fractions.Fraction(0, 4) Fraction(0, 1) >>> fractions.F

Naver Blog

[파이썬 기초] - 파일 입출력 클래스 및 파일 객체

드디어 클래스 파트가 끝나고 파이썬 기초 게시판의 마지막 파트인 '파일 입출력'에 대해 다뤄 보려고 한다. 클래스 파트가 끝나긴 했지만 처음은 '파일 입출력 클래스'라고 또 다시 클래스를 다뤄야 한다. 하지만 클래스에 비해서는 내용이 그렇게 길지는 않기 때문에 2~3 포스팅으로 나눠서 작성하면 다 끝날 것 같다. 파일 입출력 클래스 파이썬의 io 모듈은 파일 입출력을 담당한다. 파일 입출력은 크게 텍스트 파일 입출력, 바이너리 파일 입출력, 그리고 raw 입출력 등 3가지 형태의 입출력이 존재한다. io 모듈의 클래스 구조 위의 그림은 io 모듈의 클래스 계층 구조이다. 입출력을 위한 최상위 추상 기반 클래스(ABC : abstract base class)는 IOBase 클래스이고, IOBase 클래스로부터 상속 받은 TextIOBase, BufferedIOBase, RawIOBase 추상 기반 클래스가 존재한다. 텍스트 파일 입출력은 TextIOBase로부터 상속 받은 String

Naver Blog

[파이썬 기초] - 클래스 상속(IS-A 관계)

드디어 길었던 연산자 오버로딩 파트를 끝내고 클래스 상속 파트로 넘어왔다. 길고 긴 터널을 나온 듯한 기분이 든다(...) 하지만 상속 또한 IS-A 관계 부터 super( ) 내장함수, HAS-A 관계, 다이아몬드 패턴까지 꽤 내용이길어서 정신차리고 공부해 봐야겠다. 클래스 상속 클래스의 상속(inheritance)은 객체지향 프로그래밍의 중요한 특징이다. 클래스를 계층적으로 구성하여, 상위 클래스(super class/base class/parent class)의 속성을 하위 클래스(sub class/derived class/child class)에서 상속 받아 그대로 사용하거나 수정하여 사용할 수 있다. 그러므로 라이브러리를 클래스로 설계하여 작성하면 재사용성(re-usability)이 크게 향상된다. 클래스와 인스턴스 속성 파이썬의 클래스 계층에서 최상위 클래스는 object 클래스이다. 파이썬의 모든 타입과 클래스는 기본적으로 object 클래스로부터 상속 받는다. 클래스

Naver Blog

[파이썬 기초] - 클래스 상속(HAS-A 관계)

이번엔 저번 포스팅의 IS-A 관계에 이어서 HAS-A 관계에 대해 알아보자. IS-A 관계가 상속 관계인 "이다"라는 상태를 표현한 것이라면, HAS-A 관계는 "가지다"라는 뜻이 있다. HAS-A 관계 객체지향 용어에서 IS-A 관계와 HAS-A 관계 중에서 IS-A 관계는 이전 포스팅에서 설명했던 상속(inheritance)에서 사용된다. 또 다른 관계로는 HAS-A("가지다") 관계가 있는데, HAS-A 관계는 크게 구성(composition) 관계와 집합(aggregation) 관계가 있다. 구성 관계는 한 부분의 강력한 결합관계를 갖는 경우를 의미한다. 그리고 집합 관계는 느슨한 연관관계를 의미하는데, 우선 다음 그림을 살펴보자. IS-A와 HAS-A 관계 우선 위의 그림을 보면서 구성관계의 예로는 차량(Vehicle)은 엔진(Engine)을 부속품으로 갖는다. 또 다른 예로는 집(House)은 방(Room)을 갖는다. 그리고 집합 관계의 예로는 차량은 운전자가 있어야 하

Naver Blog

[파이썬 기초] - 메타 클래스와 추상 클래스

이번에는 메타 클래스와 추상 클래스에 대해 알아보자. 일반 클래스의 인스턴스는 객체 인스턴스가 되고, 메타 클래스(meta class)의 인스턴스는 클래스가 된다. 즉, 메타 클래스는 인스턴스 객체로 클래스 자체를 생성할 수 있는 것이다. 인스턴스, 클래스, 메타 클래스 관계 위의 그림을 보면 객체 인스턴스와 클래스, 메타 클래스의 관계를 보여준다. 그리고 메타 클래스와 더불어서 추상 클래스도 존재하는데, 추상 클래스(abstract base class)는 추상 메소드(abstract method)를 하나 이상 가진 클래스를 의미하며, 추상 클래스는 인스턴스 생성이 불가능하다. 메타 클래스(meta class) class type(name, bases, dict) name은 클래스의 이름이다. base는 상위 클래스를 지정하는 튜플(tuple)이다. dict는 클래스 몸체의 속성을 정의하는 사전이다. type 클래스는 클래스를 생성하는 메타 클래스이고, type으로부터 상속 받은 클

Naver Blog

[파이썬 기초] - 문자열 변환, 해시, 불리언 내장함수를 모방한 메소드

이번에도 연산자 오버로딩 파트 중 하나인데 문자열 변환, 해시, 불리언 내장함수를 모방하는 메소드에 대해 알아보려고 한다. 메소드 내장함수 __repr__(self) repr( ) __str__(self) str( ), print( ) __bytes__(self) bytes( ) __format__(self, format_spec) format( ), str.format( ) __hash__(self) hash( ) __bool__(self) bool( ) 위의 표는 문자열 변환, 해시, 불리언에 대한 내장함수(built-in functions)를 모방하는 특별한 메소드이다. __repr__( ) 메소드는 객체의 공식적인(official) 문자열 표현을 계산하는 repr( )에 의해 호출되며, 문자열을 반환한다. __str__( ) 메소드는 비공식적으로 읽을 수 있는 형태의 문자열을 위한 str( ), format( ), print( ) 함수 등에 의해 호출된다. 클래스에 __rep

Naver Blog

[파이썬 기초] - 디스크립터 속성 접근 메소드와 property 내장 클래스

이번에는 디스크립터(descriptors) 속성 접근 메소드와 property 내장 클래스에 대해 알아보자. 디스크립터(descriptors) 속성 접근 메소드 메소드 설명 __get__(self, instance, owner) 소유자 클래스의 속성 또는 소유자 클래스 인스턴스의 속성에 접근할 때 호출된다. owner를 통해 속성에 접근하면 owner = None이되며, 속성값을 반환한다. __set__(self, instance, value) 소유자 클래스의 속성 또는 소유자 클래스 인스턴스의 속성을 value로 설정할 때 호출되고 반환값은 없다. __delete__(self, instance) 소유자 클래스의 인스턴스 속성을 삭제할 때 호출되며, 반환값은 없다. 위의 표는 디스크립터(descriptor) 클래스의 속성에 접근하는 메소드이다. 디스크립터 클래스는 __get__( ), __set__( ), __delete__( ) 메소드를 가지고 있는 클래스로 다른 클래스(소유자)에

Naver Blog

ウル(우루) - あなたがいることで(당신이 존재하기에) [가사/해석/발음]

이번에 들을 곡은 일본의 싱어송라이터인 우루(ウル)의 あなたがいることで(당신이 존재하기에)이다. 2020년에 발매된 이 곡은 2020년 1분기에 TBS에서 방영된 일본 드라마 'テセウスの船(테세우스의 배)' OST로 타이업되어 많은 사랑을 받았다. 공교롭게도 같은 해 3분기 때 내가 가장 재밌게 즐겨봤던 일본 드라마 '한자와 나오키'도 나왔었는데, 그 드라마는 봤어도 테세우스의 배는 아직 보진 못 했다. 우선 '우루'라는 가수에 대해 찾아봤는데 본명도 공개되어 있지 않은 상태이다. 다만 위키피디아에 나이는 1984년 생으로 표기가 되어 있기는 하다. 이렇게 얼굴만 공개되어 있고 정보가 딱히 없는데 노래를 들어봤을 때는 2000년대 초중반 지금의 아이돌들이 즐비해 있기 이전에 한국의 발라드를 듣는 것 같은 그런 느낌이다. 약간 개인적으로 윤하의 '오늘 헤어졌어요'와 비슷한 느낌의 곡이라 지금도 상당히 인상깊게 듣고 있다. 개인 취향으로는 나는 지금의 K-pop 보다 당시의 옛날 가요들

Naver Blog

[파이썬 기초] - 클래스 속성과 인스턴스 속성

파이썬은 클래스 속성(class attribute)과 인스턴스 속성(instance attribute)을 구분한다고 언급했다. 클래스 속성은 클래스로부터 생성된 모든 인스턴스에 의해 공유되며, 인스턴스 속성은 해당 인스턴스 내에서만 사용하도록 되어 있다. 또한, 파이썬은 실행 시간에 동적 바인딩(dynamic binding)을 통해 속성을 추가 또는 삭제하는 것이 가능하며, 클래스 데이터 속성을 클래스 변수(class variable), 인스턴스 데이터 속성을 인스턴스 변수(instance variable) 변수라고도 하는데, 인스턴스 변수는 다른 말로는 멤버변수(member variable)라고도 부른다. 속성 데이터 접근 속성은 클래스 이름 또는 인스턴스 객체와 점(dot)에 의해 접근(access : get/read, set/write)할 수 있다. 이 때 접근은 두 가지 사용 목적이 있다. 하나는 이미 존재하는 속성 이름에 바인딩 된 값을 얻어(get)와서 사용하는 경우와 다

Naver Blog

[파이썬 기초] - 정적 메소드와 클래스 메소드

이번에는 정적 메소드와 클래스 메소드에 대해 알아보자. 정적 메소드(static method) 정적 메소드(static method)는 메소드 정의 앞에 데코레이터 형식은 @staticmethod를 추가해서 지정하여 사용할 수 있다. 정적 메소드는 첫 번째 매개변수에 인스턴스 객체를 전달하지 않는다. 즉, 인스턴스 메소드의 정의에서 항상 첫 번째 매개변수에 있는 self가 존재하지 않는다. 정적 메소드는 클래스의 이름 또는 클래스의 인스턴스 객체를 통해서 호출이 가능하다. >>> class A: ... value = 0 ... @staticmethod ... def incr(value = 1): # 정적 메소드 ... A.value += value ... return A.value ... >>> 위의 클래스 A가 바로 정적 메소드이다. 이는 다음과 같이 데이터 속성에 접근하여 값을 가져올 수 있다. >>> A.incr() 1 >>> A.value 1 >>> A.incr(10) 11

Naver Blog

ゆず(유즈) - OLA!!(짱구는 못말려 극장판 23기 엔딩) [가사/해석/발음]

이번에 들을 곡은 일본의 포크 듀오 가수인 ゆず(유즈)의 OLA!!라는 곡이다. 이 곡은 짱구는 못말려 극장판 23기인 '나의 이사 이야기 선인장 대습격'의 엔딩으로 타이업되어 유명해 졌으며, 극장판 수익 또한 시리즈 사상 최고 흥행을 기록할 정도로 유명한 극장판이다. 하지만 나 같은 경우에 짱구 극장판 하면 "어른 제국의 역습" 말고는 아직 명작은 본 적이 없었지만 오늘 wavve(웨이브)를 통해서 심심해서 짱구 극장판 23기를 봤다. 짱구 아빠의 일 때문에 멕시코로 이민을 가게 된 짱구의 가족들이 선인장과 겪는 이야기를 그린 작품인데, 초반에는 철수와 헤어지는 장면을 감동 포인트로 삼다가 중간중간 개그요소도 있고 무엇보다 마지막 엔딩곡이 내 마음을 매료시켰다. 배경이 멕시코라 그런지 엔딩곡 또한 멕시코 스러운 느낌의 곡이며, 아무래도 짱구 극장판 하면 "어른제국의 역습"이나 "로봇아빠의 역습" 같은 교훈과 감동포인트 때문에 보는 것이 많았는데 킬링 타임용으로 이 시리즈 또한 상당

Naver Blog

[파이썬 기초] - 연산자 오버로딩 : operator 모듈 및 이항 산술연산자 오버로딩

여기서부터는 '연산자 오버로딩' 파트로 넘어가는데, 내용도 좀 길고 오버로딩을 할 수 있는 연산자의 종류도 꽤 많다. 우선 여기서는 operator 모듈부터 이항 산술연산자 오버로딩에 대해서만 살펴보자. 클래스에서 앞 뒤로 2개의 언더바(__)를 갖는 특별한 이름의 메소드를 구현하면서 내장함수(built-in functions) 또는 연산자(operator)의 기능을 모방(emulate)하여 클래스의 인스턴스 객체에서 사용자의 의도대로 커스터마이징(customizing)할 수 있다. 이러한 특별한 메소드 중에서는 __new__( ), __init__( ), __del__( ), __slots__( ) 메소드가 있는데 이러한 메소드에 대해서는 이전 포스팅에서 진도를 나갔다. 지금 포스팅 부터는 연산자 오버로딩(operator overloading)을 위한 특별 메소드에 대해 진도를 나가고, 기타 내장함수를 모방하는 특별 메소드에 대해 알아보자. 파이썬은 모든 연산자를 오버로딩하여 클래

Naver Blog

[파이썬 기초] - 확장/단항 산술연산자 및 타입 변환 내장함수 오버로딩

이번에는 확장 산술 지정문 연산자와 단항 산술연산자 및 타입 변환 내장함수 오버로딩에 대해 알아보자. 확장 산술 지정문 연산자 메소드 연산자 __iadd__(self, other) += __isub__(self, other) -= __imul__(self, other) *= __imatmul__(self, other) @= __itruediv__(self, other) /= __ifloordiv__(self, other) //= __imod__(self, other) %= __ipow__(self, other[, modulo]) **= __ilshift__(self, other) <<= __irshift__(self, other) >>= __iand__(self, other) &= __ixor__(self, other) ^= __ior__(self, other) |= 위의 표는 확장 산술 지정문(augmented arithmetic assignment) 연산자에 대한 메소드이다. 만

Naver Blog

[파이썬 기초] - 비교 연산자 및 컨테이너 타입(container type) 연산자 오버로딩

이번에도 연산자 오버로딩 파트가 계속된다. 여기서는 비교 연산자 및 컨테이너 타입(container type) 연산자 오버로딩에 대해서 알아보자. 비교 연산자 오버로딩 메소드 연산자 __lt__(self, other) < __le__(self, other) <= __eq__(self, other) == __ne__(self, other) != __gt__(self, other) > __ge__(self, other) >= 위의 표는 두 객체 인스턴스를 비교하여 True 또는 False를 반환하는 비교 연산자 메소드이다. __lt__( )는 정의되어 있으면, < 연산자에 대해 호출한다. 이때 만약 __gt__( ) 메소드가 없다면 > 연산자에 대해서도 __lt__( ) 메소드가 대신 호출되며, 이 경우에는 결과에 대해서 반전이 이루어진다. __eq__( )와 __ne__( ), __le__( )와 __ge__( ) 메소드 사이에서도 같은 현상이 발생한다. >>> class Vec: .

Naver Blog

객체지향(Object Oriented Programming)에 대해서

오늘은 파이썬의 클래스(class) 진도를 나가기 이전에 객체지향 프로그래밍의 정의와 전반적인 내용에 대해서 짚고 넘어가려고 한다. 사실 파이썬 전문 개발자로 나가거나 객체지향 프로그래밍 전문 개발자가 될 것이 아닌 이상은 디테일하게 볼 내용은 아니라서 이 부분은 건너뛰고 바로 클래스로 넘어가도 상관은 없다. 기왕 시작하는 거 클래스를 공부하기 전에 짚고 넘어가면 더 이해가 잘 될 수도 있을 것 같아서 객체지향에 대한 정보를 조사해 봤다. 객체지향 프로그래밍이란? 객체지향 프로그래밍(Object Oriented Programming/OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나로 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 하나의 로직을 구성하는 프로그래밍 기법을 의미한다. 쉽게 말해서 우리가 일상 생활에서 쓰이는 모든 사물들을 객체(客體)라고 하는데, 객체 지향 프로그래밍에서 객체라는 것을 생성하기 위해서는

Naver Blog

[파이썬 기초] - 클래스 정의 및 객체 생성

드디어 객체지향 프로그래밍의 꽃이라고 할 수 있는 클래스(class) 파트로 넘어왔다. 내용이 좀 많으며, 이전 포스팅에서 객체지향 프로그래밍에 대한 정보를 수집하고 예습을 미리 마쳤다. 이제 본격적으로 클래스 파트에 대한 진도 학습을 나가보자. 객체, 클래스, 인스턴스의 관계 이전 포스팅에서 언급했듯이, 파이썬은 객체지향 프로그래밍(OOP : Object-Oriented Programming) 언어이다. 파이썬은 변수와 상수를 비롯해서 거의 모든 것이 클래스로 구현되어 있을 정도로 순수 객체지향 언어이며, 다음 그림을 살펴보자. 객체, 클래스, 인스턴스의 관계 위의 그림과 같이 객체(object), 클래스(class), 인스턴스(instance)의 관계를 잘 나타낸다. 객체(object)는 실세계(real world)에 존재하는 처리 대상이 되며, 인간이 실생활에서 사용하는 사물들이 있다. 그리고 이러한 대상(객체)을 추상화(abstraction) 한 것이 클래스(class)로 정

Naver Blog

[파이썬 기초] - object 클래스 메소드 재정의

이번에는 최상위 클래스인 object 클래스의 메소드인 __init__( ), __del__( ), __new__( ) 메소드를 재정의(overriding)해 보려고 한다. 최상위 클래스(object) 메소드 재정의 object 최상위 클래스의 기본 메소드인 __init__( )와 __del__( ), __new__( ) 메소드가 있는데 이들 메소드는 각각 객체 초기화, 삭제, 생성을 담당한다. 객체를 생성 및 삭제하는 과정에서 자동으로 호출되며, 이때 정적 메소드(static method)인 __new__( ) 메소드에 의해서 객체 생성이 이루어지고, __init__( ) 메소드가 호출되어 객체를 초기화 한다. 그리고 인스턴스에 대한 참조가 더 이상 없을 때, 객체는 메모리 상에서 파괴되기 직전에 __del__( ) 메소드가 호출된다. 대부분의 최상위 클래스 메소드는 인스턴스 객체를 초기화하는 과정에 호출되는 __init__( ) 메소드만 재정의하여 사용한다. 최상위 클래스인 ob

Naver Blog

미스테리한 일본 AV 배우 모모이 노조미(桃井望) 살인사건

최근에 "아라노 리나"라는 일본의 AV배우가 실종 2주 만에 나체로 나무에 묶여 있는 상태로 숨진 채 발견되는 사건이 있었다. 사실 최근에 발생한 사건을 다시 블로그에 쓰는 것은 내 블로그 운영 방향에 어긋나는 일이라고 생각한다. 이미 수 많은 사람들이 그 사건에 대해 기사를 참고해서 포스팅을 작성했고 방문자와 조회수를 올렸을 것이다. 그래서 이번에 발생한 사건과 더불어서 옛날에 일본에서 발생한 동일한 사건이 생각났는데 아마도 사람들이 잘 모를 것 같은 2002년에 발생된 일본 AV 배우 살인사건에 대해 작성하려고 한다. 이번에 발생한 AV 배우 살인사건은 진범이 잡혔지만, 내가 작성하려고 하는 사건은 범인이 잡히지도 않았고 의문점이 상당히 많은 사건이라는 점이다. 프로필 이름 : 모모이 노조미(桃井望) 본명 : 와타나베 요시미(渡辺芳美) 출생 : 1978년 9월 23일, 일본 사망 : 2002년 10월 12일, 향년 24세 신체 : 148cm, B86(F)/W56/H85(cm) 직

Naver Blog

[파이썬 기초] - 일급함수, 함수 클로저, 데코레이터

본래 나는 스포츠 블로그를 만들려고 했고 스포츠를 데이터 위주로 분석하기 위해서 파이썬을 공부 중이다. 근데 파이썬 공부는 뒷전이 되었고 난데 없이 일본 음악이나 들으면서 올리고 있어서 이래서는 안되겠다 싶어 지금부터는 파이썬 위주로 진도를 계속 나가보려고 한다. 여기서는 일급함수, 함수 클로저, 데코레이터에 대해 작성을 해 보려고 한다. 일급함수(first-class functions) 파이썬의 함수는 변수의 이름에 직접 바인딩이 가능하며, 매개변수에 함수를 전달할 수도 있다. 그리고 함수 자체를 반환하는 것도 가능하다. 파이썬 뿐만 아니라 프로그래밍 언어에서는 이러한 함수를 '일급함수(first-class functinos)'라고 부르며, '일급시민(first-class citizens)'으로 취급하기도 한다. >>> def greeting(name): ... return "Hi, " + name ... >>> say = greeting >>> say <function greet

Naver Blog

[파이썬 기초] - 제너레이터(Generator) 함수와 수식

이번에는 제너레이터(Generator) 함수와 수식에 대해 살펴보자. 제너레이터(Generator) 제너레이터(Generator)를 사용하면 연속적인 값을 차례대로 생성할 수 있다. 제너레이터를 생성하는 방법에는 제너레이터 함수와 제너레이터 수식이 있으며, 컴퓨터 프로그램은 복잡한 작업(tasks)들을 단위 모듈 프로그램으로 나누어 일을 처리하게 되는데, 이러한 단위 모듈을 '서브루틴(Subroutine)'이라고 부르며, 메인 함수가 각 서브루틴을 돌면서 호출하고 서브루틴 사이를 조정하면서 작업을 수행하게 된다. 서부르틴은 진입점이 한 곳이며, return 명령에 의해 종료되거나 마지막 명령까지 실행하고 호출한 곳으로 되돌아오게 된다. 코루틴(coroutine)은 값을 서로 주고 받는 대화 방식으로 작업을 수행하게 되는데, 파이썬의 일반 함수는 서브루틴 구조로 동작하게 된다. 그리고 코루틴은 제너레이터 함수 또는 async 함수로 구현이 가능하다. 제너레이터 함수 제너레이터 함수는

Naver Blog

[파이썬 기초] - 제너레이터 기반의 코루틴(coroutine)과 파이프라인 처리

지난 포스팅에 이어서 이번에도 제너레이터를 기반으로 하는 패턴에 대해 진도를 나가는데 여기서는 제너레이터 기반의 코루틴(coroutine)과 이를 기반으로 한 파이프라인을 처리하는 방법에 대해 알아보자. 제너레이터 기반의 코루틴 지난 포스팅에서 사용한 제너레이터 함수를 이용해서 코루틴 패턴을 구현할 수 있다. 제너레이터 함수는 제한된 형태의 코루틴이며, 제너레이터 함수에서 yield value 명령에 의해 value 값을 되돌려 주는 코드를 작성한 적이 있었다. 여기서는 제너레이터 함수에서 지정문 연산 오른쪽에 yield 명령을 사용하여 실행 도중에 외부에서 값을 전달 받는 코드를 사용하여 코루틴을 알아보자. >>> def echoMsg(): ... print('Start echo message') ... while True: ... value = (yield) ... print('msg :', value) ... >>> gen = echoMsg() >>> gen <generator

Naver Blog

[파이썬 기초] - async def와 asyncio 모듈에 의한 코루틴 처리

이번에도 저번 포스팅과 마찬가지로 코루틴 함수를 정의해 보려고 한다. 이번에는 데코레이터를 적용시키지도 않고 제너레이터 객체를 생성하는 것도 아닌, async def 명령에 의해서 코루틴을 정의하는 패턴이다. async def에 의한 코루틴 PEP(Python Enhancement Proposal) 0492 규격에 의하면 Python 3.5 버전 이후부터는 코루틴 async def로 정의된 함수로 정의할 수 있게 되었다. 이게 async def 코루틴의 시초이다. async def <함수 이름> (<매개변수_리스트>): <문장 몸체> await <대기가능_객체> 함수의 몸체인 <문장 몸체>에 await, async for, async with 명령을 사용할 수 있다. async def 명령에 의한 코루틴 함수에서 yield 명령을 사용할 경우에는 에러가 발생한다. async def로 정의된 코루틴 함수를 호출하면 코루틴 객체를 반환하게 된다. 코루틴 객체는 제너레이터 객체에서 사용할

Naver Blog

1996년, 일본의 여고생 온천장 심령스팟 행방불명 사건

평소에 일본 관련된 영상을 주로 보는지라 유튜브에서 또 다시 이상한 일본어로 된 영상이 알고리즘 추천으로 떠서 보게 되었다. 한글 자막도 없고 무슨 말인지 몰라서 썸네일 헤드라인에 표시된 제목을 구글에 검색했는데 한국에서도 알려진 사건인지, 나무위키에 해당 사건이 문서로 기록되어 있었다. 그래서 이번에는 그 사건에 대해 찾아봤다. 실종된 여고생 실종자 야시키 에미와 타쿠미 나루미 사건 개요 사건의 무대가 되었던 우오즈시의 츠보노 온천장 1996년 5월 5일에 발생한 일본의 장기 미제 실종사건으로, 위의 온천장은 국내의 곤지암 정신병원과 같이 심령스팟 탐사와 얽히면서 일본의 인터넷상에서 꽤 화제가 된 장소이다. 실종자가 온천장으로 향했던 차량과 함께 아무런 단서도 발견되지 않고 사라지면서 24년간 장기 미제 사건이었지만, 2020년이 되어서 실종자들의 시신이 발견되면서 진상이 밝혀지게 되었다. 사건의 전말은 이러했다. 1996년 5월 5일, 일본 도야마현 히미시(氷見市)에 사는 타쿠미

Naver Blog

[파이썬 기초] - 내장 함수 및 기타 알고리즘 기반 정의 함수

이번에는 파이썬 자체에 내장되어 있는 lambda, map( ), filter( ) 등의 내장함수와 사용자가 직접 수학적인 알고리즘을 기반으로 정의한 재귀함수에 대해 알아보자. 람다(lambda) 함수 람다(lambda) 함수는 이름을 가지지 않고 한 줄의 수식으로 구성되어 있는 인라인(inline) 함수이다. 이름을 갖지 않는다는 의미로 변수로 직접 바인딩하여 함수로의 기능을 구현할 수 있다는 의미이며, 한 줄의 <수식>은 함수의 반환값을 의미한다. 람다 함수에서 인자를 변수에 전달하는 방법은 일반함수를 호출하는 방법과 동일하다. lambda [<매개변수리스트>] : <수식> 그럼 다양한 방법으로 람다함수를 정의해 보자. >>> f = lambda x : x*x >>> f(10) 100 >>> f(20) 400 람다 함수는 위와 같이 정의가 가능하다. 이는 사용자가 직접 정의한 일반 함수로 풀어보면 다음과 같다. >>> def f(x): ... return x*x ... >>> f

Naver Blog

2009년, 가요계를 뒤집어 놓은 전설의 가수 '오리(Ori)' 이야기

파이썬 공부만 지겹도록 하다 보니 머리가 상당히 아프다. 그래서 과거에 2000년대 히트곡만 모아 놓은 유튜브 영상을 봤는데 당시에 한창 걸그룹 카라(KARA)를 덕질하고 있을 때라 옛날 생각도 하면서 카라의 Pretty Girl이랑 Honey 무대 영상을 봤다. 이 히트곡 모음 영상을 보면서 하나의 무대가 또 생각났다. 당시에 나는 고등학교에 막 입학했던 1학년 학생이었는데 카라를 열심히 덕질 했었다. 2009년 당시 카라의 '프리티걸(Pretty girl)' 무대를 보기 위해서 뮤직뱅크를 보고 있었는데 당시 가요계 유망주라고 해서 한 신인 가수의 무대를 보게 되었는데 엄청난 충격에 빠졌다. 그 가수가 노래를 부르는 무대가 갑자기 생각이 났는데 문제는 이름이 기억나질 않아서 구글에 관련된 검색어를 계속 검색하다가 우여곡절 끝에 해당 가수를 찾게 되었다. 참고로 당시 그 친구는 "가요계 유망주" 두 번째로 나왔으며, 당시 가요계 유망주 첫 번째가 현재 대한민국 젊은 층에서는 모르는

Naver Blog

あいみょん(아이묭) - マリーゴールド(마리골드) [가사/해석/발음]

이번에 들을 음악은 일본에서 가장 핫한 싱어송라이터인 아이묭(あいみょん)의 마리골드(マリーゴールド)이다. 내가 알기로는 꽃 이름 중에도 '마리골드'가 있는 걸로 아는데 같은 의미가 아닐까 생각도 든다. 나도 그랬고 일본노래를 좀 들어 본 사람들은 한 번 쯤은 들어봤을 법한 음악이다. 요네즈 켄시의 Lemon과 더불어서 2018년 J-pop 최대의 히트곡이며, 일본 최초로 음원 스트리밍 1억회를 돌파하였다고 한다. 아이묭을 알기 전 까지는 이게 데뷔곡 인 줄 알았는데 알고보니 메이저 데뷔는 2016년이었다. 본격적으로 유명해지기 시작한 노래가 바로 마리골드이다. 구글 어플 광고의 CM송으로 타이업 되어 더 유명해졌으며, 이 곡으로 홍백가합전에도 출전하였다. 비 오는 흐린날씨 배경의 뮤직비디오를 보면서 비 오는 날에 들어도 괜찮고 맑고 화창한 날씨에 들으면 기분이 상당히 좋아지는 음악이다. 風の強さがちょっと 카제노 츠요사가춋토 바람의 세기가 조금 心を揺さぶりすぎて 코코로오 유사부리스기테

Naver Blog

[파이썬 기초] - 네임스페이스(namespace)와 유효범위(global/nonlocal 명령)

이번에는 파이썬 객체 이름(name)이 바인딩 된 영역을 나타내는 네임스페이스(namespace)와 유효 범위 규칙에 대해 알아보자. 네임스페이스와 유효범위 파이썬 프로그램은 코드 블록(code block)으로 구성되어 있다. 코드 블록은 모듈(module), 함수의 몸체(function body), 클래스 정의(class definition) 등으로 이는 하나의 실행 가능한 파이썬 프로그램 조각들이다. 인터프리터 모드에서 입력한 명령, 파이썬 프로그램 파일(*.py), eval( ), exec( ) 함수의 인자에 전달되는 문자열 또한 파이썬의 코드 블록에 해당된다. 네임스페이스(namespace)는 이름(name)들이 바인딩 되어 있는 영역을 나타낸다. 여기서 이름은 변수 이름, 함수 이름, 클래스 이름, 모듈 이름 등을 나타내는 객체의 이름이며, 네임스페이스는 이름과 바인딩 된 객체의 모임인 사전(dict) 타입 집합체이다. 파이썬은 다음 표와 같이 지역(Local), 전역(Gl

Naver Blog

외모지상주의 범죄, 일본의 초등학교 동급생 살인사건 (네바다땅 사건)

파이썬 공부를 하다가 머리좀 식힐 겸 일본의 야후 재팬을 방문해서 여기저기 둘러보고 있을 때 상당히 흥미로운 기사를 읽었다. 일본어를 잘 이해할 정도의 실력은 없었기 때문에 사이트 전체를 한국어로 번역을 했는데 옛날에 일어났었던 초등학교에서 발생한 동급생 살인사건에 관한 이야기였다. 근데 살인을 한 친구가 굉장히 앳되고 귀엽게 생긴 외모를 가지고 있었다. 한국에서도 마찬가지이고 일본에서도 이 사건을 '네바다 땅' 사건으로 칭하고 있었는데 그 이유에 대해 알아봤다. 사건 개요 사건 당시 신문기사 스크랩 중 일부 2004년 6월 1일에 일본에 위치한 나가사키현 사세보시에서 발생한 살인사건으로 일본에서는 공식적으로 사세보소6 여아 동급생 살해사건으로 불리고 있지만 네티즌들 사이에서는 '네바다땅 사건'으로 대부분 불리고 있고 한국에서도 그렇게 알고 있다. 2004년 6월 1일, 사세보 시립 오오쿠보 소학교 재학생인 츠지 나츠미(辻 菜摘)가 동급생인 미타라이 사토미(御手洗 怜美)의 목을 커터

Naver Blog

世界の終わり(세카이노오와리) - Magic [가사/해석/발음]

이번에 들을 곡은 일본의 4인조 밴드 세카이노오와리의 Magic이라는 곡이다. 이 곡은 본래 하와이안6라는 일본 밴드의 곡인데 보컬인 후카세가 하와이안6에 멜로디만 따고 가사를 바꿔도되냐는 제안에 흔쾌히 OK해서 새롭게 만든 곡이라고 한다. 즉, 리메이크 곡이다. 가사의 내용은 후카세가 초등학생 때 짝사랑한 여자아이에 대한 내용이며, 한 소절만 그 짝사랑에 대한 일화라고 한다. 나머지 가사는 모두 동화같은 가사로 유명한 세카이노오와리 특유의 소설 같은 가사로 채웠다. 본래 Dragon Night 해외 싱글판에 수록된 곡으로 한국에서는 아직 정식 발매가 이루어지지 않아서 멜론, 지니, Flo 등의 음원 사이트에서는 듣지 못하는 곡인데 인터넷 등지를 돌아다니다가 결국 찾지 못했고... 그렇게 희망을 버리려는 찰나에 정체불명의 해외 음원사이트에서 이 곡이 스트리밍 되고 있는 것을 발견했고, 회원가입 후에 구글 이메일 인증을 통해서 mp3 파일을 다운로드 했다. ※ 혹시나 mp3 파일이 필

Naver Blog

[파이썬 기초] - 위치 인자와 키워드 인자

이번에는 함수를 호출 할 때 인자(arguments)를 함수 정의에 있는 매개변수(parameters)로 전달하는 방법에 대해 알아보자. 함수를 호출하면 '매개변수 = 인자'의 지정문 연산에 의해 인자의 값을 매개변수가 참조하게 된다. 이때 나열되는 인자의 순서인 위치를 이용하여 전달할 수도 있으며, 매개변수의 이름을 이용하여 전달할 수도 있다. 즉, 이렇게 인자를 전달하는 방법에는 '위치 인자'와 '키워드 인자'가 있다. 위치 인자 함수 정의 부분의 <매개변수_리스트>에서 매개변수 이름만 있으면 위치 인자 또는 키워드 인자를 전달 받을 수 있다. 매개변수 = value의 공식으로 매개변수의 디폴트(default) 값을 설정한다. 즉, 인자를 생략하여 호출하면 디폴트(default)로 value 값을 갖게 되는 것이다. 디폴트 값이 설정된 매개변수도 함수 호출에서 인자가 있다면, 인자 값이 전달되고 디폴트 매개변수 뒤에는 디폴트 매개변수가 위치할 수는 없다. >>> def polyF

Naver Blog

인간의 본성 - 성선설(性善說)과 성악설(性惡說) 이야기

옛날부터 항상 생각해 왔던 의문들이다. 젊은 청년들이 강도나 도둑을 잡았거나 어려운 사람들을 도와주었다는 훈훈한 기사를 접할 때에는 역시 인간의 본성은 태어날 때 부터 선하다는 성선설을 믿게 되지만, 북한의 독재자 김정은이나 우크라이나를 침공한 러시아의 독재자 푸틴, 혹은 무고한 사람들을 학살하는 기타 이슬람 테러조직 등을 생각해 보면 역시 인간의 본성은 악하다는 성악설을 본능적으로 믿게 되는 경우가 생긴다. 과연 인간의 마음 속에 내재된 본능에는 선한 마음이 깃들어 있을까? 아니면 악한 마음이 깃들어 있을까? 성선설(性善說) 맹자(孟子, 기원전 372 ~ 기원전 289) 중국의 전국시대의 선진 유교 사상가 맹자의 학설에 따르면 인간의 성품은 태초부터 선하게 태어난다고 주장하고 있다. 예로부터 맹자는 공자의 유교 이념을 계승 및 발전시킬 정통 후계자로 공자 다음으로 가는 아성(亞聖)으로 불리곤 했다. 그는 인간의 본성에 대해서는 성선설을 주장했으며, 새로운 왕도(王道) 사상을 개척했

Naver Blog

ZARD - 負けないで(지지 말아요) [가사/해석/발음]

이번에 들을 곡은 ZARD의 대표곡인 負けないで(지지 말아요)이다. 이 곡은 1993년에 발매된 ZARD의 6번째 싱글곡이자, 오리콘 주간 싱글 1위, 월간 차트 1위, 연간 차트로 6위를 기록하며, 일본의 국민 가요로 자리매김한 곡이다. 한국에서도 ZARD의 대표곡을 뽑으라고 하면 이 곡을 얘기할 것이며, 발표될 당시에는 버블경제의 여파로 거품이 빠지고 경기에 침체를 보이고 있을 당시, 일본 국민들의 삶의 질이 현저하게 떨어졌을 때 활기찬 멜로디와 희망찬 가사로 사람들을 북돋아 주었다고 한다. 본래 수험생을 위한 곡이기도 했고 야구 경기장에서 응원가로도 많이 사용되었다. 그리고 1997년에 일본의 교과서에도 실릴 만큼 유명한 곡이다. 나도 이 곡을 거의 15년 전 쯤에 어디서 듣고는 지금까지 무의식적으로 '나나나나나 ~ 나나~ 나나나~' 하면서 흥얼거리는 정도로만 알고 있었는데 일본 음악을 워낙 많이 들어서 그런지 유튜브의 알고리즘의 도움으로 드디어 이 곡을 찾을 수 있게 되었다.

Naver Blog

[파이썬 기초] - 함수의 정의와 호출 및 인자 전달

지금까지 파이썬에서 기본 내장 타입과 조건 제어문, 반복문, 예외처리에 대해 작성했다. 그리고 이번 포스팅을 작성하기 위해 기본적으로 내장된 파이썬의 내장함수(built-in function)를 사용 했었다. 여기서는 사용자 정의 함수(user-defined function)의 정의와 함수 호출, 변수의 유효 범위(scope), 인자(arguments) 전달 방식, lambda 함수 및 기타 내장함수에 대해 작성한다. 함수에 관해서 함수 정의(definition)와 호출(call) 위의 그림은 사용자 정의 함수 add( )의 정의(definition)와 호출(call) 사이의 관계를 표현하고 있다. 함수 이름에 정의된 함수를 호출하고, '매개변수 = 인자'의 지정문 연산에 의해 내부적으로 위치 인자 또는 키워드 인자를 함수 정의 부분의 매개변수로 전달한다. 그러므로 인자는 값을 가져야 하며, 매개변수의 객체는 상수일 수 없다. 함수 정의 부분의 몸체(body) 부분을 실행하고, re

Naver Blog

한국 최초의 여성 연쇄살인범, '박분례 보험 살인사건' 이야기

이번에 유튜브 알고리즘을 통해 '디바제시카'와 '김복준의 사건의뢰'라는 유튜버가 올린 살인사건의 이야기를 봤는데 내용은 "한국 최초의 여성 연쇄살인마 김선자", "한국최초 여성 연쇄살인마 김선자"라는 썸네일을 걸면서 이야기를 진행하는 영상이었다. 하지만 이들이 잘못 알았던걸까? 한국 최초의 여성 연쇄살인범은 김선자가 아니라 '박분례'이다. 심지어 공중파 방송에서 다루는 '심야괴담회'에서도 '최초의 여성 연쇄살인범'이라는 타이틀로 방송을 진행했다. 그래서 이번에 사실을 바로 잡아보고자 이 글을 작성한다. 김선자 사건은 80년대 이지만, 박분례 보험살인 사건은 70년대로 거슬러 올라간다. 사건 전개 당시 신문기사 박분례(3946년 생, 당시 48세)는 당시 정부직할 소속이었던 부산시 진구에 거주했으며, 1973년부터 보험설계사로 일하던 국민학교 동창생으로부터 자신의 남편과 아들, 자신의 명의로 보험을 가입하게 되었는데 조금씩만 돈을 내면 나중에 화재나 교통사고 등을 당했을 때 불입금의

Naver Blog

GLAY(글레이) - However [가사/해석/발음]

이번에 들을 음악은 일본의 4인조 락 밴드인 GLAY의 However 라는 곡이다. 2016년 기준으로 누적 판매량이 3800만 장을 넘는 판매고를 올리고 있으며, 일본 내에서는 역대 8위를 기록하고 있을 만큼 대중적으로도 유명한 밴드이다. 한국에서는 X Japan과 라우드니스, Zard와 같이 올드 일본밴드 팬들이라면 알고 있는 밴드이다. 한국에서는 X Japan이나 라르크 앙 시엘(L'Arc~en~Ciel) 만큼 큰 인기를 얻은 밴드는 아니지만 90년대에서 2000년대 초반 한국의 락 발라드 음악을 들어보면 GLAY의 음악에 영향을 받은 곡들이 주로 보인다. 일본을 제외한 전 세계적인 락 트렌드와는 거리가 먼 음악적 스타일 때문에 한국에서 GLAY의 음악을 주로 표절한 사례가 많다는 것이 알려지면서 한국에서도 조금씩 인기가 올라가기 시작했다. 그리고 X Japan과도 인연이 깊은 밴드인데 과거 인디즈 시절에 이들의 공연을 지켜본 히데와 요시키의 눈에 들기 시작하면서 엑스터시 레코

Naver Blog

[파이썬 기초] - 실행 중의 에러를 처리하기 위한 예외 처리(Exception Handling)

이번에는 for과 while 반복문을 끝내고 파이썬에서 알 수 없는 문제 혹은 코드 오류로 실행 중에 발생되는 에러를 처리하기 위한 예외 처리(Exception Handling)에 대해 알아보자. 예외 처리 파이썬 프로그램은 문법 오류(SyntaxError)가 없을 때 정상적으로 코드가 실행된다. 그러나 다양한 원인에 의해 실행 도중에 비정상적인 예외(Exception)가 발생하여 프로그램이 종료될 수 있다. 예를 들자면, 수식에서 존재하지 않는 변수를 호출할 경우에 발생되는 NameError 예외, 타입이 매칭되지 않는 연산을 시도할 경우에 발생되는 TypeError 예외, 특정 숫자를 0으로 나눴을 때 발생하는 ZeroDivisionEerror 예외, 시퀀스 객체에서 데이터의 범위를 벗어나는 인덱싱을 시도할 경우에는 IndexError 예외가 발생하면서 프로그램을 종료시키게 된다. 이처럼 예외에도 다양한 종류의 예외가 존재하는데 파이썬은 이러한 예외가 발생했을 때, try 명령을

Naver Blog

K-Pop을 벤치마킹한 한-일 합작 걸그룹 'XG' 이야기

그 전의 포스팅에서 AV 배우로 구성된 K-pop 걸그룹인 허니팝콘에 대해 정보를 조사하다가 우연히 발견한 K-pop을 벤치마킹하여 한-일 합작으로 제작되었다는 일본의 걸그룹인 'XG'에 대해 찾아봤다. 프로필 및 소개 왼쪽부터 하비, 코코나, 치사, 주린, 쥬리아, 히나타, 마야 이름 : XG(엑스지) 데뷔 : 2022년 3월 18일, 싱글 1집 <Tippy Tose> 장르 : 힙합, R&B 리더 : 주린 소속사 : XGALX K-pop을 벤치마킹한 한-일 합작 걸그룹인 XG는 2022년 3월 18일에 데뷔한 XGALX 소속의 7인조 글로벌 걸그룹이다. 팀명인 XG는 'Xtraordinary Girls'의 약자로 비범하고 특별한 소녀들을 의미하며, 음악을 통하여 전 세게예 용기와 응원을 전하겠다는 포부의 뜻도 담겨져 있다. 댄스 퍼포먼스 영상 멤버 전원이 춤 실력이 완벽하여 구멍이 없다는 것이 특징이며, 강렬한 칼군무로 임팩트를 제대로 남겼다. 한국에서 제작한 일본 걸그룹이라면 이

Naver Blog

Mr.Children(미스터칠드런) - Tomorrow Never Knows [가사/해석/발음]

이번에 들을 곡은 1994년 11월에 발매된 일본의 4인조 밴드인 미스터칠드런의 Tomorrow Never Knows이다. 본래 Tomorrow Never Knows하면 비틀즈 노래를 먼저 떠올려서 이 밴드가 리메이크를 했나 생각을 했지만 전혀 다른 노래였다. 우선 이 곡은 발매 3주 만에 100만 장을 돌파하면서 최종 판매량 276만 장이라는 경이로운 판매고를 올리게 되었다. 일본에서는 국민 가요 반열에 올랐지만 배우 기무라 타쿠야가 멤버로 있었던 일본의 국민 아이돌인 SMAP의 세상에 하나 뿐인 꽃(世界に一つだけの花)에 잡히면서 오리콘 역대 싱글 판매량 8위로 떨어졌다. 공교롭게도 이 곡은 기무라 타쿠야 주연의 1994년 후지 TV 드라마 '젊은이의 모든 것'의 주제가로 타이업 되어서 알려졌으며, 보컬인 사쿠라이 카즈토시가 공원에서 조깅을 하면서 생각나서 가사를 썼고, 작곡 과정에서는 사쿠라이가 생각한 멜로디와 편곡 담당인 고바야시 타케시가 생각한 멜로디 코드의 일부가 우연히 겹

Naver Blog

[파이썬 기초] - for 문에 이은 또 다른 반복문인 while 문

이번에는 for 문에 이는 파이썬의 또 다른 반복문인 while 문에 대해 알아보자. while 문 while 문 흐름도(flowchart) while 문은 <조건 수식>이 참(True)으로 유지되는 동안 <문장 몸체 1>을 반복적으로 수행하는 구조를 가지고 있다. C/C++, Java와는 달리 파이썬의 for 문과 마찬가지로else 부분이 존재하며, else 부분이 존재한다면 <문장 몸체 2>를 실행하고 while 반복문을 종료하게 된다. 그리고 else 부분은 마찬가지로 생략이 가능하다. for 문과 마찬가지로 <문장 몸체 1> 내부에는 break, continue 명령을 사용할 수 있으며, 기능 역시 for 문과 동일하다. 그러나 for 문과의 차이점이라면 for 문은 루프를 돌릴 반복의 횟수가 정해져 있을 때 사용이 가능하며, while 문은 사용자에게 무한의 선택지를 줄 수 있을 때 즉, 프로그램이 종료될 때 까지 반복의 횟수가 일정하게 정해져 있지 않을 때 사용할 수 있다

Naver Blog

하모니카 OS의 libreoffice에서 한글(*.hwp) 파일 확인하기

이번에 회사에서 협력 직원들에게 작업 일정과 체크리스트를 참고하라고 준 문서를 봤는데 파일이 hwp 확장자를 가진 파일이었다. 윈도우 운영체제를 사용하는 회사 PC에서는 뷰어를 사용해서 확인할 수 있지만 개인용 PC는 하모니카 OS를 사용하고 있기 때문에 이걸 어떻게 확인할 지 고민하다가 한 가지 방법을 찾게 되었다. 그 방법은 리브레오피스의 확장기능을 이용하여 한글 문서를 볼 수 있게 공개된 깃허브를 참고했는데 또 다른 하모니카 유저가 해당 깃허브의 이슈로 문의하여 배포판에 포함해서 배포해도 좋다는 답변을 받았다고 한다. 그 내용을 확인 후 데비안 패키지로 패키징을 했는데 5.0 Hanla 버전에서도 사용할 수 있는지도 살펴봤다. 설치 및 확인 GitHub - k2webtech/hwp2odt: LibreOffice extension that import hwp file and present in OpenDocumentText format. LibreOffice extension t

Naver Blog

AV배우로 구성된 K-pop 걸그룹 '허니팝콘(HONEY POPCORN)' 이야기

때는 2019년 겨울 쯤으로 생각된다. 나는 현재 부산에서 일을 하고 있지만 본사가 서울에 있어서 4박 5일간 서울에 출장을 다녀왔던 적이 있었다. 첫날의 업무를 끝나고 근처 모텔에서 숙식을 하고 자기 전에 침대에 누워서 TV를 켰는데 그때 채널 이름이 자세히 기억나진 않지만 '플레이보이'라는 채널로 기억하고 있다. 성인 채널이었는데 그거 틀고 자려고 누웠는데 한 걸그룹의 뮤직비디오가 나왔다. 근데 멤버 중에 센터에서 춤을 추고 있던 여자를 어디서 많이 봤다고 생각했는데 알고보니 AV 배우 미카미 유아였다. 유창한 발음의 한국어로 노래를 부르고 있길래 "한국에 데뷔했나...?" 라고 생각을 했는데 실제로 데뷔를 하고 발매한 음반을 가지고 활동을 했었다고 한다. 그래서 생각난 김에 이번에 그 그룹에 대해 자세하게 찾아봤다. 프로필 좌측부터 사쿠라 모코 / 미야세 나코 / 미카미 유아 / 이즈미 사라 / 타지마 루카 팀명 : 허니팝콘(HONEY POPCORN) 데뷔일 : 2018년 3월

Naver Blog

X Japan(엑스재팬) - Say Anything [가사/해석/발음]

이번에 들을 곡은 일본의 5인조 락 밴드 X Japan(엑스재팬)의 Say Anything이다. 이 곡은 1991년 12월에 발매된 8번째 싱글이자 Jealousy에 수록된 곡으로 한국에서는 Endless Rain 다음으로 유명한 킬링 발라드곡이다. 또한 아시아 최고의 베이시스트인 타이지가 마지막으로 참여한 곡이다. 한국에서는 Endless Rain에 묻힌 감이 있지만 난 개인적으로 Endless Rain보다는 이 곡을 더 선호한다. 우선 가사의 내용 또한 자살한 요시키의 아버지에 대한 그리움이 묻어나며, 기존의 긁는 스크래치 창법을 사용하던 토시의 보컬 창법이 이 앨범을 기점으로 바뀌어서 오히려 더 듣기가 좋았다. Endless Rain과 마찬가지로 비 오는 날 들으면 분위기가 너무 좋으며, 잡다한 생각이 많아 졌을 때 이 곡을 여러번 듣고 있다. 騒めきだけが心を刺して 자와메키다케가 코코로오사시테 인파 속의 웅성거림만이 마음을 짓누르고 聞こえない胸の吐息 키코에나이 무네노토이키 들을

Naver Blog

[파이썬 기초] - 주어진 조건에 따라 일정 횟수를 반복하는 반복문 for

이번에는 초심자들이 프로그래밍 언어를 배우면서 한 차례 고비가 온다는 반복문에 대해 알아보자. 파이썬에서 반복문은 for과 while 두 종류가 있다. for 문 같은 경우에는 주로 순서가 존재하는 시퀀스 타입들과 많이 쓰이는데 그 중에서 range 타입과 가장 많이 쓰인다. for 문과 range 타입이 만나면 주어진 데이터를 하나씩 반복적으로 꺼내는 기능을 한다. for 문 프로그래밍 언어에서 for 문은 주어진 조건에 따라 일정 횟수만큼 반복할 때 사용하는 반복문인데 파이썬에서 for 문은 반복이 가능한(iterable) 객체의 데이터(item)에 대해 반복 처리를 하기 위한 목적으로 사용된다. 여기서 반복이 가능한 객체는 시퀀스 타입과 집합(set), 매핑(dict), 열거 타입(enumerate) 객체, 제너레이터(generator) 함수 등의 이터레이터(iterator, 반복자)를 갖는 객체이다. for 문의 흐름도 위의 이미지는 for 문의 일반적인 흐름도(flowcha

Naver Blog

[파이썬 기초] - 이터레이터 관련 내장 함수 및 break와 continue 명령

저번 포스팅에 이어서 이번에도 반복문에 대해 작성하는데 여기서는 시퀀스 타입을 인자로 받아서 이터레이터 객체를 생성하고 데이터를 반환하는 내장 함수와 특정 조건이 만족되면 반복문을 빠져나오는 break 명령 및 특정 조건이 만족되면 반복의 시작으로 다시 리턴하는 continue 명령에 대해 작성한다. 이터레이터 관련 내장 함수 break, continue 명령에 들어가기 전에 우선 이터레이터 관련 내장 함수부터 살펴볼텐데, 여기서는 iter( ), next( ), enumerate( ) 함수가 있다. iter( ) 함수는 객체에 대한 이터레이터(iterator, 반복자)를 생성하고, next( ) 함수는 이터레이터로부터 생성된 데이터를 반환한다. enumerate( ) 함수는 반복이 가능한 객체의 각 데이터에 번호를 순서대로 부여하여 튜플로 반환하는 열거 타입의 객체를 반환하는 함수이다. iter(object[, sentinel]) next(iteratorp, default]) en

1 2 3 4 5 6 7 8 9 10