- OSPO 101은 오픈 소스 프로그램 오피스 관리에 대해 알아야 할 모든 것에 대한 과정입니다.
- OSPO 101 과정 자료는 조직을 위한 본격적인 패키지 과정으로 LF 교육에서도 사용할 수 있습니다.
- 오픈 소스 소개
- 오픈 소스 비즈니스 전략
- 효과적인 오픈 소스 프로그램(OSPO) 관리
- 오픈 소스 개발 사례
- 오픈 소스 준수 프로그램
- 오픈 소스 프로젝트와 효과적인 협업
- 오픈 소스 프로젝트 만들기
OSPO 101은 오픈 소스 프로그램 오피스 관리에 대해 알아야 할 모든 것에 대한 과정입니다.
콘텐츠를 단편적으로 재사용할 수 있도록 모듈화하기 위한 것입니다.
OSPO 101 과정 자료는 조직을 위한 본격적인 패키지 과정으로 LF 교육에서도 사용할 수 있습니다.
https://training.linuxfoundation.org/training/open-source-management-and-strategy/
프론트엔드 빌드 시간을 줄이기 위한 노력은 계속되는군요.
https://pnpm.io 에서 설치법과 사용법을 알 수 있습니다.
pnpm: Done in 16.5s
npm: added 1009 packages, and audited 1010 packages in 37s
Learn for free:
HTML: http://html.com
CSS: http://web.dev/learn/css
JavaScript: http://javascript.info
React: http://reactplay.io
API: http://rapidapi.com/learn
Python: http://learnpython.org
SQL: http://w3schools.com/sql
Git: http://git-scm.com/book
Vue: http://learnvue.co
JavaScript: http://javascriptquiz.com
Nextjs: http://nextjs.org/learn
PHP: http://phptherightway.com
GO: http://learn-golang.org
Open Source: http://markodenic.com/make-your-first-open-source-contribution/
AI: http://elementsofai.com
ML: http://freecodecamp.org/learn/machine-learning-with-python
Web3: http://learnweb3.io
Blockchain: http://cryptozombies.io
Flexbox: http://flexboxfroggy.com
SEO: http://markodenic.com/category/seo
Rust: http://rust-lang.org/learn
Design Patterns: https://refactoring.guru
from: https://twitter.com/denicmarko/status/1611312353500332032
리액트에서 클래스 방식과 함수 방식으로 이전하는 가운데 중요한 훅으로 useEffect가 있습니다. 클래스 라이프사이클 중에 componentDidMount() 뿐만 아니라 componentDidUpdate()까지 useEffect 훅에 포함되어 있어서 onLoad 상황 뿐만 아니라 화면이 바뀔 때마다 useEffect가 동작하게 됩니다. 이는 계속되는 무한 루프를 발동시킬 수 있기 때문에 사용에 주의해야 합니다.
이에 관련된 유트브 영상도 많이 있어 공유합니다.
https://www.youtube.com/results?search_query=useeffect+infinite+loop
마크다운 포맷의 파일은 개발할 때 많이 사용됩니다.
확장자는 md 입니다. 대표적인 파일이 README.md 입니다. GitHub에서도 이 파일은 렌더링해서 보여주고 있습니다.
HTML은 모두 아실 겁니다. HyperText Markup Language
이게, 태그(마크)가 많아서, 글쓰기에 필요한 것만으로 줄여서 Mark Down 이라고 명명.
Daring Fireball이 제가 처음 본 글이었습니다. http://daringfireball.net/projects/markdown/syntax#philosophy
저도 md로 문서를 많이 쓰고, 커밋하지만, 자주 사용하는 것은 10개도 안 될 정도입니다.
# : 제목
## : h2
### : h3
`code` : code 또는 명령어
```
multi
lines
```
[링크 제목](https://...) : 링크
![이미지](https://...) : 이미지
마크다운의 치트키는 기존 html 태그 모두 사용 가능하다는 것도 빼놓을 수는 없습니다.
번역체로 공유합니다.
from: https://dev.to/eoeboh/open-source-101-for-beginners-30af
===
여러 셰프가 주방에서 맛있는 식사를 조리하고 수석 셰프가 이 식사를 감독한다고 상상해 보세요. 누구나 더 많은 재료나 음식을 추가하고, 나쁜 맛을 바로잡고, 식사 요리에 대한 더 나은 아이디어를 제안함으로써 식사를 수정할 수 있습니다.
이 설정에서 누구든지 먼저 식사의 정확한 샘플을 채취하고 수정한 다음 감독 셰프에게 샘플을 제출하여 잠재적으로 실제 식사에 추가할 수 있도록 식사에 기여할 수 있습니다.
그러나 식사에 포함될 모든 샘플은 수석 셰프와 몇 명의 추가 감독 셰프의 승인을 받아야 합니다.
위 상황은 소프트웨어 개발에서 오픈 소스의 개념을 정의합니다.
이제 비교 가능한 실제 일러스트레이션이 있지만 실제로 오픈 소스 프로젝트란 무엇입니까?
간단히 말해서 오픈 소스 프로젝트는 대중에게 공개되어 누구나 검사, 사용, 수정 및 배포가 가능한 소스 코드가 포함된 소프트웨어로 정의할 수 있습니다.
이제 오픈 소스가 무엇인지 이해했습니다. 오픈 소스 환경에서 사용되는 용어와 그 의미를 살펴보겠습니다.
이 시점에서 할당된 역할과 일반적인 오픈 소스 프로젝트에서 사용되는 용어를 살펴보겠습니다.
첫째, 오픈 소스 기여는 코딩 기술만 있는 사람들에게만 국한되지 않는다는 점에 주목하고 싶습니다. 실제로 대부분의 오픈 소스 프로젝트에는 문서 작성, 오타 수정, UI/UX 디자인, 심지어 언어 번역이 필요합니다.
기여할 새로운 오픈 소스 프로젝트를 검색할 때 주의해야 할 특정 작업이 있습니다.
대부분의 활성 오픈 소스 프로젝트에는 프로젝트 토론, 커뮤니티 호출이 자세히 이루어지는 Discord 또는 Slack 채널이 있습니다. 채널에 가입하고 새로운 기여자로 자신을 소개하는 것은 특히 비코딩 기여자를 위해 프로젝트에 참여하는 좋은 단계입니다.
활성 Discord/Slack 채널은 그러한 프로젝트가 환영하고 포용적이라는 좋은 표시입니다. 디자이너, 기술 작가, 프로젝트 관리자와 같은 비코딩 기여자의 경우 채널은 참여, 공유 및 기여를 전달하는 가장 좋은 방법입니다.
기여할 첫 번째 오픈 소스 프로젝트를 찾는 데 도움이 되는 사이트는 다음과 같습니다.
오픈 소스에서 삽질하는 것은 훌륭한 단계이지만 훨씬 더 나은 방법으로 작업을 수행하는 방법을 아는 것은 모든 프로젝트에 귀중한 기여자가 될 것입니다. 참고해야 할 몇 가지 모범 사례는 다음과 같습니다.
GitHub에서 인기 있는 많은 오픈 소스 프로젝트를 이 링크 에서 찾을 수 있습니다 .
오픈 소스는 기술적 배경이나 기술 수준에 관계없이 모든 사람을 위한 것입니다. 또한 오픈 소스는 기술 향상, 필요한 경험 제공, 팀워크 및 협업 기술 향상, 네트워크 성장 및 잠재적인 일자리 확보와 같은 많은 이점을 제공합니다.
from: https://dev.to/eoeboh/open-source-101-for-beginners-30af
1946년 ENIAC(Electronic Numerical Integrator And Calculator)이 만들어지면서, 컴퓨터가 세상을 바꾸기 시작했습니다.
이렇게 생겼죠. 컴퓨터 한 대의 부피가 매우 큽니다.
이런 컴퓨터를 움직이는 방법이 프로그램입니다. 컴퓨터가 하는 일이 세상을 계산하는 것이기 때문에 프로그래밍이 쉽지 않습니다. 세상이 쉽지 않기 때문입니다.
인터넷이 1990년에 시작되면서 네트워킹으로 인한 컴퓨터의 발전은 가속되었고, 이커머스, 온라인 게임, SNS 등으로 세상은 점점 사이버 세상으로 이주하는 것이 트렌드가 되었습니다. 오프라인에서 만나서 해야했던 일들이 온라인으로 가능하게 변하고 있는 것입니다.
세상이 단순하지 않기 때문에, 세상을 사이버 세상으로 옮기는 작업은 쉽지 않다고 생각합니다. 그래도 많은 프로그램들이 세상에 영향을 주고 있고, 이런 일을 하는 것은 의미가 있습니다.
1. 클린 코드(Clean Code): 누구나 읽기 좋고 깨끗한 코드를 짜고 싶어 합니다. 하지만, 시간적인 제약, 조직의 룰, 개인의 취향에 따라 클린 코드를 짜는 것이 이상적인 가치가 되어 버렸습니다. 그래도 세상이 많이 좋아진 덕에 클린 코드 가이드를 쉽게 접할 수 있습니다. SonarLint(https://www.sonarlint.org) 플러그인을 설치하면 개발 도구에서 어떤 점을 수정해야 할 지 가이드를 볼 수 있습니다.
2. 다독 다작 다상량(多讀 多作 多商量): 에디슨이 말한 "99%의 노력과 1%의 영감으로 천재"의 습성은 쉽지 않은 명언입니다. 동양에서는 운70% 기30%라고 조금 상반되는 숫자를 얘기합니다. 그래서 30% 만이라도 사기를 올릴 필요가 있다고 생각합니다. 구글, 스택오버플로우, GitHub Copilot, ChatGPT가 코딩에 필수(?)인 세상이지만, 인터넷이 끊긴 상황에서도 짜고 싶은 코드를 짜는 실력이 필요합니다. 그것이 진정한 프로그래머의 실력이 아닐까 라고 생각합니다. 오픈 소스에서 중요한 것은 코드를 보고 맥락을 이해한 다음에 코드를 수정하는 일입니다. 많이 읽고, 많이 짜보고, 많이 회고하는 작업은 코드를 짤 때 매우 좋은 습관입니다.
3. 팀 개발 가이드(Team Dev Guide): 한반두와 손흥민의 차이점은 개인과 팀입니다. 자기 중심으로 프로젝트를 진행할 것인가, 팀과 협력하며 할 것인가의 차이입니다. 함께 일하면 궁합(이라고 쓰고 손발이 맞아야 라고 읽음)이 잘 맞아야 스트레스를 덜 받습니다. 프로젝트 개발 가이드가 제공이 되고, 팀원들의 기호에 따라 수정하면서 공감대를 형성하면, 사소한 것(이라고 할 수도 있지만 민감한 스타일)에 킹받지 않고 개발이 가능합니다.
2023년 새해 복 많이 받으시길 바랍니다.
MVC 패턴은 웹 개발자라면 다 알고 있는 패턴입니다.
아이폰, 안드로이드폰이 등장하면서 Data는 서버가, 화면은 네이티브 앱이 책임지는 구도로 변했습니다.
웹페이지를 만들어 내던 서버 사이드 렌더링 작업을 바꾸면 어떨까 하는 생각에 등장한 것이
서버에서 보내주는 JSON 데이터를 이용하는 자바스크립트앱을 만들자
이렇게 태어난 기술이 Angular, React, Vue, Svelte입니다.
리액트 관련 속성과외 자료 공유합니다.