오늘은 파이썬의 기초를 공부했습니다.

 

1. 슬라이싱 : 문자열의 일부를 가져오는 것

juminNum = "830276-1234569"
print(juminNum[:][2:6][-2])

=> 7

위 코드의 결과는 7입니다. 

juminNum[:]은 830276-1234569, 즉 문자열 전체를 가져오고

juminNum[:][2:6]는 juminNum[:]의 [2:6]에 해당하는 0276을 가져옵니다.

juminNum[:][2:6]는 0276의 인덱스 -2 값은 7입니다.

 


 

2. 대소문자

Word = "PYthon3"
WORD = Word.upper()
word = Word.lower()
print(Word, WORD, word)

=> PYthon3 PYTHON3 python3

여기서 두가지 사실을 알 수 있습니다.

1. upper와 lower 명령어를 통해 문자열을 대문자와 소문자로 변경할 수 있다.

2. 파이썬의 변수는 대소문자를 구분한다.

 


 

3. 문자열 변경 : 대부분의 문서 편집 툴에 있는  "찾기 및 대치"에 해당

word = "apple"
word = word.replace("p", "q")
print(word)

=> aqqle

 


4. 파이썬에서의 메모리 관리 방식

더보기
더보기

파이썬의 데이터 저장과 변수 바인딩

핵심 개념

1. 변수는 상자가 아니라 '라벨(이름표)'이다

파이썬에서 변수는 데이터를 직접 담는 상자가 아니에요. 메모리 어딘가에 있는 데이터 객체에 붙이는 이름표 같은 거죠.

word = 'apple'  
# 'apple'이라는 문자열 객체가 메모리 어딘가(주소: 4373983536)에 생성됨
# word는 그 객체를 가리키는 이름표

코드 분석

# 1단계
word = 'apple'
print(id(word))  # 4373983536
# 메모리에 'apple' 객체 생성, word가 이를 가리킴

# 2단계
word = word.replace("p", "q")
print(id(word))  # 4378922672 (주소 변경!)
# 'apple'은 불변 객체라서 수정 불가
# 'aqqle'이라는 새로운 객체 생성
# word가 새 객체를 가리키도록 재바인딩

# 3단계
word = 'apple'
print(id(word))  # 4373983536 (원래 주소로 복귀!)
# 파이썬이 이미 메모리에 있는 'apple' 객체를 재사용
# 이것이 "문자열 인터닝(String Interning)"

# 4단계
word = 'banana'
print(id(word))  # 4378922288 (다른 주소)
# 'banana'는 새로운 객체이므로 다른 주소

# 5단계
word = 'apple'
print(id(word))  # 4373983536 (다시 같은 주소!)
# 또다시 기존 'apple' 객체 재사용

중요한 특징들

1. 문자열은 불변(Immutable)이다

word = 'apple'
# word[0] = 'A'  # 에러 발생! 문자열은 수정 불가
word = 'Apple'   # 새로운 객체 생성 후 재바인딩만 가능

2. 문자열 인터닝 (String Interning) 파이썬은 같은 문자열을 여러 번 만들지 않고 재사용해요. 메모리 절약을 위해서죠.

a = 'apple'
b = 'apple'
print(id(a))  # 4373983536
print(id(b))  # 4373983536 (같은 주소!)
print(a is b)  # True (같은 객체를 가리킴)

3. 재바인딩(Rebinding) 변수에 새 값을 할당하면 다른 객체를 가리키게 돼요.

word = 'apple'   # word → 'apple' 객체
word = 'banana'  # word → 'banana' 객체 (다른 객체!)

시각적 이해

메모리 상황:

[주소: 4373983536]  'apple' ◄── word (1단계, 3단계, 5단계)
[주소: 4378922672]  'aqqle' ◄── word (2단계)
[주소: 4378922288]  'banana' ◄── word (4단계)

실습으로 확인하기

# 여러 변수가 같은 객체를 가리킬 수 있음
a = 'hello'
b = 'hello'
c = 'hello'
print(id(a), id(b), id(c))  # 모두 같은 주소!

# 리스트는 가변(mutable)이라서 다르게 동작
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(id(list1), id(list2))  # 다른 주소!

핵심 정리

  1. 변수 = 이름표: 변수는 객체를 가리키는 참조일 뿐
  2. 문자열 = 불변: 수정하면 새 객체 생성
  3. 인터닝: 같은 문자열은 재사용됨
  4. id(): 객체의 메모리 주소(정체성)를 반환

 

