본문 바로가기

Professional Development

엑셀에서 파이썬

무엇을 어떻게 배우게 될까.

 

내가 보는 강의 

 

어쩌다, 파이썬

어쩌다 보니 오늘은 이고잉님이 이끌고 있는 채널인 생활코딩의 Python 입문 수업을 들었다. 간단히 오늘 배운 내용을 생각나는대로 정리해보자.

Python은 최근 C언어 다음으로 인기있는 언어다. 인기가 있다는 것은, 그 언어로 해결해 놓은 문제가 많다는 뜻이고, 그래서 이 언어를 배우면 다른 사람들이 해결해 놓은 것들의 도움을 받을 수 있다. Python언어는 어떤 컴퓨터에서도 사용가능하다. 설치해서 사용할 수도 있고, 웹서비스로 사용할 수도 있다. 언어를 편집하려면 편집기가 필요하고, 생활코딩에서는 Visual Studio Code라는 마이크로소포트에서 무료로 제공하는 프로그램을 사용한다. 프로그램언어는 프로그래밍을 할 수 있도록 만들어주는데, 프로그램이란 결국 로봇 혹은 컴퓨터에서 어떤 일을 시간의 순서대로 시키기 위한 도구이다. 특히나 자주 반복해서 해결해야 하거나 실행해야 하는 일이라면 프로그램밍을 통해 쉽게 해결할 수 있다. 마치 채팅을 주고 받듯이 명령을 주고 실행시키는 것은 Shell 모드라고 한다. 그렇지 않다면, .py로 끝나는 파일을 만들어 필요할 때마다 실행시킬 수가 있다.

그리고 나는 print(hello world)를 실행시켰다. 강좌에 따라 phython3를 설치하고, visual studio code를 켜두고 이고잉님이 하는 것을 따라 했다. 초반이라 그런지 이렇게 재미있을 수가 없다. len('hello world')처럼, 엑셀에서 이미 보았던 함수, 명령어도 있어서 아주 낯설지는 않다. 나는 해결하고 싶은 문제가 많고, 이제는 컴퓨터 언어 중에 가장 쉽다는 python은 좋은 출발점이다.

python3

배우는 경험

대개 우리는 무엇을 배울지를 결정해본 경험이 적다. 적어도 고등학교 때까지 가장 강조되는 배울 것은 국영수과사이다. 그리고 간신히 해야 하는 일을 하고서는 지치고, 남는 시간에는 놀 궁리를 하게 마련이다. 나는 그랬던 것 같다. 나는 코딩교육이라며 학교에 당장 프로그래밍 수업을 넣는 것에 동의하지는 않지만, 문제를 발굴하고 해결해내는 일련의 과정은 아주 어려서부터 배워야 한다고 생각한다. 프로그래밍은 자신이 맞닥뜨리고 만들어낸 해결책을 실제로 실행시켜볼 수 있다는 강력한 장점이 있다. 그저 의견을 밝히는 데 그치지 않고, 실천해 볼 수가 있다.

사람은 늘 배우고 싶어하는 존재이나, 그렇게 인도되지 못한다. 자신에게 문제를 파악하고, 스스로 목표를 설정하고, 문제를 해결할 힘이 있다는 것을 알아야 혼자 배우고 익히는 게 가능할지도 모를 일이다.

학교에서 필요한 데이타 정리

재작년부터 엑셀 강의를 조금씩 들었다. 수업도 하고, 학생들과 상담도 하고, 학교에서 이런 저런 계획도 하고, 돈도 쓰려고 하다 보니 정보를 정리할 필요가 있었다. 그리고 정보는 나중에 다양한 방식으로 활용될 수 있어야 했다. 그때 가장 적합한 형태는 다. 엑셀은 일단 표를 만들어서 내가 얻는 자료들을 정리할 수 있도록 해준다. 엑셀을 배우고 함수들을 조금씩 사용하면서, (아직도 너무나 초보자이지만) 아낀 시간이 상당하고, 해낸 일도 상당하다.

