전체 글 78

[깃] 깃허브에 대용량 파일 업로드하는 방법

프로젝트를 위해 깃허브 등으로 코드와 파일을 공유하다 보면 간혹 깃허브의 파일 용량 제한에 걸려 난감해질 때가 있습니다. 이는 깃허브 자체적으로 25MB (공식 문서상으로는 100MB) 이상의 용량을 가진 파일을 업로드할 수 없게 해놓았기 때문이죠. 따라서 이런 대용량 파일을 공유하는 프로젝트를 사용하려면 어쩔 수 없이 다른 툴을 사용하거나, 컴퓨터에 깔린 깃에 추가적인 조치를 취할 수 밖에 없어집니다. 이번 포스트에서는 타 프로그램이나 플랫폼을 사용하지 않고 깃 자체적으로 대용량 파일을 업로드할 수 있는 방법을 소개하겠습니다. NOTE_ 타 플랫폼의 경우 드랍박스(Dropbox)를 이용하는 것이 예시가 되겠습니다. 심지어 드랍박스는 깃허브 공식 문서에서 소개하고 있는 플랫폼이기도 합니다! (출처: ht..

[데이터 엔지니어링 부트캠프] 3주차 회고

좋았던 점 드디어 사용하는 구글 코랩(Colab): 파이썬 입문부터 주피터 노트북과 함께 한 골수 유저로서 파이참에서 코랩으로 넘어왔다는 건 축복 큰 호사였습니다. 감사합니다....!!! 본격적으로 배우기 시작한 각종 라이브러리: 넘파이, 판다스, 맷플롯립 등 데이터 분석에서 사용되는 각종 라이브러리를 배우기 시작했습니다. 파이썬 기본 문법은 코딩 테스트 이외에 실무에서 써먹는 데 한계가 있기 때문에 진도가 빠르다는 걸 제외하면 아주 반가운 소식입니다. 아쉬웠던 점 기습적인 프로젝트: 데이터 시각화까지만 하면 된다고는 하지만, 첫 팀플인데다가 이렇다 할 준비가 부족한 상태인지라 많이 긴장됩니다. 좋은 팀원들 만났으니 좋은 결과물 얻을 수 있으면 좋겠네요. 최소 1인분은 해야지.. 그렇게 마음 먹었습니다...

[데이터 엔지니어링 부트캠프] 2주차 회고

이상하다... 분명히 2주차 같은데 왜 센터에서는 3주차 회고 작성 바란다고 하지...?? 좋았던 점 파이썬 기초 문법들의 심화 내용: 이전부터 파이썬을 다뤄봤던 입장에서 그동안 잘 모르고 사용해왔던 문법들을 조금 더 깊이 알아가는 것이 좋았습니다. 이미 알고 있던 내용들은 복습하고, 지엽적으로만 알고 있어서 알지 못했던 유용한 기능들을 새로 배울 수 있어 좋았습니다. 프로그래머스나 백준에서 코딩 테스트 연습할 때 정말 도움이 많이 됐습니다. 회고 작성과 코딩 테스트 연습 및 깃허브 커밋의 루틴화: 꾸준함을 보여줄 수 있는 수단이 각 사이트마다 내장되어 있는 만큼, 자신이 꾸준히 공부와 연습을 하면서 노력하고 있음을 보여주는 지표를 채워나가는 보람이 있습니다. 하다 보니까 재미도 있고. 실습 위주의 st..

[파이썬] 시퀀스 자료형 종합 정리

시퀀스 자료형 우리가 파이썬에서 흔히 사용하는 자료형인 리스트, 튜플, 문자열, range 객체 등을 통틀어서 시퀀스 자료형이라고 일컫기도 합니다. 이 친구들은 공통적으로 값이 연속적(sequentially)으로 이어져 있다는 특징이 있습니다. 이러한 특징 때문에 파이썬에서 제공되는 메서드, 그 외에 코딩할 때 사용되는 테크닉 등이 여럿 겹치기도 합니다. 공통 기능 1. 특정한 값(요소, element)이 안에 있는지 확인하는 기능 시퀀스 자료형에 어떤 값이나 요소가 포함되어 있는지를 확인하고 싶을 때 in이라는 방법을 사용합니다. {요소 이름} in {시퀀스 자료}의 폼으로 작성하면 됩니다. 앞서 리스트, 튜플, 문자열, range 객체 등을 통틀어서 시퀀스 자료형이라고 했는데, 실제 예제에서도 같은 ..

[데이터 엔지니어링 부트캠프] 1주차 회고

4L 회고 방식을 베이스로 부트캠프 기간 주별 회고를 작성합니다. 좋았던 점 오프라인으로 진행하다는 점: 아침 9시부터 움직이다는 건 썩 피곤한 일이긴 하지만, 그것만 제외하면 루틴 형성에는 괜찮은 것 같습니다. 무엇보다 온라인으로만 진행했을 때 나태해지기 쉽다는 점을 고려하면 오프라인의 번거로움은 충분히 감수할 만하다고 봅니다. 지옥의 출근 시간이라는 점만 감내한다면... 세세한 개념: 대학원 시절 거의 독학으로, 그것도 파이썬 언어 한 가지만 급하게 배워서 사용하다 보니 자주 쓰는 기능조차도 제대로 이해하지 못한 부분이 가장 아쉬웠습니다. 그런 부분에서 타 언어와의 비교까지 곁들인 개념 설명은 큰 도움이 되었습니다. 코딩 테스트 연습에서도 이 점이 소소한 도움이 되었습니다. 학습 방법론: 학습에 도움..

[파이썬]jupyter notebook 환경에서의 멀티프로세싱 모듈 문제에 대하여...

들어가기 전에 이번 포스트는 jupyter notebook에 어느 정도 익숙해졌다고 착각한 어느 초보 개발자의 뻘짓삽질을 담고 있습니다. 개인 기록의 성격이 짙으니 감안해주시길...! 파이썬 기본 라이브러리를 다루다 보면 꼭 지엽적으로만 파고 들어서 나중에 가면 "아... 이게 뭐였더라??" 하는 내용도 있고, 아예 처음 다뤄보는 라이브러리 중에는 사용법이 영 직관적이지 못해 애를 먹는 경우가 있습니다. 제 경우, 후자에 해당하는 대표적인 라이브러리가 바로 multiprocessing 모듈이었죠. 여러 개의 CPU 코어를 사용해 병렬 연산을 가능하게 해주는 만큼 이 모듈은 매우 강력한 모듈임에는 분명합니다. 문제는 이 모듈이 .py 스크립트에서만 돌아가는 것처럼 보였다는 것. multiprocessing..

[패스트캠퍼스]Chapter 4. 딥러닝 학습을 위한 프레임워크 04-01 파이토치(PyTorch) 개요

Chapter 4. 딥러닝 학습을 위한 프레임워크 자, 딥러닝을 위한 밑작업이 어느 정도 마무리되었으니, 이제 본격적으로 딥러닝 학습에 직접적으로 이용되는 프레임워크들을 알아보겠습니다. 현업에서 주로 쓰이는 라이브러리에는 현재 파이토치(PyTorch)와 텐서플로(TensorFlow) 등이 있으며, 최근 몇 년간을 기준으로 파이토치의 점유율이 조금씩 커지고 있는 추세입니다. 깃허브 등에 들어가면 상당수의 머신러닝, 딥러닝 코드가 파이토치로 작성되고 있죠. 텐서플로만 쓸 줄 알았던 저 같은 유저들은 뒷목을 잡았습니다... 하지만 그렇다 해도 파이토치와 텐서플로 두 프레임워크의 장단점이 있기 때문에 파이토치와 텐서플로의 순서대로 두 프레임워크를 모두 배워보겠습니다. 04-01 파이토치(PyTorch) 개요 들..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-14 예외 처리

03-14 예외 처리 이제 파이썬 기능에 대한 마지막 포스트로 예외 처리에 대해 알아보겠습니다. 예외는 프로그램 실행 중 발생하는 오류를 뜻합니다. 이러한 오류가 발생하면 프로그램이 그 자리에서 멈추기 때문에, 때로는 이러한 예외가 발생하더라도 프록램이 그대로 실행되게끔 처리해주는 과정이 필요합니다. 이를 예외 처리라고 합니다. 예외 def) 예외 처리(exception handling): 프로그램이 처리되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것 (동의어: 오류 처리(trouble shooting)) 예외, 즉 오류, 에러에는 여러 종류가 있습니다. 대표적으로 아래 첫 번째 이미지에서 보는 것과 같이 어떤 수를 0으로 나누면, 수학적으로 0으로 나누는 것이 불가능하기 때문..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-13 클래스의 이해와 활용

03-13 클래스의 이해와 활용 저번 포스트에서 소개한 함수와 더불어, 코드를 더욱 용이하게 사용하기 위한 수단 중 하나로 클래스(class)가 존재합니다. 잘만 사용하면 매우 유용한 기능이지만, 입문자들에게 있어서는 함수와 함께 통곡의 벽 가장 큰 장벽으로 꼽히기도 합니다. 클래스와 관련된 메서드와 그 외의 기법들도 한 두 가지가 아니지만, 여기서는 가장 기본적인 클래스의 개념과 사용 방법 위주로 소개해보겠습니다. 클래스와 객체 흔히 클래스, 객체를 설명할 때 붕어빵 또는 과자 틀에 비유해서 이야기하고는 합니다. 어떤 식이냐면... 클래스: 붕어빵 (또는 과자) 틀 객체(object): 틀로 찍어낸 붕어빵 (또는 과자) 객체와 인스턴스(instance)라는 용어가 함께 사용되고 있으니 참고하세요. 두 ..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-12 함수의 이해와 활용

아이고... 예비군이니 뭐니 바쁘기도 하거니와 좀 쉬고 왔습니다. 다시 달려보죠! 03-12 함수의 이해와 활용 코드를 여러 케이스에 대해 반복적으로 적용해야 할 경우, 스크립트가 길어지기 마련입니다. 이를 위해서 함수, 그리고 다음 포스트에서 언급할 클래스를 적극적으로 활용하면 소스코드를 기능별로 분리할 수 있습니다. 이러면 코드의 가독성을 높일 수 있고 유지/정비가 용이해진다는 장점도 있습니다. 함수의 정의 함수는 영단어 define에서 따온 def 구문을 이용해 정의할 수 있습니다. 해당 구문 뒤에 함수의 이름, 함수에 들어갈 입력값 (그리고 반환하는 값이 있어야 할 경우 return 문) 등의 요소로 구성됩니다. 여기서 함수에 들어가는 입력값을 인수라고 합니다. 예를 들어, 숫자 3개를 입력받아 ..