오늘은 이곳 티스토리 블로그를 카페24에서 구매한 도메인과 연결해보았습니다.

후이즈, 가비아 등 다른 도메인 제공업체의 메뉴에도 'DNS관리 - CNAME 설정' 하는 항목이 있을 것입니다.

 

 

 

카페24는 이렇게 입력

 

 

 

티스토리 설정화면에서 '관리-블로그-개인 도메인 설정'에서 'www.구매한도메인' 를 입력

 

 

www.ashosho.com 으로 접속해보니 문제가 있네요.

 

 

카페24로 다시 들어가보니

30분에서 1시간 정도 걸린다길래 다른걸 하면서 시간을 보냈습니다.

 

 

 

 

하지만 30분 기다릴 한국인은 없겠죠?

2분 뒤에 다시 접속해보니 이렇게 나오네요.

그리고 주소창을 보니,

 

https에 취소선이 그어져있길래 s를 빼고 http://www.ashosho.com을 입력하니 잘 접속됩니다.

http와 https의 차이는 무엇일까요.

http는 웹사이트와 사용자간에 데이터를 주고받는 프로토콜이고 https는 여기에 암호화 기능을 더해 보안을 강화한 것입니다.

라고 하는데 기술적인건 솔직히 잘 모르겠고,

 

중요한 것은

1. 보안을 위해 https로도 접속이 가능해야 한다는 점.

2. 그러기 위해선 인증을 받아야 한다는 점.

입니다.

 

 

다시 티스토리 블로그 설정화면으로 들어가봅니다.

 

보안 접속 인증서가 발급 대기 중인에 발급을 받으면 https로도 접속이 가능할 것 같습니다.

보안 접속 인증서를 

그런데 몇 시간에서 7일 가량 소요가 된다니...사람이 직접 하는 것일까요??

 

 

 

넷플릭스에서 피지컬 아시아를 한 편 보고 나니 발급이 완료되었습니다.

참고로 인증서 발급의 주체는 티스토리(카카오)입니다.

 

발급 완료 메세지를 확인하고 https://www.ashosho.com으로 접속하니 잘 되네요. 

그런데 문제가 있습니다.

주소창에 그냥 ashosho.com이라고 치면 접속이 안됩니다.

원인을 찾아보니 위사진(티스토리 블로그 설정)에서 개인 도메인이라고 되어 있는 부분에 www.를 붙이면 안되는거였네요.

www를 적지 말았어야 합니다.

 

그래서 수정을 하려고 했더니 등록이 하루에 한번만 가능하다고 하네요.

이 글은 일단 임시저장 해놓고 내일 수정 후 다시 써야겠네요.


 

다음 날은 아니고 밤12시가 지나서 바로 수정을 했습니다.

드라마 한편 보고 나니 발급이 완료되어 있네요. 

드라마를 보면서 틈틈이 확인를 했는데 대략 1시간 정도 걸린 것 같습니다.

 

 

이제 주소창에 ashosho.com이라고 입력하면 바로 이곳 블로그로 연결이 됩니다.

정리하면

1. 도메인 업체에서 마음에 드는 도메인을 구매한다.
2. 도메인 업체에서 CNAME을 설정한다.
3. 티스토리 설정 화면에서 개인 도메인을 등록한다.
4. 보안 접속 인증서가 발급될 때까지 잠시 기다린다.
5. 주소창에 구매한도메인명을 입력하여 테스트 해본다.

 

 

 

Black Messiah(2014)

 

얼마 전 디안젤로가 죽었다는 소식을 들었습니다.

더 이상 그의 새 음악을 들을 수 없다는 사실이 너무 안타깝네요.

불과 얼마 전에도 'Black Messiah'(2014)를 들으면서

'아니, 이거 나온지가 벌써 11년 전이라고?' 라는 생각을 했었는데.

 

Black Messiah는 그의 두번째 앨범인 Voodoo(2000년) 이후 14년 만에 발표된 것입니다.

무려 14년입니다...부두는 1월, 블랙메시아는 12월에 발매되었기 때문에 15년만이라고 봐도 되겠네요.

오랫동안 그의 새 음악을 기다렸기 때문에

앨범을 듣기도 전에 앨범이 나왔다는 사실만으로 감격했던 기억이 납니다.

 

Voodoo(2000)

 

Voodoo는 처음들었을 때부터 지금까지 꾸준히 듣는 인생 앨범 중 하나인데

이 앨범이 더 특별한 이유는 제 군생활의 BGM이었기 때문입니다.