엑셀 기본 강좌 하나를 듣는데, 15시간 정도 걸린 것 같은데, 그걸 듣고 나니, 어떤 문제를 만났을 때, 무엇을 찾아봐야 할 지 알 수 있었다. 그렇게 배운 엑셀은 구글 스프레드시트를 사용할 때도 도움이 된다.

반복되는 일

엑셀 강좌를 듣기는 하지만, 거기서 사용되는 에제가 학교에서 마주치게 되는 문제들은 아닌 경우가 있다. 결국 배우기는 하되 내가 응용을 해야 한다. 다시 보고 다시 찾아서 파일을 만져본다. 그런데도 엑셀 만으로 부족한 것 같다. 데이타를 하나 만들고 나서, 일부 데이타에 변동이 생기면, 그 데이타가 실시간으로 반영되고 가공된 결과를 보이게 할 필요가 있었다. 내가 엑셀을 못해서 그럴 수도 있고, 매크로까지 배워야 그게 가능한 것일 수도 있다.

어제는 아이폰을 붙잡고, 휴대폰으로 하는 일 중 자주 반복하는 일을 단축어로 만들어 봤다. 몇 개는 성공하고, 몇 개는 미완이지만, 설정이 끝나고 나면 효율은 분명 높을 것이다. 사람은 같은 일을 반복할 때 따분함을 느낀다. 나는 그런 일을 하면 지친다. 그건 기계에게 맡기고, 나는 남는 시간을 진짜 생각하는 데 사용하거나, 아예 쉴 수가 있다.

행복한 삶은 우선 충분히 쉴 수 있는 삶이라 생각한다. 똑같이 무거운 무게를 들더라도 막노동은 운동이 아니다. 쉬고 싶을 때 쉴 수 있는 게 운동이고, 그렇지 못하면 일이다. 지금도 충분히 일하는 시간이 많고, 일하는 시간을 줄이는 건 나에게는 계속 신경써야 할 부분이다. 직장에 있어야 하는 시간은 줄일 수 없지만, 직장에 있는 동안 일을 많이 해서, 집으로는 일을 가지고 오지 않도록 노력할 수는 있다.

프로그래밍까지 필요할 일

엑셀에서 매크로를 배워도 되겠지만, 일단 재미있고 편안한 강좌를 찾지 못했다. 오늘 유튜브를 보다가 그냥 파이썬*이라고 검색을 했고, 인기많은 프로그램 언어인 만큼 *쉽고 재미있게 가르쳐 주려는 강좌가 많았다.

내가 이 강의를 끝까지 듣고, 뭔가 만들어 보기 위해서 더 많은 강좌를 듣고, 직접 프로그램을 짜볼 지 아닐 지는 알 수 없다. 하지만, 엑셀을 배워야 겠다고 생각해서 배우다가 이제 프로그래밍까지 온 것은 참으로 자연스러운 일이었다. 베스트셀러를 읽다가 결국에는 고전으로 이르게 되는 것과 비슷한 느낌이랄까.

지금 내 머릿 속에 있는 문제는 내가 업무 중 부딪히거나, 다른 사람의 일이지만 관찰했던 문제다.

  1. 방과후 계획을 수립하고 실행할 때, 여러가지 변인(학생의 선택, 수강료, 강사의 강좌와 강의시간, 강사료)을 좀 더 효율적으로 관리할 수는 없을까?
  2. 학생의 선택과목과 반편성 : 학생이 앞으로 이수하고 싶은 과목을 선택하고, 번복한다. 선택에 의해 반을 편성해야 하는데, 번복될 때마다 반편성을 사람의 계산으로 하기는 어렵다. 학생이 번복을 한다면, 그 과정도 그대로 남길 수는 없을까 하는 문제

문제가 있으면 해결책을 찾아야 한다. 문제가 있는데, 어떻게 해결할 지 감조차 잡기 힘든 이유는, 덜 알아서다. 어디부터 찾아야 할 지 알려면, 답이 있을 영역에 대한 개괄적인 지식(수박 겉핥은 정도의 맛뵈기 경험)이라도 있어야 한다.