파이썬 오픈 소스 | Github 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유 최근 답변 148개

당신은 주제를 찾고 있습니까 “파이썬 오픈 소스 – GitHub 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 개발자 테드박 [개발/IT업계의 이야기] 이(가) 작성한 기사에는 조회수 7,271회 및 좋아요 169개 개의 좋아요가 있습니다.

파이썬 오픈 소스 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 GitHub 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유 – 파이썬 오픈 소스 주제에 대한 세부정보를 참조하세요

제목은 사실 어그로입니다. GitHub 순위는 Java에서 대한민국 1위입니다.
2015년부터 GitHub에서 오픈소스를 시작했습니다.
지금까지 오픈소스 활동을 해오면서 경험한 것들과 장점,단점에 대해 공유합니다.

파이썬 오픈 소스 주제에 대한 자세한 내용은 여기를 참조하세요.

Python 오픈소스(Open Source) 분석 방법 – 어쩐지 오늘은

Python Open Source 분석 방법에 대해 작성한 글입니다 이 글이 진리는 아니고, 제가 개인적으로 시도했던 방법에 대해 작성했습니다!

+ 여기에 보기

Source: zzsza.github.io

Date Published: 8/22/2022

View: 8368

파이썬과 오픈소스 패키지 – 쉽게 따라하는 데이터수집기 만들기

대표적인 파이썬 오픈소스 패키지 · Django(장고) · Flask(플라스크) · Pandas(판다스) · Reqeusts(리퀘스츠) · BeatifulSoup4(뷰티풀수프4).

+ 여기에 더 보기

Source: book.coalastudy.com

Date Published: 4/5/2021

View: 6482

GitHub에서 인기있는 10 가지 Python 프로젝트 – 인사이트캠퍼스

파이썬(Python) 과 같은 프로그래밍 언어는 당신이 꿈꾸는 프로젝트를 현실로 … Apache Software Foundation의 오픈 소스 워크플로우 관리 도구다.

+ 여기를 클릭

Source: insightcampus.co.kr:9090

Date Published: 10/13/2021

View: 4267

좌충우돌 파이썬 오픈소스 배포 프로젝트 – velog

그래서 이번기회에 오픈소스를 직접 배포를 해보면 좋은 경험이겠다 싶어서 도전 ! PyPI란? 자바스크립트에는 npm이라는 패키지 매니저가 있듯이 파이썬 …

+ 자세한 내용은 여기를 클릭하십시오

Source: velog.io

Date Published: 6/3/2022

View: 5144

GITHUB에서 가장 인기 있는 PYTHON 오픈 소스 프로젝트 – Quish

TensorFlow Models는 딥 러닝과 관련된 많은 라이브러리와 모델을 찾을 수 있는 오픈 소스 저장소입니다. 깃허브: https://github.com/tensorflow/models. ad …

+ 여기를 클릭

Source: ko.quish.tv

Date Published: 12/13/2021

View: 4965

01-2 파이썬의 특징

오픈 소스인 파이썬은 당연히 무료이다. 사용료 걱정없이 언제 어디서든 파이썬을 다운로드하여 사용할 수 있다. ※ 오픈 소스(Open Source)란 저작권자가 소스 코드를 …

+ 여기에 표시

Source: wikidocs.net

Date Published: 12/30/2021

View: 941

깃허브 트렌드 오픈 소스 파이썬 프로젝트 TOP10 – 코딩월드뉴스

1. 포톤 포톤(Photon)은 앤서블(Ansible)과 함께 워크플로우를 실행하도록 설계된 데이터 기반 툴로서 최고의 오픈소스 파이썬 프로젝트 중 하나이다. · 2.

+ 더 읽기

Source: www.codingworldnews.com

Date Published: 7/27/2021

View: 3251

[파이썬] 파이썬 학습 사이트 모음

파이썬은 오픈소스로 누구나 다운로드 사용해서 사용 할 수 있습니다. 하지만 편안한(?) 개발을 위해 IDE라는 통합개발환경, 전용에디터를 사용합니다 …

+ 여기에 보기

Source: mytrivia.tistory.com

Date Published: 12/11/2022

View: 1869

2.1.2. 오픈소스(Open Source)

소스 코드가 공개(open)된 소프트웨어를 오픈소스라고 말합니다. 대부분의 오픈 소스 소프트웨어는 무료로 사용 가능하기 때문에 프리웨어(freeware)와 헷갈리는 경우 …

+ 여기에 표시

Source: sdc-james.gitbook.io

Date Published: 12/20/2022

View: 4864

주제와 관련된 이미지 파이썬 오픈 소스

주제와 관련된 더 많은 사진을 참조하십시오 GitHub 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

GitHub 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유
GitHub 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유

주제에 대한 기사 평가 파이썬 오픈 소스

  • Author: 개발자 테드박 [개발/IT업계의 이야기]
  • Views: 조회수 7,271회
  • Likes: 좋아요 169개
  • Date Published: 2021. 9. 6.
  • Video Url link: https://www.youtube.com/watch?v=XUMWqmI4r_g

GitHub에서 인기있는 10 가지 Python 프로젝트

Top 10 Trending Python Projects On GitHub

GitHub에서 인기있는 10 가지 Python 프로젝트

이와 같은 GitHub 프로젝트는 사람들의 창의성과 재능을 완벽하게 보여준다.

Photo by Lee Campbell on Unsplash

*이 기사는 towarddatascience.com에 작성된 Claire D. Costa의 글을 번역하였습니다.

Python 코딩의 즐거움은 독자를 지루하게 만드는 사소한 코드가 아니라, 적은 양의 명확한 코드로 많은 작업을 표현하는 짧고 간결하며 읽기 쉬운 클래스를 보는 데 있어야 합니다.

– Guido van Rossum-

상당한 기간 전 세계 개발자들은 대부분 프로젝트에서 파이썬(Python)을 선호해왔다.

프로그래밍 언어 사용의 편의성, 실시간 및 비실시간 시스템의 효율성, 생명을 구하는 광범위한 패키지 모음 등이 개발자들이 파이썬(Python)을 좋아하는 이유 중 일부에 불과하다.

파이썬(Python) 과 같은 프로그래밍 언어는 당신이 꿈꾸는 프로젝트를 현실로 바꾸고 재능을 세상에 선보일 수 있는 자유를 준다.

이것이 우리가 GitHub에서 사용할 수 있는 몇 가지 최고의 파이썬(Python) 프로젝트를 살펴보며 당신에게 영감을 주고 혁신적인 마인드와 파이썬(Python)으로 무엇을 할 수 있는지 맛보게 하려는 이유다.

알고 있는가?

●Stackoverflow에 따르면파이썬(Python)은 가장 선호되는 언어이고, 개발자 대다수가 Python을 사용한다.

● 파이썬(Python)은 GitHub에서 두 번째로 많이 사용되는 언어이며 기계 학습에 가장 많이 사용되는 언어다.

참고: https://blog.digitalogy.co/python-interview-questions-and-answers-for-freshers/

GitHub의 인기 Python 프로젝트

GitHub은 분명히 대부분의 온라인 코드의 집이다.파이썬(Python)은 놀랍고 다재다능한 프로그래밍 언어로 수천 명의 개발자가 모든 종류의 재미있고 유용한 프로젝트를 만드는 데 사용해왔다. 다음 섹션에서는파이썬(Python)을 사용하여 구축된 GitHub의 몇 가지 최고의 프로젝트 다루려고 한다.

하지만 이 문제에 접근하기 전에 여기서파이썬(Python)개발자(Developers)를 위한 멋진파이썬(Python)프로젝트 아이디어를 확인할 수도 있다.

참고: https://towardsdatascience.com/10-cool-python-project-ideas-for-python-developers-7953047e203

1. Manim

