목록전체 글 (31)
밤하늘공작소
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vABly/btrJpNCYe5h/YHVuAokBRSwXdZvcZdZUvK/img.png)
세계역사이야기 오디오북 사이트사용한 기술 : Django(python), Javascript( + Django Template)사용한 패키지(app) : django-widget-tweaks, django-allauth추가 사용 : djang generic view, media(static)Hosting : Pythonanywhere 최근에 어머니가 진행하는 세계역사이야기(한글판)를 읽고 정리하는 수업을 듣고 있습니다. 그러던 도중 어머니가 세계역사이야기 오디오북을 들을 수 있는 오디오북 사이트를 만들어 보는 것이 어떻겠냐는 제안으로 웹사이트를 만들게 되었습니다. 수업을 듣고 계신 분들 중에서 오디오북 성우를 모집해 녹음 파일을 받았습니다. 웹사이트에서는 녹음 파일을 업로드(관리자 계정으로만)와 듣기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNsZNa/btrHTXVjF6L/crWpBzBujB0LVLj9aecI11/img.png)
python에서 문자를 잘라야 할 때가 있습니다. 이런 것은 "split"으로 할 수 있습니다. 우선 이러한 코드를 적어보겠습니다. name = "Kim, Dong Hyun" print(name.split(",")) 이것은 ['Kim', ' Dong Hyun'] 이 출력됩니다. 문자열이 ", "를 기준으로 잘려서 배열에 나오게 됩니다. 그래서 만약 이 뒤에 첫번째 값을 출력하게 하는 코드를 바꾸게 된다면, 성만을 출력하게 할 수 있습니다. 이를 좀더 활용해서 배열로 오는 모든 이름들의 성을 출력해보겠습니다. names = ["Kim, Dong Hyun", "Lee, Hyun Woo"] for name in names: print(name.split(",")[0]) 간단한 for in 문을 사용해서 ","..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IAdWp/btrGZLtY3Y7/GEzp19rvyH4yBUPHP9rQTK/img.png)
python에서는 리스트를 많이 활용합니다. 하나의 값이 아닌 여러 가지의 값을 변수에 넣고 싶을 때 사용합니다. 이러한 리스트를 활용할 때 사용할 수 있는 팁을 드리겠습니다. 1. 리스트 값 존재 여부 확인 실제로 우리가 알아서 리스트 안에 값이 있는지 확인하는 코드를 만드는 것은 힘듭니다. for 또는 while 문을 이용해 리스트의 길이만큼 반복하는 반복문을 만들고, 그곳에서 찾고 있는 값이 있다면, True를 없다면 False를 리턴하게 해야 합니다. 물론 함수로 저장해놓으면, 계속 사용할 수 있지만, 그렇게 할 필요가 없습니다. python에서는 "in"이라는 것이 있습니다. 이러한 코드를 적어보겠습니다. numbers = [1, 3, 5, 7, 9] print(3 in numbers) prin..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsxZ6i/btrGs0Etjrk/2dXUJbi4oQmHCnOY8UeqOk/img.jpg)
마이크로소프트에서 아시아 리전 매니저로 일하고 있는 이소영 이사가 여러 IT 커뮤니티 리더들을 만난 경험으로 지은 책이다. 이제 4차 산업 혁명의 시대를 이끌어갈 커뮤니티 리더들을 소개한다. 결국 살아남는 사람들은 큰 흐름을 읽으려 노력하고 유연하게 자신을 변화시키며 대처하는 사람들이라고 볼 수 있다. 그리고 이런 사람들은 끊임없이 자신과 공동체의 성장을 위한 공부를 멈추지 않는다는 공통점이 있다. 하지만 답이 정해져 있는 공부를 홀로하지 않는다. 실에서 현장에 있는 사람들과 함께한다. 그것도 내가 먼저 열심히 배워서 남 주기 위한 공부를 봉사하는 마음으로 오랫동안 지속한다. 결국 살아남는 사람들은 변화에 유연한 사람이다. 변화에 대처하기 위해 공부를 멈추지 않는다. 그저 자신의 분량을 공부하는 것이 아..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ndXLM/btrFXYArGAu/RGKLgSwQX41xvTbIyk75o1/img.png)
python에서는 포맷팅이라는 것을 제공해줍니다. 한 번 예를 들어보겠습니다. year = 2022 month = 6 day = 28 print("오늘은 " + str(year) + "년 " + str(month) + "월 " + str(day) + "일이다.") 이러한 코드가 있습니다. 여기에서 year와 month, day는 숫자형이기 때문에 그냥 문자에 더하면 에러가 납니다. 그렇기 때문에 문자형으로 변환한 후에 더해주어야 합니다. 그런데 더해주게 되어도, 띄어쓰기를 신경을 써야 되기 때문에 힘들고, 코드가 더러워질 수 있습니다. 그럴 때 포맷팅을 사용하는 것입니다. 위와 똑같은 코드를 적어보겠습니다. year = 2022 month = 6 day = 28 print("오늘은 {}년 {}월 {}일이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bf00lB/btrFunHFHdd/mjF4RrjUVIgwFQeMbokLo0/img.png)
이전 글 : KAIST 사이버 영재교육 후기 KAIST 사이버 영재교육에서 사물인터넷 강의를 들었습니다. 사물인터넷은 python에 대한 기초 지식이 있는 학생을 대상으로 하므로, 기본적인 python 문법을 알고 들어야 합니다. 보니 그냥 "사물인터넷"이라는 이름을 보고 온 많은 학생들이 많이 나간 것 같습니다. 그래서 어떤 학생, 연령이 대상인지 강의 계획서를 확인하시고, 신청하시기 바랍니다. 사물인터넷은 아두이노가 아닌 라즈베리파이와 파이썬으로 진행됩니다. 학습을 하고 그 학습에서 연결되는 "과제"와 E-Book에서 제시한 하나의 목표를 보고 자신의 힘으로 그 목표를 이루어내는 "탐구과제"가 있습니다. 확실히 목표만 보고 자신의 힘으로 목표를 이루는 "탐구과제"가 더 어려웠습니다. 과제 제출은 사진..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bVJqA8/btrFqrRndci/ZhbTf3yO6UipKIk4cf4Lp0/img.png)
2022년 상반기(1학기) 카이스트 사이버 영재교육에서 사물인터넷을 수강하였습니다. 저는 SW에 관심이 있어 사물인터넷을 수강하였습니다. KAIST 사이버 영재교육에서는 유튜브 영상 강의, 현장에서 선생님이 가르쳐주는 강의 등이 아니라 E-Book으로 코드 및 예시가 있습니다. 그것으로 학습을 하고, 제출기간까지 과제를 자신의 힘으로 풀어나가는 방식으로 진행됩니다. 정기적으로 줌에서 만나 KAIST 학생이신 튜터님에게 질문을 하는 시간이 있습니다. 또 과목별로 classum 공간을 만들어 그곳에 부담 없이 질문, 답변, 노트를 남길 수 있습니다. KAIST 사이버 영재교육은 다른 영재교육과는 달리 누구나 지원이 가능합니다. 초·중·고등의 수·과학, SW 기초, SW 심화, AI 기초, 로봇 등이 있습니다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cvzDWi/btrE5fkAKOs/0cos15h4cNp0sMl0ig5NK1/img.png)
python에서는 형 변환을 해야 할 상황이 생깁니다. 예를 들면 넘어온 값으로 숫자가 문자형으로 오는 경우 그것으로 숫자 연산(+ - * /)을 할 수 없고, for 등에서 사용할 수 없습니다. 문자를 숫자형으로 바꾸는 방법은 문자를 int()로 감싸는 것입니다. first = "1"second = int("2")print(type(first))print(type(second))이 코드를 실행하면 과 가 차례대로 나올 것입니다. first라는 변수에는 그냥 문자 1을 저장하고, second에는 숫자형으로 변경된 문자 2를 저장했습니다. 그래서 서로의 형이 다른 것입니다. 주의할 점은 이 코드와 같이 논리적으로 말이 되지 않는 것을 숫자로 변경하려고 하면 Value Error가 난다는 것입니다.fi..