입대 후 훈련소에서 야간행군을 할 때

머릿속에서 feel like makin' love가 끊임없이 재생되었습니다.

왠지 모르게 계속 그 노래가 맴돌았습니다.

인생에 첫 행군이라 많이들 힘들어하고 심지어 낙오하는 사람도 있었는데

전 내적 그루브를 타면서 기분이 꽤 좋았습니다.

혼자 딴세계에 있는 것 같은 느낌이랄까.

 

20대 초반의 저는 밴드 음악에 심취해 있었고

힙합/알앤비는 거의 안들을 때였는데

왜 이 앨범의 음악들이 계속 생각이 났는지...

 

 

사실 밴드음악은 군대와 굉장히 궁합이 좋아서

군생활을 더 몰입하게 효과가 있고, (매드맥스에 괜히 기타리스트가 나오는게 아닙니다.)

저는 개인적으로 그것을 굉장히 경계했습니다.

 

Voodoo를 들어본 사람은 공감할텐데

이 앨범 전체를 관통하는 바이브는

대한민국 군생활의 정서와는 매우 어울리지 않습니다.

그래서일까요. 이 앨범이 가진 그루브와 간지는 

저와 제 원래의 세계를 잇는 끈이자

부조리한 관습에 물들지 않게 하는 부적 같은 것이었습니다.

'한 개인으로서의 나'의 정체성을 유지하는데 매우 중요한 역할을 했죠.

 

다시 한 번 정확히 말씀드리면 실제로 음악을 들은 것은 아닙니다.

지금은 어떤지 모르겠지만 20년 전에는 군대에서 자유롭게 음악을 들을 수 없었습니다.

그저 빨래를 널거나 전투화를 닦을 때처럼 조금이라도 멍 때릴 시간이 있으면

살짝 레이백된 리듬속으로 되뇌였을 뿐이죠.

 

 

고인의 명복을 빕니다.

평안하시길.

사이트를 어떻게 쉽게 만들 수 있을까 찾아보다가 framer를 알게 되었습니다.

튜토리얼 영상을 보니 어렵지 않게 따라 할 수 있을 것 같아 우선 이걸로 사이트를 만들어보기로 했습니다.

https://www.youtube.com/watch?v=a4u_8uYQ0_w&t=1816s

 

저는 이 영상을 보고 따라 해봤습니다.

설명이 상세하면서도 군더더기가 없어 좋습니다.

 


 

중간에 로고를 삽입하는 과정이 있어서 이왕 하는 거 로고까지 만들어봤습니다.

제가 직접 만들 능력은 없어서 챗지피티한테 만들어달라고 했고, 결과물을 이미지 편집 프로그램으로 수정했습니다.

 

ChatGPT한테 만들어달라고 한 로고. 세상 참 좋아졌네요.

 

 

배경을 지우고 png로 저장

 

편집 프로그램은 오랫동안 포토샵을 쓰다가 구독료에 비해 사용량이 너무 적은 것 같아 구독을 취소하고,

pixelmator pro로 갈아탔습니다.

어도비 제품군의 구독료가 취미로 즐기기엔 부담되는 수준이라 다른 대체 프로그램을 찾으시는 분들이 있는데,

이미지 편집에 관해 가장 많이 언급되는 것은 어피니티 포토와 픽셀메이터 프로입니다.

 

어피니티 포토는 보다 포토샵과 비슷하고 픽셀메이터 프로보다 더 고급 기능을 사용할 수 있는 반면

픽셀메이터 프로는 초보자가 사용하기에 더 쉽고,

특히 작년 애플의 인수로 익숙한 UI라던가 향후 지속적인 업데이트 및 기기 호환성의 측면에서 더 유리한 점이 있습니다.

 

저는 픽셀메이트 프로를 $ 49.99에 구매하였고 얼마간 사용해 본 결과 매우 만족합니다.

(그동안 어도비에 지불한 금액이 아깝더군요.)

저처럼 포토샵을 이미지 트리밍이나 색상보정, 잡티제거 정도로 사용하던 분들에겐 좋은 선택인 것 같습니다.

 


google font라는게 있는지도 처음 알았습니다.

오픈소스 폰트라 블로그나 웹사이트, 상업적 프로젝트도 자유롭게 사용이 가능하다고 하네요.

구글폰트 사이트의 화면

 

한글폰트를 다운받기 위해 필터에서 한글을 선택하려고 하는데 writing system과 language. 이렇게 두 개의 옵션이 보입니다.

둘의 차이는 다음과 같습니다.

 

  1. Writing system (쓰기 체계):
    • 이것은 글자를 표현하는 근본적인 문자 체계나 방식을 의미합니다.
    • 예를 들어, 라틴 문자(Roman script), 키릴 문자(Cyrillic script), 아랍 문자(Arabic script), 한글(Hangul), 한자(Han characters) 등이 이에 해당합니다.
    • 특정 언어를 모두 포함할 수 있는 더 넓은 범주라고 볼 수 있습니다.
  2. Language (언어):
    • 이것은 특정 언어를 의미하며, 해당 언어를 표기하는 데 사용되는 문자(Writing system)를 기반으로 합니다.
    • 예를 들어, Writing system이 '라틴 문자'라면, Language는 '영어(English)', '스페인어(Spanish)', '프랑스어(French)' 등이 될 수 있습니다.
    • 각 언어는 해당 언어 고유의 특수한 문자(예: 프랑스어의 'é', 독일어의 'ü')나 구두점 규칙을 포함할 수 있습니다.

 

한글은 다른 문자에서 파생된 것이 아니라 독자적으로 개발되었기 때문에 둘 중 어떤 것을 선택해도 상관없지만

일반적으로는 language 옵션에서 원하는 언어를 선택하면 됩니다.

 

 


 

강의 영상은 1시간 41분짜리인데 멈춰서 따라하고, 로고도 만들고, 이해가 안되는 부분을 몇 번 반복해서 봤더니

영상 40분을 보는데 4시간이 걸렸습니다.;;;

시간이 늦어서 오늘은 여기까지 해야겠네요.

'컴퓨터 학습노트' 카테고리의 다른 글

파이썬의 자료구조 (리스트)  (1) 2025.11.04
python의 기초  (0) 2025.11.03
사진 포트폴리오 사이트 만들기 -0  (0) 2025.10.27

저는 사진을 찍는 취미가 있습니다.

웹개발을 배우고 싶다는 생각을 한 것은 사진을 올릴 사이트를 제 손으로 만들고 싶었기 때문입니다.

 

사실 개인 사이트는 20년 전에(저는 현재 40대 초반입니다.) 만들어본 적이 있습니다.

드림위버와 제로보드로 만들었었고 주로 일기를 썼습니다.

그런데 시간이 지날수록 예전에 썼던 글은 낯 뜨거운 것이 되었고, 결국 감추듯이 사이트를 닫았습니다.

(그래도 썼던 것이 아까워 DB를 따로 저장해놨는데 컴퓨터를 몇 번 바꾸는 와중에 유실되었네요.)

블로그도 한동안 하다가 닫고, 이후로는 인스타를 몇 년째 하고 있습니다.

 

쓰고 지우는걸 반복하기 싫어 인스타엔 사진만 올렸는데 어느덧 게시물은 1000개를 육박하게 되었고,

이제 예전 사진을 보려면 끝도 없이 스크롤을 해야 하는 불편, 다들 잘 아실 겁니다.

인스타그램은 확실히 아카이브 용도로는 적합하지 않죠.

 

그래서 사진을 정리할 다른 공간을 마련해야겠다 생각했는데

네이버나 티스토리 같은 블로그를 이용할 수도 있지만

저는 좀 더 자유롭고 멋진 디자인을 원했습니다.

그래서 아-주 오랜만에 홈페이지를 만드는 방법을 알아보니 예전과는 많은 게 달라졌더군요.

이제는 웹개발이라고 불리며 개발에 필요한 기술 스택 로드맵이 무려....

 

 

이걸 모두 해야 할 필요는 없겠지만.....

 

물론 복잡한 기능이 필요 없는 개인 블로그 수준의 사이트는 클릭 몇 번으로 뚝딱 만들어지기도 합니다만

대AI시대에 개발을 배워두는게 나쁘지는 않겠다 싶은 생각도 들고,

또 뭐든 배우다 보면 욕심이 나는게 사람 마음 아니겠습니까.

 

어쨌든 저 로드맵을 순서대로 따라가기보다는

우선 쉽고 단순한 프로젝트를 완성시키고,

이후 좀 더 다양한 기능을 덧붙이며 필요한 지식을 섭렵하는 방향으로 나아가는 것이

취미로 배우는 저에겐 더 맞는 방식이 아닐까 싶습니다.

 

앞으로 이곳엔 공부한 내용과 개발 과정을 꾸준히 기록할 예정입니다.

 

+ Recent posts