참고: https://youtu.be/ENMyFGmq5OA

Stars: 26.2k

Forked By: 3.4k

Developed by: Grant Sanderson

GitHub Link: https://github.com/3b1b/manim

Manim은 Mathematical Animation Engine을 의미한다. 이 프로젝트의 아이디어는 사람들이 수학 교육 자료의 그래프 및 차트와 재미있고 직관적인 애니메이션을 더 쉽게 통합할 수 있도록 하여 수학을 배우는 것이 지루하다는 고정 관념에서 벗어나도록 하는 것이다.

Grant는 3Brown1Blue라는 유튜브 채널을 운영하며 이 채널에서 그는 Manim 라이브러리를 사용하여 필요에 따라 이러한 애니메이션을 만들고 제어하여 청중들에게 더 높은 수준의 수학을 가르친다. Manim을 사용하면 차트 및 일러스트레이션(illustrations)에 사용되는 애니메이션을 정밀하게 제어하여 애니메이션 비디오를 만들 수도 있다. 이것이 재미있는 아이디어라고 생각되면 그의 채널을 확인하여 라이브러리가 작동하는지 확인해보길 추천한다.

Youtube Link: https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw

2. DeepFaceLab

Stars: 20.4k

Forked By: 4.8k

Developed By: iperov

GitHub Link: https://github.com/iperov/DeepFaceLab

DeepFaceLab은 이 목록에 있는 파이썬(Python)에서 가장 재미있는 GitHub 프로젝트 중 하나다. DeepFaceLab은 딥페이크(deep fake) 이미지와 동영상을 만들 수 있는 도구로 얼굴 변경, 디에이징(de-age), 스왑 등과 같이 재미있는 작업을 많이 할 수 있다. 좀 더 설득력 있게 만들기 위해서, 심지어 사람들의 말도 바꿀 수 있지만, 동영상 편집 소프트웨어에 숙련된 기술이 필요하다.

개발자는 인터넷상의 95% 이상의 가짜 동영상이 이 도구로 만들어졌다고 주장한다. 프로젝트의 GitHub 페이지에서 시작하는데 필요한 설정 가이드와 다양한 얼굴 세트(face sets)를 찾을 수 있다.

Youtube Link: https://youtu.be/lSM-9RBk3HQ

3. Airflow

Stars: 18.6k

Forked By: 7.3k

Developed By: Apache Software Foundation

GitHub Link: https://github.com/apache/airflow

Airflow는 파이썬(Python)으로 구동되는 Apache Software Foundation의 오픈 소스 워크플로우 관리 도구다. Airflow를 사용하면 워크플로우에서 작성, 스케줄링, 모니터링과 같은 다양한 작업을 수행할 수 있다. 워크플로우를 코드로 정의하면 관리, 테스트, 공동 작업이 훨씬 쉬워진다.

이는 확장성(scalability), 동적 파이프라인(dynamic pipeline) 생성 및 연장성(extensibility)을 제공한다. 간단한 사용자 인터페이스는 Airflow 작업을 원활하게 하며 다른 도구 및 서비스와의 강력한 통합 기능을 통해 시간을 절약하여 최대한의 효과를 얻을 수 있다. Airflow는Adobe, Lyft, Slack, Expedia 등과 같은 업계의 유명한 회사들이 이를 적극적으로 사용하고 있다.

링크참조: https://towardsdatascience.com/10-world-class-companies-using-python-26cde24919a8

4. GPT-2

Stars: 13.4k

Forked By: 3.4k

GitHub Link: https://github.com/openai/gpt-2

GPT-2는 정확하게 80억 개가 넘는 웹 페이지의 텍스트와 같이 방대한 데이터 세트에 대해 학습된 거대한 transformer 기반 언어 모델이다. 이것의 목표는? 문맥(context)의 이전 단어 전체 또는 세트를 주면 다음 단어를 예측한다.

간단히 말해서, GPT-2에 텍스트를 제공하면 언어 모델이 뛰어난 품질의 텍스트를 예측하고 긴 연속성을 생성한다.

GitHub 저장소에는 Open AI의 “Language Models are Unsupervised Multitask Learners”라는 논문의 코드와 모델이 있으며, 페이지에는 GPT-2에 대한 설명과 몇 가지 주의 사항이 언급되어 있다.

링크 참조: https://towardsdatascience.com/python-books-you-must-read-in-2020-a0fc33798bb

5. XSStrike

동영상 링크 참조: https://youtu.be/Q_iymD9EWXM

Stars: 8.5k

Forked By: 1.2k

Developed By: Somdev Sangwan

GitHub Link: https://github.com/s0md3v/XSStrike

Cross-Site Scripting(XSS라고도 함)은 웹 사이트에 매우 성가시고 해로울 수 있는 취약점이다. 공격자는 클라이언트 측에서 악성 코드를 삽입하여 웹 사이트와 데이터에 통제할 수 없는 피해를 줄 수 있다. s0md3v의 XSStrike는 본질적으로 그 자체로 고유한 XSS 탐지 제품군이다.

개발자는 단순히 임의의 페이로드를(payload) 테스트하는 대신 그의 도구가 웹사이트를 분석하고 작동하는, 특수하게 설계된 페이로드(payload)를 생성한다고 주장한다. 이 도구의 다양한 기능 중 일부는 다음과 같다.

● Context분석

●강력한 퍼징(fuzzing) 엔진

●다중 스레드(multi-threaded) 분석 지원

●파일에서 Bruteforcing 페이로드(payloads) 지원

●맞춤형 HTML 및 JavaScript 파서(parser)

●오래된 자바스크립트(Javascript) 라이브러리 검색

링크 참조: https://towardsdatascience.com/best-python-libraries-for-machine-learning-and-deep-learning-b0bd40c7e8c

6. Google Images Download

Stars: 7.1k

Forked By: 1.7k

Developed By: Hardik Vasa

GitHub Link: https://github.com/hardikvasa/google-images-download

Hardik Vasa의 스크립트를 사용하면 Google에서 수백 개의 이미지를 한 번에 컴퓨터로 다운로드 할 수 있다. 이 도구가 작동하는 방식은 라이브러리를 설치하고, 명령을 사용하고, 원하는 키워드를 인수로 언급하고, 도구가 마법을 부리게 하는 것이다. rebound는 기본적으로 Google Images의 인덱스에서 지정된 키워드를 사용하여 이미지를 검색하고 찾으면 다운로드한다.

당신은 또한 다른 파이썬(Python) 파일의 라이브러리를 사용할 수도 있으며 이는 정상적으로 작동한다. 한 번에 구글에서 이미지를 대량으로 다운로드해야 하는 경우 실제로 정말 재미있고 유용한 프로젝트다.

7. Photon

Stars: 7k

Forked By: 965

Developed By: Somdev Sangwan

GitHub Link: https://github.com/s0md3v/Photon

Photon은 파이썬(Python)을 사용하여 구축된 강력하고 사용하기 쉬운 웹 크롤러로, s0md3v의 가볍고 빠른 크롤러(crawler)는 오픈 소스 인텔리전스 프레임 워크의 지침과 방법론을 따르므로 오픈 소스 또는 공개 소스에서 수집한 정보를 수집하고 분석할 수 있다.

Photon이 정보를 크롤링(crawl)할 수 있는 여러 소스 중 일부는 다음과 같다.

● 매개 변수가 있는 URL을 포함한 URL

● 소셜 미디어 계정, 이메일

● PDF, png, XML 문서와 같은 파일

● 하위 도메인

● 자바스크립트(JavaScript) 파일

Photon은 추출된 모든 정보를 정리하여 저장하는데, JSON 파일로 내보낼 수도 있다. 이 도구는 또한 일부 URL을 제외한 시간 초과 제어와 같이 작업을 사용자 정의하는 다양한 옵션을 제공하므로 자세히 살펴볼 것을 권장한다.

링크 참조: https://towardsdatascience.com/best-python-ides-and-code-editors-you-must-use-in-2020-2303a53db24

8. NeuralTalk

Stars: 5k

Forked By: 1.2k

Developed By: Andrej Karpathy

GitHub Link: https://github.com/karpathy/neuraltalk2

뉴럴톡(NeuralTalk)은 Multimodal Recurrent Neural Networks를 사용한 파이썬(Python)과 NumPy의 이미지 캡션 프로젝트다. 기술의 향상과 더 나은 하드웨어 지원 덕분에 개발자는 NeuralTalk보다 더 좋고 더 빠른 NeuralTalk2를 출시했다.

배치 구현을 사용하는 NeuralTalk2는 여전히 RNN을 사용하고 Torch를 기반으로 하며 CNN 미세 조정(finetuning)을 지원하면서 GPU에서 실행할 수 있다. 개발자는 NeuralTalk 오리지널을 사용하진 않지만 GitHub에서는 누구나 한번 살펴볼 수 있다.

9. Xonsh

Stars: 3.9k

Forked By: 434

GitHub Link: https://github.com/xonsh/xonsh

conch로 발음되는 Xonsh는 파이썬(Python)으로 구동되는 cross-platform shell언어로 생각할 수 있다. Xonsh는 파이썬(Python)과 깊이 통합되어 있으므로 파이썬(Python)으로 가장 기본적인 작업을 할 수 있다.

Xonsh를 사용하면 “$ echo 2+2″를 입력하는 대신 $2+2만 사용해도 문제가 없을 수 있으며, 여전히 정확한 결과를 얻을 수 있다. 얼마나 간단한가!

Xonsh shell을 시작하기도 매우 쉽다. 환경에 적합한 명령을 사용하여 설치하기만 하면 모든 준비가 완료된다. Xonsh는 pip, Conda, Apt, Brew 등을 포함한 많은 패키지 관리지가 사용할 수 있다. Xonsh는 쉽게 스크립팅할 수 있고, 형식화된 변수가 포함된 대규모 표준 라이브러리를 가지고 있다.

10. Rebound

Stars: 3.3k

Forked By: 299

Developed By: Jonathan Shobrook

GitHub Link: https://github.com/shobrook/rebound

컴파일러 오류는 종종 매우 실망스럽고 혼란스러울 수 있다. 그렇다면 Stack Overflow로 넘어가거나 설명서를 읽어보는 것이 유일한 해결책이다. Jonathan Shobrook과 그의 유명한 도구 rebound는 성가신 컴파일러 오류를 처리하면서 당신의 삶을 더 쉽게 만들 방법을 찾아냈다.

Rebound가 작동하는 방법은 도구로 파일을 실행하고 파일에 있는 컴파일러 오류를 확인하고 찾을 수 있는 관련 Stack Overflow threads를 가져오는 것이다.

Rebound의 브라우저뿐만 아니라 터미널 내에서도 스레드를 불러올 수 있는 능력은 신인뿐만 아니라 베테랑 코더에게를 구할 수 있으며 끝 없이 답변을 검색하는 시간을 절약할 수 있다. 현재 rebound는 파이썬(Python), Node.js, Ruby, Golang 및 Java만 지원한다.

결론

창의성에도 한계가 없다. 이러한 GitHub 프로젝트는 사람들의 창의성과 재능을 완벽하게 보여준다.

하지만 이것은 빙산의 일각일 뿐이다. 여러분이 달성하고 싶은 것에 대한 노하우와 명확한 그림을 가지고 있다면 파이썬(Python)은 광범위한 활동을 수행하는 데 사용될 수 있기 때문이다.

파이썬(Python)이 계속 진화함에 따라 점점 더 많은 개발자가 앞에서 언급한 것과 같은 놀랍고 유용한 프로젝트를 만들기 위해 파이썬(Python)을 사용하기 시작할 것이다.

번역 – 핀인 사이트 인턴 연구원 김현우

원문링크 ->

https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html

좌충우돌 파이썬 오픈소스 배포 프로젝트

왜 이런 짓을 시작했을까?

최근 DND 사이드 프로젝트를 마무리했다. 간단한 웹 서비스를 개발하고 배포하는 프로젝트였는데

프로젝트 종료 이후 배포된 웹 어플리케이션에 눈에 띄는 버그가 있었다.

바로 부자연스러운 한글 조사였다!

실제 PR 기록 : https://github.com/dnd-side-project/dnd-mentee-4th-9-repo/pull/207

다행히도 많은 사람들이 javascript로 한글 조사처리 라이브러리를 구현해놓아서, 쉽게 이 이슈를 처리했다.

import React from ‘react’ ; import { pick } from ‘cox-postposition’ import Section , { SIDE } from ‘../Section’ ; import { TagsHead } from ‘./Feature’ ; import Slider from ‘../Slider’ ; return ( < Section margin = { 100 } width = " lg " order = { SIDE } > < TagsHead > < span > { name } { pick ( name , ‘와’ ) } 비슷한 친구 추천 < Slider plants = { plants } />

cox-postposition 압도적 감사..

그래서 문뜩 든 생각

파이썬도 이러한 한글 조사 처리 라이브러리가 있을까 해서 github를 열심히 뒤져보았는데…

구현을 하신 분들은 많았지만, 실제 PyPI 에 배포를 하신 분은 없었다.

그래서 이번기회에 오픈소스를 직접 배포를 해보면 좋은 경험이겠다 싶어서 도전 !

PyPI란?

자바스크립트에는 npm이라는 패키지 매니저가 있듯이 파이썬에는 pip라는 패키지 매니저가 있다.

이 패키지 매니저는 PyPI 라는 패키지 저장소를 인덱싱하여, 사용자가 설치를 요청한 패키지를 설치하도록 도와준다.

그러니까 우리는 PyPI 에 코드를 배포해야 누군가가 pip install 로 쉽게 내가 만든 코드를 사용 할 수 있는 것이다!

프로젝트 준비

생각보다 많은 분들이 PyPI 에 배포하는 방법을 잘 설명해놓았다.

크게 다음과 같은 것들을 준비하면 된다.

PyPI 계정 생성 기본적인 프로젝트 구조 생성 setup.py 생성 및 내용 채우기 이후 코딩 시작!

PyPI 계정 생성

PyPI 계정을 생성했다. 매우 쉽게 생성이 가능했다.

기본적인 프로젝트 구조 생성

프로젝트의 디렉터리 구조는 다음과 같이 만들면 되었다.

. setup.py setup.cfg ├── pyjosa │ └── __init__.py │ └── 이 패키지를 구현하기 위한 코드들 ├── docs <- github pages로 offical document를 만들기 위한 디렉터리 │ └── 도큐먼트들 ├── test <- 테스트 코드들 └── ... setup.py 내용 채우기 setup.py 는 이 패키지를 PyPI 에 배포하기 위해서 빌드시 필요한 metadata 를 관리하는 파일이라고 생각하면 될 것 같다. 실제로 PyPI 웹사이트에서 배포한 내용을 보면, setup.py 에 작성한 메타데이터들을 그대로 확인 가능하다. 코딩 시작! 이제 pyjosa 디렉터리내에서 우리가 실제로 배포할 파이썬 코드들을 작성하면 된다. 단순히 문자열처리를 하는 코드들이기 때문에 복잡하게 코드계층을 구성하지 않고 다음과 같이 구성했다. __init__.py 는 이 디렉터리를 모듈 로 사용하겠다고 명시하는 부분이다. exceptions.py 는 커스텀 예외를 발생시키기 위해서 작성하였고 다음과 같은 예외를 작성했다. class NotHangleException ( Exception ) : def __init__ ( self ) : super ( ) . __init__ ( "마지막 글자가 한글이 아닙니다." ) class JosaTypeException ( Exception ) : def __init__ ( self ) : super ( ) . __init__ ( "메서드의 인자로 주어진 조사가 올바르지 않습니다." ) jonsung.py 는 종성을 처리하기 위한 로직들을 작성한 코드인데 다음과 같이 작성했다. import re from pyjosa . exceptions import NotHangleException START_HANGLE = 44032 J_IDX = 28 def is_hangle ( string : str ) - > bool : last_char = string [ – 1 ] if re . match ( ‘.*[ㄱ-ㅎㅏ-ㅣ가-힣]+.*’ , last_char ) is None : return False return True def has_jongsung ( string : str ) – > bool : if not is_hangle ( string ) : raise NotHangleException last_char = string [ – 1 ] if ( ord ( last_char ) – START_HANGLE ) % J_IDX > 0 : return True return False

이 코드가 조사처리 로직의 핵심인데, 한글의 조사는 조사 앞 글자가 종성이 있느냐 없느냐로 결정이 된다.

따라서 한글의 unicode 값을 활용해서 인자로 들어온 글자에 종성이 있는지, 없는지를 판단하는 로직을 작성했다.

다음은 josa.py 코드이다. 이 코드는 기능을 래핑하면서 동시에 사용자로부터 체크할 문자열과, 종성을 입력받도록 작성하였다.

from pyjosa . jonsung import has_jongsung from pyjosa . exceptions import JosaTypeException class Josa : @ staticmethod def get_josa ( string , josa ) – > str : if ( josa == ‘을’ ) or ( josa == ‘를’ ) : return ‘을’ if has_jongsung ( string ) else ‘를’ elif ( josa == ‘은’ ) or ( josa == ‘는’ ) : return ‘은’ if has_jongsung ( string ) else ‘는’ elif ( josa == ‘이’ ) or ( josa == ‘가’ ) : return ‘이’ if has_jongsung ( string ) else ‘가’ elif ( josa == ‘과’ ) or ( josa == ‘와’ ) : return ‘과’ if has_jongsung ( string ) else ‘와’ elif ( josa == ‘이나’ ) or ( josa == ‘나’ ) : return ‘이나’ if has_jongsung ( string ) else ‘나’ elif ( josa == ‘으로’ ) or ( josa == ‘로’ ) : return ‘으로’ if has_jongsung ( string ) else ‘로’ else : raise JosaTypeException @ staticmethod def get_full_string ( string , josa ) – > str : if ( josa == ‘을’ ) or ( josa == ‘를’ ) : return string + ‘을’ if has_jongsung ( string ) else string + ‘를’ elif ( josa == ‘은’ ) or ( josa == ‘는’ ) : return string + ‘은’ if has_jongsung ( string ) else string + ‘는’ elif ( josa == ‘이’ ) or ( josa == ‘가’ ) : return string + ‘이’ if has_jongsung ( string ) else string + ‘가’ elif ( josa == ‘과’ ) or ( josa == ‘와’ ) : return string + ‘과’ if has_jongsung ( string ) else string + ‘와’ elif ( josa == ‘이나’ ) or ( josa == ‘나’ ) : return string + ‘이나’ if has_jongsung ( string ) else string + ‘나’ elif ( josa == ‘으로’ ) or ( josa == ‘로’ ) : return string + ‘으로’ if has_jongsung ( string ) else string + ‘로’ else : raise JosaTypeException

하드코딩 요소가 많…은것 같지만 우선은 최초 버전은 잘 동작하도록 만드는게 중요하다고 생각하며 작성했다.

코드 개발 완료. 이제 배포 시작!

소프트웨어는 개발이 전부가 아니다. 배포가 되어야 진정한 소프트웨어다!

평소 자주 사용하던 github action 을 통해 PyPI 에 이 패키지를 배포하도록 구성했다.

PyPI 에 패키지를 배포하는 과정을 알아야, github action 을 통해 자동화 할 수 있겠지?

어떤 방식으로 배포되는지 확인해보았다.

setuptools 와 wheel 을 이용해 패키지 빌드 twine 을 활용해 패키지 업로드

크게 위 두가지 과정을 거치면 PyPI 에 패키지를 배포 할 수 있다 !

1번 과정은 터미널에서 다음과 같이 입력하면 된다.

python3 setup.py sdist bdist_wheel

2번 과정은 터미널에서 다음과 같이 입력하면 된다.

python3 -m twine upload dist/*

다만 2번 과정은 로컬 머신에서 배포 할 경우 PyPI 계정의 username 과 password 를 입력해야 한다.

찾아보니, PyPI 에서 발급 받을 수 있는 API KEY 로 대체 가능하다고 한다. 따라서 github action 으로 배포 자동화 할 때는 API KEY 를 이용하기로 했다.

배포 전략 결정

배포에 앞서, 브랜치 관리를 어떻게 할지 고민해보았다.

우선 아직은 나 혼자 작업하는 프로젝트니까, master 브랜치와 release 브랜치로 분리하고

개발은 master 브랜치에서 분기해서 작업하고 master 브랜치에 머지, 배포를 위한 버전은 master -> release 로 브랜치간 머지를 통해 release 할 코드를 정리하기로 했다!

수많은 master -> release 머지 기록들..

github action 설정

다음과 같이 작성하였다.

name : Publish Python 🐍 distributions 📦 to PyPI on : push jobs : build-n-publish : name : Build and publish Python 🐍 distributions 📦 to PyPI runs-on : ubuntu – 18.04 steps : – uses : actions/checkout@master – name : Set up Python 3.7 uses : actions/setup – python@v1 with : python-version : 3.7 – name : Install pypa/build run : > – python – m pip install build – – user – name : Build a binary wheel and a source tarball run : > – python – m build – – sdist – – wheel – – outdir dist/ . – name : Publish distribution 📦 to PyPI if : github.event_name == ‘push’ && startsWith(github.ref , ‘refs/tags’) uses : pypa/gh – action – pypi – publish@release/v1 with : user : __token__ password : $ { { secrets.PYPI_API_TOKEN } }

우선 master 브랜치든 release 든 push 이벤트가 발생하면 코드들을 무조건 빌드하도록 작성하였다.

다만, github 레포에서 release 태그를 붙이는 이벤트가 발생 할 경우 해당 버전의 코드들을 빌드 & 배포 하도록

– name : Publish distribution 📦 to PyPI if : github.event_name == ‘push’ && startsWith(github.ref , ‘refs/tags’) uses : pypa/gh – action – pypi – publish@release/v1 with : user : __token__ password : $ { { secrets.PYPI_API_TOKEN } }

이렇게 마지막 부분을 작성하였다.

PYPI_API_TOKEN 의 경우 PyPI 에서 발급 받을 수 있는 API KEY 다. 이걸로 username과 password를 대체 가능!

대망의 배포!

배포는 release 태그를 작성해야 진행되는데 방법은 다음과 같다.

깃헙 레포 오른쪽 아래를 보면 Release 부분이 있다. 여기를 클릭

오른쪽 위를 보면 Draft a new release 가 있는데 바로 이 부분이 release 태그를 달아주는 부분이다 !

왼쪽 아래의 Publish release 를 하면 release 버전 tag 를 붙인것이 된다. 이 이벤트가 발생하면 github action 에서 PyPI 로 패키지를 배포하게 된다!

위 사진은 v1.0.0 버전을 배포할 당시의 github action 로그 캡쳐!

배포가 매우 잘 되었다.

다운로드 및 사용해보기

PyPI 에 나의 패키지가 배포가 되었다. 즉 누구나 다운로드 받아서 사용 가능하다는 것!

설치는 python3 -m pip install -U pyjosa 혹은 pip install pyjosa 로 가능하다!

설치가 잘 된 것 같다. 한번 사용해보자!

매우 잘 된다!

마무리

생각보다 중간 중간 막히는 부분이 많았지만. 내가 만든 파이썬 코드를 누구나 사용 가능하도록 배포하겠다는 열정 하나만으로 쭉쭉 진행해서 이틀만에 배포까지 끝낸 프로젝트였다.

그래도 나름 오픈소스 티를 내려고 공식 도큐멘트 작업까지 진행중인데 이건 나중에 포스팅하는걸로 하고…

분명 누군가는 사용할 패키지라고 생각하며 만들어서 더 재밌게 한 것 같다. 다만 나의 허접한 코딩 실력으로 인해 아직 개선해야할 부분은 많겠지만..

위 프로젝트의 깃헙 레포는 https://github.com/kimsehwan96/pyjosa

공식 도큐먼트는 https://kimsehwan96.github.io/pyjosa/

GitHub에서 가장 인기 있는 Python 오픈 소스 프로젝트

누구나 GitHub에서 모든 문제에 자금을 지원할 수 있으며 이 돈은 유지 관리자와 기여자에게 분배됩니다.

머신 러닝과 딥 러닝에 관심이 있다면 TensorFlow에 대해 들어봤을 것입니다.

TensorFlow Models는 딥 러닝과 관련된 많은 라이브러리와 모델을 찾을 수 있는 오픈 소스 저장소입니다.

깃허브: https://github.com/tensorflow/models

Keras는 Python으로 작성되었으며 TensorFlow, CNTK 또는 Theano 위에서 실행할 수 있는 고급 신경망 API입니다.

빠른 실험을 가능하게 하는 데 중점을 두고 개발되었습니다.

깃허브: https://github.com/keras-team/keras

Flask는 가벼운 WSGI 웹 애플리케이션 프레임워크입니다.

복잡한 응용 프로그램으로 확장할 수 있는 기능과 함께 빠르고 쉽게 시작할 수 있도록 설계되었습니다.

Werkzeug 및 Jinja를 둘러싼 간단한 래퍼로 시작하여 가장 인기 있는 Python 웹 애플리케이션 프레임워크 중 하나가 되었습니다.

깃허브: https://github.com/pallets/flask

scikit-learn은 SciPy를 기반으로 구축되고 3절 BSD 라이선스에 따라 배포되는 기계 학습용 Python 모듈입니다.

깃허브: https://github.com/scikit-learn

Zulip은 실시간 채팅의 즉각성과 스레드 대화의 생산성 이점을 결합한 강력한 오픈 소스 그룹 채팅 응용 프로그램입니다. Zulip은 오픈 소스 프로젝트, Fortune 500대 기업, 대규모 표준 기관 및 사용자가 하루에 수백 또는 수천 개의 메시지를 쉽게 처리할 수 있는 실시간 채팅 시스템이 필요한 기타 기관에서 사용합니다. 300명 이상의 기여자가 한 달에 500개 이상의 커밋을 병합하는 Zulip은 또한 가장 크고 빠르게 성장하는 오픈 소스 그룹 채팅 프로젝트입니다.

깃허브: https://github.com/zulip/zulip

Django는 빠른 개발과 깨끗하고 실용적인 디자인을 장려하는 고급 Python 웹 프레임워크입니다.

깃허브: https://github.com/django/django

버그를 발견하고 스택 오버플로에서 검색하고 싶을 때 코딩 세션 중 시간을 절약하고 싶으십니까? 리바운드는 컴파일러 오류가 발생했을 때 스택 오버플로 결과를 즉시 가져오는 명령줄 도구입니다.

이것은 프로그래머에게 매우 편리한 라이브러리입니다.

깃허브: https://github.com/shobrook/rebound

이것은 Google 이미지에서 키워드/키-구를 검색하고 선택적으로 이미지를 컴퓨터에 다운로드하는 명령줄 파이썬 프로그램입니다.

다른 파이썬 파일에서 이 스크립트를 호출할 수도 있습니다.

깃허브: https://github.com/hardikvasa/google-images-download

Youtube-dl — 비디오 다운로드 youtube.com 또는 다른 비디오 플랫폼.

깃허브: https://github.com/rg3/youtube-dl

이 리포지토리는 대규모 시스템을 구축하는 방법을 배우는 데 도움이 되는 조직화된 리소스 모음입니다.

깃허브: https://github.com/donnemartin/system-design-primer

Mask R-CNN은 객체 감지 및 분할을 위한 것입니다. 이것은 Python 3, Keras 및 TensorFlow에서 Mask R-CNN을 구현한 것입니다. 모델은 이미지에 있는 개체의 각 인스턴스에 대해 경계 상자와 분할 마스크를 생성합니다. FPN(Feature Pyramid Network) 및 ResNet101 백본을 기반으로 합니다.

깃허브: https://github.com/matterport/Mask_RCNN

세계에서 가장 간단한 얼굴 인식 라이브러리를 사용하여 Python 또는 명령줄에서 얼굴을 인식하고 조작합니다. 이것은 또한 명령줄에서 이미지 폴더에 대한 얼굴 인식을 수행할 수 있는 간단한 face_recognition 명령줄 도구를 제공합니다!

깃허브: https://github.com/ageitgey/face_recognition

HTTP 서버에서 비밀 파일을 검색하는 도구입니다.

깃허브: https://github.com/hannob/snallygaster

Ansible은 근본적으로 단순한 IT 자동화 시스템입니다. 구성 관리, 애플리케이션 배포, 클라우드 프로비저닝, 임시 작업 실행 및 다중 노드 오케스트레이션을 처리합니다. 여기에는 로드 밸런서를 사용한 다운타임 없는 롤링 업데이트와 같은 작업이 포함됩니다.

깃허브: https://github.com/ansible/ansible

열 다섯) 디텍트론

Detectron은 Mask R-CNN을 포함한 최첨단 물체 감지 알고리즘을 구현하는 Facebook AI Research의 소프트웨어 시스템입니다. Python으로 작성되었으며 Caffe2 딥 러닝 프레임워크로 구동됩니다.

깃허브: https://github.com/facebookresearch/Detectron

터미널 세션 레코더 및 최고의 동반자 asciinema.org .

깃허브: https://github.com/asciinema/asciinema

HTTPie는 명령줄 HTTP 클라이언트입니다. 목표는 웹 서비스와의 CLI 상호 작용을 가능한 한 인간 친화적으로 만드는 것입니다. 단순하고 자연스러운 구문을 사용하여 임의의 HTTP 요청을 보낼 수 있는 간단한 http 명령을 제공하고 색상이 지정된 출력을 표시합니다. HTTPie는 테스트, 디버깅 및 일반적으로 HTTP 서버와 상호 작용하는 데 사용할 수 있습니다.

깃허브: https://github.com/jakubroztocil/httpie

You-Get은 다른 편리한 방법이 없는 경우 웹에서 미디어 콘텐츠(비디오, 오디오, 이미지)를 다운로드하는 작은 명령줄 유틸리티입니다.

깃허브: https://github.com/soimort/you-get

Sentry는 기본적으로 충돌을 실시간으로 모니터링하고 수정하는 데 도움이 되는 서비스입니다. 서버는 Python으로 되어 있지만 모든 애플리케이션에서 모든 언어의 이벤트를 보내기 위한 전체 API가 포함되어 있습니다.

깃허브: https://github.com/getsentry/sentry

Tornado는 원래 FriendFeed에서 개발된 Python 웹 프레임워크 및 비동기 네트워킹 라이브러리입니다. 비차단 네트워크 I/O를 사용하여 Tornado는 수만 개의 열린 연결로 확장할 수 있으므로 긴 폴링, WebSocket 및 각 사용자에 대한 장기 연결이 필요한 기타 애플리케이션에 이상적입니다.

깃허브: https://github.com/tornadoweb/tornado

이십 일) 마젠타

Magenta는 예술과 음악을 만드는 과정에서 기계 학습의 역할을 탐구하는 연구 프로젝트입니다. 주로 여기에는 노래, 이미지, 그림 및 기타 자료를 생성하기 위한 새로운 딥 러닝 및 강화 학습 알고리즘 개발이 포함됩니다. 그러나 예술가와 음악가가 이러한 모델을 사용하여 프로세스를 확장할 수 있도록 해주는 스마트 도구 및 인터페이스를 구축하는 것이기도 합니다.

깃허브: https://github.com/tensorflow/magenta

비트코인 암호화폐와 BitTorrent 네트워크를 사용하여 분산 웹사이트를 만드십시오.

깃허브: https://github.com/HelloZeroNet/ZeroNet

OpenAI Gym은 강화 학습 알고리즘을 개발하고 비교하기 위한 툴킷입니다. 이것은 표준화된 환경 세트에 대한 액세스를 제공하는 체육관 오픈 소스 라이브러리입니다.

깃허브: https://github.com/openai/gym

Pandas는 관계형 또는 레이블이 지정된 데이터로 쉽고 직관적으로 작업할 수 있도록 설계된 빠르고 유연하며 표현력이 뛰어난 데이터 구조를 제공하는 Python 패키지입니다. Python에서 실용적이고 실제적인 데이터 분석을 수행하기 위한 기본적이고 높은 수준의 빌딩 블록이 되는 것을 목표로 합니다. 또한 모든 언어에서 사용할 수 있는 가장 강력하고 유연한 오픈 소스 데이터 분석/조작 도구가 되는 더 넓은 목표를 가지고 있습니다. 이미 이 목표를 향해 잘 가고 있습니다.

깃허브: https://github.com/pandas-dev/pandas

Luigi는 배치 작업의 복잡한 파이프라인을 구축하는 데 도움이 되는 Python 패키지입니다. 종속성 해결, 워크플로 관리, 시각화, 오류 처리, 명령줄 통합 등을 처리합니다.

깃허브: https://github.com/spotify/luigi

spaCy는 Python 및 Cython의 고급 자연어 처리를 위한 라이브러리입니다. 최신 연구를 기반으로 구축되었으며 첫날부터 실제 제품에 사용되도록 설계되었습니다. spaCy는 사전 훈련된 통계 모델 및 단어 벡터와 함께 제공되며 현재 20개 이상의 언어에 대한 토큰화를 지원합니다. 세계에서 가장 빠른 구문 분석기, 태깅, 구문 분석 및 명명된 엔티티 인식을 위한 컨볼루션 신경망 모델 및 손쉬운 딥 러닝 통합이 특징입니다.

깃허브: https://github.com/explosion/spaCy

Theano는 다차원 배열과 관련된 수학 표현식을 효율적으로 정의, 최적화 및 평가할 수 있는 Python 라이브러리입니다. GPU를 사용하고 효율적인 기호 미분을 수행할 수 있습니다.

깃허브: https://github.com/Theano/Theano

TFlearn은 Tensorflow를 기반으로 구축된 투명한 모듈식 딥 러닝 라이브러리입니다. 실험을 촉진하고 속도를 높이기 위해 TensorFlow에 더 높은 수준의 API를 제공하는 동시에 완전히 투명하고 호환성을 유지하도록 설계되었습니다.

깃허브: https://github.com/tflearn/tflearn

Kivy는 혁신적인 멀티터치 사용자 인터페이스를 사용하는 애플리케이션 개발을 위한 오픈 소스 크로스 플랫폼 Python 프레임워크입니다. 목표는 코드를 재사용 및 배포 가능하게 만드는 동시에 빠르고 쉬운 상호 작용 디자인과 신속한 프로토타이핑을 허용하는 것입니다.

깃허브: https://github.com/kivy/kivy

Mailpile은 사용자 친화적인 암호화 및 개인 정보 보호 기능을 갖춘 현대적이고 빠른 웹 메일 클라이언트입니다. Mailpile의 개발은 대규모 후원자 커뮤니티의 자금 지원을 받으며 프로젝트와 관련된 모든 코드는 OSI 승인 자유 소프트웨어 라이선스에 따라 출시됩니다.

깃허브: https://github.com/mailpile/Mailpile

Matplotlib는 다양한 하드카피 형식과 플랫폼 간 대화형 환경에서 출판 품질의 그림을 생성하는 Python 2D 플로팅 라이브러리입니다. Matplotlib는 Python 스크립트, Python 및 IPython 셸, 웹 응용 프로그램 서버 및 다양한 그래픽 사용자 인터페이스 도구 키트에서 사용할 수 있습니다.

깃허브: https://github.com/matplotlib/matplotlib

YAPF는 원래 코드가 스타일 가이드를 위반하지 않았더라도 코드를 가져와 스타일 가이드를 준수하는 최상의 형식으로 다시 포맷합니다.

깃허브: https://github.com/google/yapf

쿠키 커터(프로젝트 템플릿)에서 프로젝트를 생성하는 명령줄 유틸리티, 예: Python 패키지 프로젝트 템플릿에서 Python 패키지 프로젝트를 생성합니다.

깃허브: https://github.com/audreyr/cookiecutter

HTTP 프롬프트는 HTTPie 및 prompt_toolkit을 기반으로 구축된 자동 완성 및 구문 강조 기능을 갖춘 대화형 명령줄 HTTP 클라이언트입니다.

깃허브: https://github.com/eliangcs/http-prompt

다음을 사용하여 인터넷 대역폭을 테스트하기 위한 명령줄 인터페이스 스피드테스트.넷 .

깃허브: https://github.com/sivel/speedtest-cli

이슈헌트

이 게시물은 이슈헌트 오픈 소스 프로젝트를 위한 크라우드 펀딩 및 소싱 플랫폼입니다.

누구나 GitHub에서 모든 문제에 자금을 지원할 수 있으며 이 돈은 유지 관리자와 기여자에게 분배됩니다.

https://issuehunt.io/

Pattern은 Python용 웹 마이닝 모듈입니다. 데이터 마이닝, 자연어 처리, 기계 학습 및 네트워크 분석을 위한 도구가 있습니다.

깃허브: https://github.com/clips/pattern

(거의) 모든 Python 2 또는 3 콘솔 프로그램을 한 줄로 GUI 응용 프로그램으로 전환합니다.

깃허브: https://github.com/chriskiehl/Gooey

Wagtail은 Django를 기반으로 하는 콘텐츠 관리 시스템입니다. 사용자 경험에 중점을 두고 설계자와 개발자를 위한 정밀한 제어를 제공합니다.

깃허브: https://github.com/wagtail/wagtail

Bottle은 Python을 위한 빠르고 간단하며 가벼운 WSGI 마이크로 웹 프레임워크입니다. 단일 파일 모듈로 배포되며 Python 표준 라이브러리 외에는 종속성이 없습니다.

깃허브: https://github.com/bottlepy/bottle

Prophet은 시계열 데이터를 예측하는 절차입니다. 비선형 추세가 연도별 및 주간 계절성과 휴일에 맞는 가법 모델을 기반으로 합니다. 1년 이상의 과거 데이터가 있는 일일 주기성 데이터에서 가장 잘 작동합니다. Prophet은 누락된 데이터, 추세의 변화, 큰 이상값에 강합니다.

깃허브: https://github.com/facebook/prophet

Falcon은 대규모 앱 백엔드 및 마이크로서비스를 구축하기 위한 안정적인 고성능 Python 웹 프레임워크입니다. REST 아키텍처 스타일을 권장하고 높은 효율성을 유지하면서 가능한 한 적은 작업을 시도합니다.

깃허브: https://github.com/falconry/falcon

Mopidy는 Python으로 작성된 확장 가능한 음악 서버입니다. Mopidy는 로컬 디스크, Spotify, SoundCloud, Google Play 뮤직 등에서 음악을 재생합니다. 다양한 MPD 및 웹 클라이언트를 사용하여 모든 전화, 태블릿 또는 컴퓨터에서 재생 목록을 편집할 수 있습니다.

깃허브: https://github.com/mopidy/mopidy

Hug는 Python 기반 API 개발을 가능한 한 간단하게 만드는 것을 목표로 하지만 더 간단하지는 않습니다. 결과적으로 Python API 개발을 대폭 간소화합니다.

깃허브: https://github.com/timothycrosley/hug

기호 수학을 위한 Python 라이브러리.

깃허브: https://github.com/sympy/sympy

오분의 사) 대시

Dash는 분석 웹 애플리케이션을 구축하기 위한 Python 프레임워크입니다. JavaScript가 필요하지 않습니다.

https://github.com/plotly/dash

풍부한 라이브 데이터의 시각화를 생성, 구성 및 공유하기 위한 유연한 도구입니다. 토치와 넘피를 지원합니다.

깃허브: https://github.com/facebookresearch/visdom

Luminoth는 다음을 위한 오픈 소스 툴킷입니다. 컴퓨터 시각 인식 . 현재 우리는 객체 감지를 지원하지만 훨씬 더 많은 것을 목표로 합니다. TensorFlow 및 Sonnet을 사용하여 Python으로 빌드됩니다.

깃허브: https://github.com/tryolabs/luminoth

Pygame은 Python에서 게임과 같은 멀티미디어 소프트웨어를 쉽게 작성할 수 있도록 설계된 크로스 플랫폼 라이브러리입니다.

깃허브: https://github.com/pygame/pygame

Requests는 HTTP/1.1 요청을 보내고, 헤더를 추가하고, 데이터를 구성하고, 멀티파트 파일 및 매개변수를 간단한 Python 사전으로 보낼 수 있는 Python 라이브러리입니다. 또한 동일한 방식으로 응답 데이터에 액세스할 수 있습니다.

깃허브: https://github.com/requests/requests

Statsmodels는 통계 모델에 대한 기술 통계 및 추정 및 추론을 포함한 통계 계산을 위해 scipy를 보완하는 Python 패키지입니다.

깃허브: https://github.com/statsmodels/statsmodels

#파이썬

해커눈닷컴

GitHub에서 가장 인기 있는 Python 오픈 소스 프로젝트

Github의 멋진 Python 오픈 소스 프레임워크, 라이브러리, 소프트웨어 및 리소스의 선별된 목록

01-2 파이썬의 특징

필자는 파이썬을 무척 좋아한다. 모든 프로그래밍 언어에는 각기 장점이 있지만 파이썬에는 다른 언어에서는 쉽게 찾아볼 수 없는 파이썬만의 독특한 매력이 있다. 파이썬의 특징을 알면 왜 파이썬을 공부해야 하는지, 과연 시간을 투자할 만한 가치가 있는지 분명하게 판단할 수 있을 것이다.

파이썬은 인간다운 언어이다

프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 행위라고 할 수 있다. 앞으로 살펴볼 파이썬 문법에서도 보게 되겠지만, 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있는 언어이다. 따라서 프로그래머는 굳이 컴퓨터의 사고 체계에 맞추어서 프로그래밍을 하려고 애쓸 필요가 없다. 이제 곧 어떤 프로그램을 구상하자마자 머릿속에서 생각한 대로 술술 써 내려가는 여러분의 모습에 놀라게 될 것이다.

다음 소스 코드를 보면 이 말이 쉽게 이해될 것이다.

if 4 in [1,2,3,4]: print(“4가 있습니다”)

위 예제는 다음처럼 읽을 수 있다.

만약 4가 1, 2, 3, 4 중에 있으면 “4가 있습니다”를 출력한다.

프로그램을 모르더라도 직관적으로 무엇을 뜻하는지 알 수 있지 않는가? 마치 영어 문장을 읽는 듯한 착각에 빠져든다.

파이썬은 문법이 쉬워 빠르게 배울 수 있다

어려운 문법과 수많은 규칙에 둘러싸인 언어에서 탈피하고 싶지 않은가? 파이썬은 문법 자체가 아주 쉽고 간결하며 사람의 사고 체계와 매우 닮아 있다. 배우기 쉬운 언어, 활용하기 쉬운 언어가 가장 좋은 언어가 아닐까? 유명한 프로그래머인 에릭 레이먼드(Eric Raymond)는 파이썬을 공부한 지 단 하루 만에 자신이 원하는 프로그램을 작성할 수 있었다고 한다.

※ 프로그래밍 경험이 조금이라도 있다면 파이썬의 자료형, 함수, 클래스 만드는 법, 라이브러리 및 내장 함수 사용 방법 등을 익히는 데 1주일이면 충분하리라 생각한다.

파이썬은 무료이지만 강력하다

오픈 소스인 파이썬은 당연히 무료이다. 사용료 걱정없이 언제 어디서든 파이썬을 다운로드하여 사용할 수 있다.

※ 오픈 소스(Open Source)란 저작권자가 소스 코드를 공개하여 누구나 별다른 제한 없이 자유롭게 사용 · 복제 · 배포 · 수정할 수 있는 소프트웨어이다.

또한 프로그래머는 만들고자 하는 프로그램의 대부분을 파이썬으로 만들 수 있다. 물론 시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않는다. 하지만 파이썬은 이러한 약점을 극복할 수 있게끔 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다.

파이썬과 C는 찰떡궁합이란 말이 있다. 즉 프로그램의 전반적인 뼈대는 파이썬으로 만들고, 빠른 실행 속도가 필요한 부분은 C로 만들어서 파이썬 프로그램 안에 포함시키는 것이다(정말 놀라우리만치 영악한 언어가 아닌가). 사실 파이썬 라이브러리 중에는 순수 파이썬만으로 제작된 것도 많지만 C로 만든 것도 많다. C로 만든 것은 대부분 속도가 빠르다.

※ 파이썬 라이브러리는 파이썬 프로그램을 작성할 때 불러와 사용할 수 있는 미리 만들어 놓은 파이썬 파일 모음이다.

파이썬은 간결하다

귀도는 파이썬을 의도적으로 간결하게 만들었다. 만약 펄(Perl)과 같은 프로그래밍 언어가 100가지 방법으로 하나의 일을 처리할 수 있다면 파이썬은 가장 좋은 방법 1가지만 사용하는 것을 선호한다. 이 간결함의 철학은 파이썬 문법에도 그대로 적용되어 파이썬 프로그래밍을 하는 사람들은 잘 정리되어 있는 소스 코드를 볼 수 있다. 다른 사람이 작업한 소스 코드도 한눈에 들어와 이해하기 쉽기 때문에 공동 작업과 유지 보수가 아주 쉽고 편하다.

다음은 파이썬 프로그램의 예제이다. 이 프로그램 소스 코드를 굳이 이해하려 하지 않아도 된다. 이것을 이해할 수 있다면 여러분은 이미 파이썬에 중독된 사람일 것이다. 한번 구경해 보자.

# simple.py languages = [‘python’, ‘perl’, ‘c’, ‘java’] for lang in languages: if lang in [‘python’, ‘perl’]: print(“%6s need interpreter” % lang) elif lang in [‘c’, ‘java’]: print(“%6s need compiler” % lang) else: print(“should not reach here”)

이 예제는 프로그래밍 언어를 판별하여 그에 맞는 문장을 출력하는 파이썬 프로그램 예제이다. 다른 언어에서 늘 보게 되는 단락을 구분하는 괄호({ }) 문자가 보이지 않는 것을 확인할 수 있다. 또한 줄을 참 잘 맞춘 코드라는 것도 알 수 있다. 파이썬 프로그램은 줄을 맞추지 않으면 실행되지 않는다. 코드를 예쁘게 작성하려고 줄을 맞추는 것이 아니라 프로그램이 실행되게 하려면 꼭 줄을 맞추어야 하는 것이다. 이렇듯 줄을 맞추어 코드를 작성하는 행위는 가독성에 크게 도움이 된다.

※ 이렇게 코드의 줄을 맞추는 것을 “들여쓰기”라고 부른다. 파이썬에서 들여쓰기를 하지 않으면 프로그램이 실행되지 않는다.

파이썬은 프로그래밍을 즐기게 해준다

이 부분이 가장 강조하고 싶은 부분이다. 파이썬만큼 필자에게 프로그래밍을 즐기게 해 준 언어는 없었다. 파이썬은 다른 것에 신경 쓸 필요 없이 내가 하고자 하는 부분에만 집중할 수 있게 해준다. 파이썬을 배우고 나면 다른 언어로 프로그래밍하는 것에 지루함을 느끼게 될지도 모른다. 조심하자!

파이썬은 개발 속도가 빠르다

마지막으로 재미있는 다음 문장으로 파이썬의 특징을 마무리하겠다.

“Life is too short, You need python.” (인생은 너무 짧으니 파이썬이 필요해.)

파이썬의 엄청나게 빠른 개발 속도를 두고 유행처럼 퍼진 말이다. 이 위트 있는 문장은 이 책에서 계속 예제로 사용될 것이다.

깃허브 트렌드 오픈 소스 파이썬 프로젝트 TOP10

파이썬은 개발자와 프로그래머 커뮤니티에서 가장 유행하는 프로그래밍 언어이다. 많은 이들이 파이썬 프로젝트에 필요한 리소스를 깃허브(GitHub)를 통해서 얻는다. 실제로 깃허브에 접속하면, 파이썬 프로젝트 시 참고할 수 있는 무료 오픈소스 프로젝트 종류가 다양하다. 이에, 인도 IT 전문 잡지 애널리틱스 인사이트가 깃허브 주요 오픈소스 파이썬 프로젝트 10종을 아래와 같이 선정했다.

1. 포톤

포톤(Photon)은 앤서블(Ansible)과 함께 워크플로우를 실행하도록 설계된 데이터 기반 툴로서 최고의 오픈소스 파이썬 프로젝트 중 하나이다. 파이썬을 활용하여 오픈소스 인텔리전스 도구를 위해 설계된 빠른 크롤러이다.

2. 매님

매님(Manim)은 학생을 위한 수학 동영상 설명용 애니메이션 엔진을 탑재한 인기 파이썬 프로젝트다. 매님은 매우 다양한 패키지로 정밀한 애니메이션을 제작하는 데 유용하다.

3. 텐서플로 프로젝트

텐서플로 프로젝트(TensorFlow Project)는 오픈소스 머신 러닝 프레임워크와 함께 트렌드 오픈소스 파이썬 깃허브 프로젝트 중 하나이다. 유연한 아키텍처와 서로 다른 플랫폼에 걸쳐 계산을 쉽게 배포하는 고성능 수치 계산 지침을 제공한다.

4. 에어플로우

에어플로우(Airflow)는 오픈소스 파이썬에서 널리 사용되는 깃허브 프로젝트로, 객체 전체에 걸쳐 광범위한 REST API 엔드포인트를 지원한다. 입력으로 JSON을 수신하고 JSON 응답을 반환합니다. 에어플로 API는 파이썬 프로젝트와 역호환되도록 설계되었다.

5. 구글 이미지 다운로드

구글 이미지 다운로드(Google Image Download)는 구글 이미지에서 수백 개의 이미지를 다운로드할 수 있는 최고의 오픈소스 파이썬 프로젝트 중 하나이다. 이미지를 색인화하고 그것들을 찾기 위해 향상되는 검색 이미지이다.

6. 뉴럴토크

뉴럴토크(NeuralTalk)는 문장으로 이미지를 설명하기 위해 멀티모달 반복 신경망을 학습하는 인기 있는 깃허브 프로젝트이다. 연구 커뮤니티를 돕기 위해 파이썬과 NumPy 소스 코드로 구성되었다.

7. 리바운드

리바운드(Rebound)는 오픈소스 다목적 N-바디 코드(N-body code)로 깃허브에 대한 최고의 프로그래밍 언어 파이썬 프로젝트 중 하나이다. 아래 입자의 움직임을 유연성과 맞춤형 기능으로 통합해 복잡한 문제를 해결하는 소프트웨어 패키지다.

8. 숀시

숀시(Xonsh)는 깃허브에서 프로그래밍 언어 기반, 크로스 플랫폼, 유닉스 게이징 셸 언어 및 명령어로서 트렌드 파이썬 프로젝트이다. 전문가가 일상적으로 사용하도록 파이썬 3.6+의 슈퍼셋으로 알려진 깃허브 프로젝트이다.

9. 딥페이스랩

딥페이스랩(DeepFaceLab)은 깃허브에서 볼 수 있는 최고의 오픈소스 파이썬 프로젝트 중 하나이다. 이 프로그래밍 언어를 위한 가벼운 얼굴 인식 및 얼굴 속성 분석 프레임워크이다. 최첨단 모델을 포장하는 하이브리드 얼굴 인식 프레임워크이다.

10. XSS 스트라이크

XSS 스트라이크(XSStrike)는 이 프로그래밍 언어인 파이썬의 트렌드 깃허브 프로젝트 중 하나이며 XSS 공격을 탐지하고 이용하는 개발력으로 알려져 있다. 4개의 수동 작성 파서(parser), 고속 크롤러, 지능형 페이로드 제너레이터, 퍼징 엔진과 같은 추가 기능으로 구성된다.

[파이썬] 파이썬 학습 사이트 모음

▶ 파이썬 다운로드 사이트

파이썬은 오픈소스로 누구나 다운로드 사용해서 사용 할 수 있습니다. 하지만 편안한(?) 개발을 위해 IDE라는 통합개발환경, 전용에디터를 사용합니다. 개발 환경이나 선호도에 따라 여러가지 IDE가 있으니 사전에 잘 확인 해 보시기 바랍니다.

k-mooc의 세종대 강의에서는 아나콘다를, 경기지식 강의에서는 파이참을 추천하고 있네요.

1. 아나콘다

아나콘다는 Anaconda(이전: Continuum Analytics)라는 곳에서 만든 파이썬 배포판으로, 수백 개의 파이썬 패키지를 포함하고 있습니다. 또한 회사 내에서도 상업용으로 무료로 사용할 수 있다는 장점이 있습니다.

https://www.anaconda.com/

2. 파이참

https://www.jetbrains.com/pycharm/

3. 파이썬 공식 사이트

오픈소스 무료 프로그램으로 누구나 받을 수 있습니다. 자신의 O/S에 맞춰서 설치하시면 됩니다

https://www.python.org/

▶ 파이썬의 기본문법 및 예제 사이트

https://docs.python.org/3/tutorial/

▶ 파이썬을 배우고 실습할 수 있는 사이트

https://www.learnpython.org/

https://www.codecademy.com/learn/learn-python-3

키워드에 대한 정보 파이썬 오픈 소스

다음은 Bing에서 파이썬 오픈 소스 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 GitHub 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기

GitHub #한국 #1위 #개발자가 #말하는 #오픈소스 #해야 #하는 #이유


YouTube에서 파이썬 오픈 소스 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 GitHub 한국 1위 개발자가 말하는 오픈소스 해야 하는 이유 | 파이썬 오픈 소스, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment