라운드 테이블 주제
- 주제 1: 2020년부터 국가 계획에 오픈 소스가 포함된 이후로 점점 더 많은 오픈 소스 프로젝트가 있습니다. 오픈 소스 프로젝트의 출현은 모든 사람이 업그레이드 프로젝트를 배우고 깊이 이해할 수 있는 방법을 제공합니다. 학습의 관점에서 개발자는 어떻게 프로젝트에 참여하고 프로젝트에 대해 배울 수 있습니까?
-
주제 2: CloudWeGo 오픈 소스 프로젝트의 주요 방향은 클라우드 네이티브 마이크로 서비스 프레임워크입니다. 이러한 프로젝트의 주요 사용 시나리오는 무엇입니까? 이러한 유형의 프로젝트를 학습하는 것의 가치는 무엇입니까? 혼합 커뮤니티의 경험은 무엇입니까?
-
주제 3: 프로젝트 사용자로서의 프로그래머의 역할과 오픈 소스 프로젝트 디자이너로서의 개발자의 역할의 차이점은 무엇입니까 ? 이러한 역할 전환을 겪은 커뮤니티 커미터로서 어떤 교훈을 공유할 수 있습니까?
-
주제 4: 커뮤니티와 전반적인 상황에서 주요 공장에서 Go 엔지니어를 모집하는 이유에 대해 이야기 하십시오. 프로그래머는 경력 개발을 어떻게 계획해야 합니까? 프로그래머의 최종 목적지는 어디입니까?
-
주제 5: 빅 가이의 공유 세션에서 빅 가이가 추천하는 블로거/기술 학습 웹사이트/도서.
손님
1호
2020년부터 오픈소스가 국가계획에 포함되면서 오픈소스 프로젝트가 점점 늘어나고 있다. 오픈 소스 프로젝트의 출현은 모든 사람이 업그레이드 프로젝트를 배우고 깊이 이해할 수 있는 방법을 제공합니다. 학습의 관점에서 개발자는 어떻게 프로젝트에 참여하고 프로젝트에 대해 배울 수 있습니까?
공유자 : 왕 웨이차오
이 문제에 대한 소개는 주로 다음 네 가지 측면에서 수행됩니다.
-
Kitex 및 CloudWeGo 커뮤니티와 연결하는 방법
-
클라우드 네이티브 및 오픈 소스 문화에 대한 개인 지식
-
내가 이해하는 오픈 소스와 오픈 소스 정신에 참여하는 이유는 무엇입니까?
-
오픈 소스에 대한 개인적인 미래의 생각.
Kitex 및 CloudWeGo 커뮤니티 와 연결하는 방법
사실 Kitex와의 인연은 매우 우연의 일치입니다.백엔드 개발을 몇 년 하긴 했지만 아직 기술적인 부분에서 병목 현상이 있는 것 같아서 좀 더 발전하고 싶어요. 나의 과거 경험을 되돌아보면:
-
2021년 9월에는 InfoQ에서 출력을 하려고 하고 챌린지는 당일 업데이트 되고 더 많은 번역이 될 것입니다.
-
10월 말에 특정 기술을 배우기로 결정했고 이전에 "Tao"와 "Fa"에 대해 더 많이 배웠고 주로 프로그래밍 개념에 대한 지식과 이해에 대해 배웠고 "기술"과 "도구"에 대해서는 거의 배웠습니다. ";
-
공자(孔子)의 '맛은 하루 종일 먹지도 않고 밤새도록 자지도 않고 생각하는 것이 헛되고 배우는 것이 낫다'는 뜻이다. 구조 이전에 몇 가지 특정 기술을 배우는 것이 좋습니다. 그래서 다른 주제를 찾아서 관심있는 부분부터 시작하기로 했으나 도커, 클라우드 네이티브, 아키텍처 디자인, 마이크로서비스 사고에 대한 주제는 매우 뜨겁고 경쟁이 치열하며 시작하고 만들기가 어려울 수 있습니다. 잠시 동안 물건을 소유하십시오.
-
이제 막 오픈소스였던 Kitex와 오픈소스였던 CloudWeGo 프로젝트의 일부 관련 미들웨어 컬렉션이 정보와 사례가 적어야 한다는 생각이 들어서 "CloudWeGo Microservice Practice" 시리즈를 시작하여 작은 컬렉션을 만들게 되었지만, 완전하게 쓴건 아니고 운영 데이터에 대해서만 썼고 완전한 비즈니스 관행은 아닙니다.
개인적으로 마이크로서비스 프레임워크에 대해 배우는 것은 시작하는 좋은 방법이며, 더 중요한 것은 커뮤니티에 참여할 수 있다는 것입니다. 프레임워크에 대해 배우는 과정에서 CloudWeGo Feishu 그룹의 관련 동향에 대해 자주 배우고 CloudWeGo 관련 PR 또는 문제를 살펴보고 최신 개발 사항에 주의를 기울이고 스스로 할 수 있는 일을 확인합니다. 나중에 Kitex 서비스 검색, 서비스 등록 관련 구성 요소, 단위 테스트 등에 주로 기여했습니다.
클라우드 네이티브 및 오픈 소스 문화 에 대한 개인적인 이해
그렇다면 나는 어떻게 오픈소스 문화를 차근차근 이해하거나 접하게 되었는가?
이것은 아마도 2018-2019년으로 거슬러 올라갈 것입니다.그 당시 나는 종종 선전에서 일부 기술 회의, Meetup 및 기타 활동에 참여했습니다.이 도시의 기술 분위기는 여전히 비교적 좋습니다. 그 당시에는 클라우드 네이티브, 컨테이너 기반 가상화 K8S가 기술적인 트렌드임이 분명했는데, 당시에는 도커에 대한 관심 때문에 K8S의 관련 기술 분야에 더 많은 관심을 기울였습니다.
마지막으로, 우연히 Linux Foundation, Linux Open Source Foundation에서 몇 가지 기술 인증을 받게 될 것이라는 것을 알게 되었습니다. 그 당시에 CKA나 CKS를 런칭한 것과 같은 특정 기술을 일부러 배워보고 싶었고, 일종의 학습 채널이기도 하다.
그뿐만 아니라 재단에서 런칭한 몇몇 오픈소스 프로젝트에도 관심을 기울이곤 합니다. 그 당시 K8S를 배울 때 K8S 관련 문서를 검색하고 문서에 대한 일부 PR을 언급했습니다.이것이 오픈 소스에 대한 첫 번째 노출입니다.
오픈 소스에 참여하는 이유와 오픈 소스 정신 이해
-
훌륭한 오픈 소스 프로젝트에 대해 알아보기
우물 안 개구리가 되지 말고 나가서 다른 사람들이 무엇을 하는지 살펴보세요. 예: 우수한 코딩, 코드 사양, 디자인 패턴, 아키텍처 아이디어 등, 보다 긍정적인 예와 모범 사례를 찾고 기술 지평을 넓힙니다.
-
오픈 소스 세계는 포괄적이고 열린 세계입니다.
Github에서 전 세계의 더 많은 더 나은 사람들을 찾고, 함께 작업하고, 배울 수 있습니다. 그들의 기술적 아이디어, 사고 방식 및 경력 계획을 이해하는 것도 영감을 줄 것입니다.
-
공동 건설은 조금씩 시작하여 지역 사회에 통합되어 성취감을 가져옵니다.
오픈 소스는 종종 사랑을 사용하여 전기를 생성합니다. 오픈 소스의 첫 번째 단계는 코드를 공개하는 것이며, 그 다음 커뮤니티에서 주도하여 반복과 진화를 주도하는 경우가 많습니다. 오픈 소스의 본질과 의미는 높은 수준의 불입니다. 모두가 모이는 것. 우리가 커뮤니티에 기여하는 부분은 앞으로 많은 사용자가 문제를 해결하는 데 도움이 될 수 있습니다.이것이 오픈 소스 프로젝트의 활력의 구현이며 성취감의 원천입니다.
오픈 소스에 대한 개인적인 미래 생각
가능하다면 앞으로 오픈소스를 직업으로 삼고 싶습니다. 주요 이유는 다음과 같습니다.
-
꿈
원격으로 작업하거나, 오픈 소스 제품에 코드를 기여하거나, 재단에서 일하는 꿈이 있었습니다.
-
설교자
상품화와 내성에 대해 너무 생각하지 않고 좋아하는 사람과 사물을 다룰 수 있습니다.
-
향후 계획
현재의 아이디어는 하루아침에 이루어지지 않을 수도 있지만 적어도 CloudWeGo에서 진입점을 찾았고 커뮤니티에 더 잘 기여하기를 희망했습니다. ByteDance의 동적 및 전략적 레이아웃 시리즈의 관점에서 CloudWeGo는 미래에 Go 마이크로서비스 분야에서 더 영향력 있는 오픈 소스 프로젝트를 확실히 만들 수 있을 것입니다.
마지막으로 오픈소스 매니아를 한 분 공유하고 싶은데, 정말 대표적이고 괴짜스러운 분이신 것 같아요. 그의 이름은 Su Yeqin입니다. 그는 Yunnan의 소아과 의사이지만 실제로는 여가 시간에 Linux 플레이어입니다. 관심이 있는 경우 더 많은 것을 배울 수 있습니다.
마지막으로 모두가 코드의 세계에서 재미를 찾을 수 있기를 바랍니다!
공유자: Yang Wen
이 문제와 관련하여 실제 경험을 바탕으로 두 가지 측면에서 공유하겠습니다.
-
스스로 하는 각도;
-
프로젝트에 참여하는 관점.
스스로 앵글
오픈 소스를 직접 수행하는 것은 실제로 Go Night Reading과 같은 Repo와 같이 그다지 하드코어하지 않습니다.
Go Night Reading은 현재 Github에 1W 이상의 별을 보유하고 있습니다. 사실 별의 수 자체는 아무것도 나타내지 않습니다. 그것은 더 많은 경험을 나타냅니다. 이러한 관점에서 별의 수를 참조하면 오픈 소스를 이해하는 데 도움이 된다고 생각합니다. , 또는 오히려 오픈 소스가 가져오는 피드백입니다.
-
오픈소스 프로젝트 운영의 의의 명확화
아주 하드코어한 프로젝트든 기본 구성 요소든, 실용적인 문제를 해결하고 모두가 배우고 성장하도록 도울 수 있는 콘텐츠든, 우리는 이것이 도움이 되는 것인지, 어떻게 해야 하는지에 대해 생각해야 합니다. 참여 오픈 소스 모델. 별을 얻으려고 하면 역효과가 날 수 있습니다. 사실 제 생각에는 오픈소스 프로젝트로 운영해야 한다고 생각합니다.이로부터 배우거나 오픈소스 정신을 이해하고 오픈소스가 가져다주는 긍정적인 피드백은 사실 꽤 많습니다. 별의 수 자체에 주의를 기울인다.
-
프로젝트 개발 필요 프로세스
-
오픈 소스 프로젝트의 개발은 처음에는 한두 사람이 시작할 수 있습니다. 이 과정에서 이 부분에 관심이 있는 사람들을 소개하거나 프로젝트를 통해 다른 사람들을 도우며 다른 사람들을 끌어들이고 점차적으로 프로젝트의 규모를 확장할 수 있습니다. 어떤 종류의 프로젝트이든 이것은 실제로 프로세스입니다. Go Night Reading, PingCAP의 TiDB 및 기타 Go Repo와 같이 현재 단계에서 비교적 성숙하고 대규모인 프로젝트도 실제로 이러한 방식으로 수행됩니다.
첫 번째는 나쁘지 않다고 생각하는 수준까지 수행한 다음, 친구나 커뮤니티에서 이를 홍보하는 것입니다. 예를 들어 CloudWeGo는 실제로 문제를 실제로 해결한 다음 이를 오픈 소스로 하여 장면 요구 사항 중 일부를 실제로 해결한 다음 단계적으로 꾸준히 개발했습니다. 오늘날 우리와 같은 행사는 실제로 지역 사회의 사람들을 돕고 있습니다. 프로젝트 자체가 가치 있고 역동적이라면 팀장이든 참가자든 참여하는 한 실제로 많은 것을 배울 수 있습니다.
위의 내용은 자신의 관점에서 시작하여 투자하고 싶은 프로젝트 또는 해결해야 할 고충 문제를 찾은 다음 계속 반복하는 것입니다. 금은 항상 빛나고 프로젝트도 마찬가지입니다 프로젝트가 진정으로 가치 있는 한 항상 더 많은 사람들이 알아차릴 것입니다.
프로젝트 관점에서의 참여
또 다른 관점은 일부 프로젝트에 참여하는 것이지만 프로젝트에 참여하기 전에 선택해야 합니다. 선택 기준은 다음 세 가지 측면을 참조할 수 있습니다.
-
문제를 해결할 수 있습니다. 프로젝트를 선택하고 프로젝트에 참여하는 방법을 판단하는 기준 또는 기준입니다.
-
개발 언어를 결정합니다. 프로젝트 구축이든 오픈 소스 운영이든 상대적으로 넓은 범위의 개발 언어를 선택하는 것은 함정에 빠지지 않도록 보다 체계적이고 표준화될 것입니다.
-
오픈 소스 프로젝트에 참여하는 목적. 당신이 무언가를 배우고 얻을 수 있고 프로젝트에 대한 자신의 가치의 일부를 출력할 수 있는지 여부와 같은 오픈 소스 프로젝트의 영향을 고려하십시오.
내 경험에 관한 한 더 완전하고 영향력 있는 오픈 소스 프로젝트를 선택하는 것이 좋습니다. 2018년에는 TiDB에 참여하여 Active Contributor를 획득했는데 실제 하드코딩에 참여하는 차원은 그리 깊지는 않지만 참여에 관한 것입니다. 계속해서 귀하의 가치를 생성하고 출력하는 동시에 커뮤니티에서 귀하에게 피드백을 계속 흡수하기 위해서는 많은 것들이 투자되어야 합니다.
요컨대, 현재 자신에게 맞는 것을 선택하고 어떤 사람이 되고 싶은지, 어떤 역할을 하고 싶은지 파악한 다음 그에 따라 목표를 달성하는 데 도움이 되는 몇 가지 프로젝트를 찾으십시오. 사실 오픈소스 프로젝트에 참여하는 것도 자신의 능력에 맞게 하고, 정말 자신과 흥미에 맞는 분야를 선택하고, 이 기술 분야에서 계속 육성해야 합니다. 장기적인 기술 투자를 통해서만 이 분야에서 비교적 좋은 성과와 결과를 얻을 수 있으므로 진정으로 핵심을 배우고 개선할 수 있습니다.
공유자: 리 롱
개발자가 오픈 소스에 참여할 수 있는 방법과 관련하여 다음 세 가지 참조 방법을 제공합니다.
-
First Good Issue에 참여하여 커뮤니티 문제에 기여/해결합니다.
-
실제 전투(프로젝트 실제 전투/성능 비교 등)를 통해 최적화할 수 있는 포인트를 찾고 해결하고 커뮤니티에 피드백합니다.
-
소스 코드를 직접 읽으십시오.
First Good Issue 참여/커뮤니티 문제 해결
-
일반 커뮤니티에는 백로그 문제가 많으며 처음에는 몇 가지 간단한 문제를 선택할 수 있습니다.
저는 원래 글쓰기 사업 때문에 오픈소스를 했었는데, 기본적으로 바이트 내부의 모든 Go 서비스는 Gorm을 ORM으로 사용합니다. Gorm에 대해 알게 되었을 때 당시 Gorm에는 현재 100개가 넘는 백로그를 포함하여 실제로 꽤 많은 문제가 있다는 것을 알았습니다. 그래서 저는 몇 가지 커뮤니티 문제를 해결함으로써 오픈 소스에 참여할 수 있다는 것을 알게 되었습니다.
일부 문제는 사용상의 버그일 수 있습니다. 이러한 버그를 수정할 수 있습니다. 지속적으로 문제를 해결하다 보니 점차 프레임워크에 익숙해지고, 1~2개월 정도 지속되는 간단한 버그도 수정해야 하고, 기본적으로 이 프레임워크에 익숙합니다.
-
오픈 소스 커뮤니티는 일반적으로 초보자 작업을 수시로 제공하며 모든 사람이 적극적으로 참여할 수 있습니다.
CloudWeGo 커뮤니티는 종종 First Good Issues, 즉 초보자 작업을 보내며 초보자 작업을 수행하여 커뮤니티에 참여할 수 있습니다. Weichao 씨와 제가 처음에 맡았던 초보자 작업은 서비스 등록 검색 확장, 일부 데모 서비스, 샘플 서비스 등이었습니다. 이러한 샘플 서비스를 작성할 때 실제로 몇 가지 문제를 찾아 고칠 수 있었습니다.
요약하자면 커뮤니티에 이슈를 보내거나 직접 이슈를 적극적으로 찾아 오픈 소스에 참여할 수 있습니다. 대조적으로 Gorm 자체에는 많은 문제가 있으며 관심 있는 학생은 몇 가지 간단한 문제를 선택하여 참여할 수 있습니다. CloudWeGo는 정기적으로 몇 가지 초보자 작업을 보내며 모든 사람이 적극적으로 참여할 수 있습니다.
실제 전투(프로젝트 전투/성능 비교 등)
-
문서의 데모 예제를 수정하여 커뮤니티에 피드백하십시오.
일부 개발자는 문서의 Demo를 보고 Demo를 붙여 실행하여 실행할 수 있지만 직접 붙여넣은 후 실행할 수 없거나 문서가 잘못 작성되었음을 알 수 있습니다.이 경우 문서의 예제 Demo를 수정하여 피드백을 받을 수 있습니다. 오픈 소스에 대한 커뮤니티의 참여.
-
다른 프레임워크의 성능을 저하시키기 위해 몇 가지 스트레스 테스트를 수행하십시오.
기존에 어떤 학생들은 다른 프레임워크의 성능을 비교하기 위해 스트레스 테스트를 하는 것을 선호하는데, 이 방법은 최대한 공정성과 명료성을 보장하고, 프레임워크를 미리 이해하고, 최적화 및 반복할 수 있는 포인트를 찾아야 합니다. 최적화 후 커뮤니티에 기여하기 위해 스트레스 테스트 .
소스 코드 직접 읽기
물론 소스 코드를 직접 읽을 수도 있지만 Xiaobai가 시작하는 것이 더 어렵고 고통스럽습니다.
위의 세가지 방법으로 오픈소스에 참여하게 되었고, 개체선택에 있어서도 Kitex나 Gorm과 같이 평소에 사용하는 프로젝트를 공부하는 경향이 있어 기분이 좋아집니다.
두 번째 문제
CloudWeGo 오픈 소스 프로젝트의 주요 방향은 클라우드 네이티브 마이크로 서비스 프레임워크입니다. 이러한 프로젝트의 주요 사용 시나리오는 무엇입니까? 이러한 유형의 프로젝트를 학습하는 것의 가치는 무엇입니까? 혼합 커뮤니티의 경험은 무엇입니까?
공유자: 리 롱
CloudWeGo 의 사용 시나리오
고성능, 유연성, 내부 사용자 정의 요구 사항을 충족할 수 있는 프레임워크를 선택하려는 경우 CloudWeGo에서 제공하는 마이크로서비스 프레임워크가 좋은 선택이 될 것입니다. CloudWeGo 오픈 소스 프로젝트는 주로 다음과 같은 특징을 가지고 있습니다.
-
고성능(Netpoll / Sonic / Frugal 등)
예를 들어 기본 Netpoll 자체는 고성능 네트워크 라이브러리이고 Hertz에는 Sonic 고성능 JSON 인코딩 및 디코딩 라이브러리가 내장되어 있습니다.
-
풍부한 확장 기능 제공
Kitex와 Hertz는 모두 풍부한 확장 기능을 제공합니다. 예를 들어 Kitex는 전류 제한 확장, Transport Pipeline-Bound 확장 등과 같습니다. Hertz 자체는 강력한 확장 기능을 가지고 있으며 보다 개인화된 사용자 정의 요구 사항을 충족할 수 있습니다.
-
최적화된 사용자 API 인터페이스
일부 사용자 친화적인 API 인터페이스가 제공되며 특별히 복잡하지 않습니다.
이 유형의 프로젝트의 가치 포인트 알아보기
-
학습 프레임워크 레이어드 디자인 / 좀 더 나은 디자인 포인트
[예시] Hertz의 4레이어 레이어드 디자인은 레이어간 결합이 없고 확장성이 강합니다.
-
프레임워크에 대한 몇 가지 성능 최적화 팁을 배우고 시야를 넓힙니다.
[예시] 일부 시나리오에서 Netpoll의 성능이 표준 라이브러리보다 훨씬 높은 이유는 무엇입니까?
참조: https://juejin.cn/video/7046282096435789835
-
스트레스 테스트 프레임워크 성능, 교환 및 학습 논의
커뮤니티의 많은 학생들은 스트레스 테스트 프레임워크, 특히 Kitex 및 Hertz와 두 개의 벤치마크 리포지토리를 좋아합니다. 우리는 Kitex와 Hertz 프레임워크의 차이점과 사용 방법에 관계없이 이러한 낮은 수준의 기술 최적화 및 관련 토론을 커뮤니티에서 볼 수 있기를 바랍니다. Hertz, Fasthttp, Gin과 같은 프레임워크의 성능을 테스트하고 비교함으로써 상대적으로 낮은 수준의 기술적 깊이 로직인 성능 향상 및 성능 최적화에 집중할 수 있습니다.
커뮤니티 경험 공유
-
좋은 사례: 커뮤니티에서 우수한 디자인 및 성능 최적화 포인트를 학습하여 형제 커뮤니티에 기여합니다.
-
[예시] shardmap의 크기 조정에 대한 @Halst의 토론 · 토론 #306 · cloudwego/kitex , 커뮤니티에서 토론을 시작하고 우수하고 학습 가능한 위치를 다른 오픈 소스 프로젝트에 적용합니다.
-
-
나쁜 경우: 사용된 프레임워크에 대한 몇 가지 모호한 질문/평가.
-
[예시] 클래식 댓글 : "디자인이 별로/디자인이 너무 무거워요", 디자인이 좋지 않거나 너무 무거워지는 특정 디자인에 대한 이유를 제시해야 합니다. 이 경우를 제때 피하고, 데이터로 말하다.
-
3호
프로젝트 사용자로서의 프로그래머의 역할과 오픈 소스 프로젝트 디자이너로서의 개발자의 역할의 차이점은 무엇입니까 ? 이러한 역할 전환을 겪은 커뮤니티 커미터로서 어떤 교훈을 공유할 수 있습니까?
공유자 : 왕 웨이차오
프로젝트 사용자 관점
프로젝트 사용자로서 오픈 소스 프로젝트를 고려할 때 다음 사항을 고려하십시오.
-
오픈 소스 프로젝트가 지속적으로 유지되는지 여부
-
문서가 풍부합니까?
-
커뮤니티가 활성화되어 있는지 여부
-
현재 프로젝트가 사용 가능하고 사용하기 쉽고 현재 팀의 기술 문제를 해결할 수 있는지 여부
-
불만족한 장소를 확장할 수 있는지 여부.
오픈 소스 프로젝트 디자이너의 관점
오픈 소스 프로젝트 디자이너로서 저는 주로 사용자가 문제를 더 잘 또는 더 빨리 해결하도록 돕는 방법을 고려합니다. CloudWeGo 프로젝트를 예로 들어 Byte의 내부 관행을 요약하면 오픈 소스는 더 많은 사람들이 몇 가지 일반적인 문제를 해결할 수 있도록 돕는 것이므로 다음 문제가 더 많이 고려될 수 있습니다.
-
유지 관리 프로젝트를 통해 사용자 피드백을 수락하고 어떤 일반적인 문제가 다루지 않습니다.
-
몇 가지 새로운 기능을 개발하십시오.
-
버그의 유지 관리가 시기 적절한지 여부
-
사용자가 문제를 더 빨리 해결하도록 도울 수 있습니까?
-
문서 유지 관리 및 지속적인 강화, 비즈니스 사례 분류.
4호
커뮤니티 관점과 글로벌 관점에서 대형 공장에서 Go 엔지니어를 고용하는 이유에 대해 이야기 해 주십시오. 프로그래머는 경력 개발을 어떻게 계획해야 합니까? 프로그래머의 최종 목적지는 어디입니까?
공유자: Yang Wen
큰 공장에서 바둑 엔지니어 를 채용하는 이유는 무엇 입니까?
-
Go 언어의 진화
Go 개발의 중요한 이유는 Grpc의 전체 생태계를 직렬로 연결한 K8S, Docker 컨테이너화 분야, 클라우드 네이티브 방향의 개발이 일부 기본 구성 요소의 개발로 이어지거나 촉발되었기 때문이라고 생각합니다. 다양한 제조업체에서 클라우드 네이티브 및 K8S의 적용과 결합하여 모든 사람이 많은 인프라, 흐름 제어, 분산 링크 추적 서비스를 수행하도록 촉발했으며 향후 많은 기본 구성 요소의 오픈 소스가 Go 언어를 선택하게 되었습니다.
-
Go 언어의 특징
Go 자체의 언어 기능을 기반으로 이러한 작업을 수행하는 것이 비교적 좋습니다. Go 언어 자체는 낮은 전환 비용과 낮은 진입 장벽으로 고성능 및 단순성을 제공합니다. 언어 기반 면에서 C언어는 기본적으로 끊김 없는 연결을 이룰 수 있는데 스크립팅 언어라면 상대적으로 생각의 전환이 필요할 수 있지만 go의 성능이 더 좋고 PHP에서 Go로의 변환이 가능하다. 큰 성능 문제를 해결하십시오. 게다가 Go는 빠르게 시작할 수 있고 공식 문서는 데모를 매우 빠르게 실행하므로 배우고 싶다면 시작하기가 어려울 것이라고 걱정하지 마십시오.
-
대규모 공장의 적용 시나리오
사실, 대규모 공장에는 실제 적용 시나리오와 문제 해결의 필요성이 있습니다. Go 언어는 관련 비즈니스를 빠르게 시작하고 완료할 수 있으며 빠른 속도와 우수한 성능도 비즈니스 요구를 충족합니다. 인프라의 관점에서 볼 때 과거에는 대규모 공장에서 C, C++ 또는 JAVA를 사용하여 전체 링크를 구축할 수 있었지만 하나의 세트가 효율성에 영향을 미쳤습니다. 이에 비해 Go의 구현은 더 빠르고 효율적입니다.
프로그래머의 경력 개발 과 최종 목적지는?
요점이 있습니다. 언어는 문제 해결을 위한 도구일 뿐입니다.
개인 경력 개발 및 경력 경로와 관련하여 고려해야 할 몇 가지 사항은 다음과 같습니다.
-
당신은 언어에 능숙하고 기술적인 깊이에서 노력하고 싶습니까?
-
귀하의 비즈니스와 결합하여 비즈니스 역량, 관련 개인 소프트 품질 및 관리 능력을 향상시키고 싶습니까?
-
기술을 사용하여 비즈니스 문제를 해결하고 비즈니스 가치를 창출하시겠습니까?
개인적인 관점에서 경력 개발을 보고 싶다면 기술 스택이나 기술 포인트만 보는 것이 아니라 자신이 잘하는 것과 예측 가능한 기간에 자신의 강점과 개발하려는 방향을 현재 직업과 결합하고 요구 사항을 명확히 하십시오.
Go가 제공하는 가치 차원은 한계에 도달하는 데 도움이 되거나 문제를 해결하는 데 도움이 되는 언어 도구일 뿐입니다. 개인 경력 개발은 주로 현재 위치와 가치에 따라 달라집니다. Go가 비즈니스에 사용되는지 인프라에 사용되는지 여부 및 낮은 수준의 콘텐츠는 자신의 분야 또는 작업 요구 사항에 따라 다릅니다.
또한, 현재 바둑 엔지니어의 작업은 여전히 비즈니스 지향적이거나 제품 기능이 더 많고 인프라 또는 바닥에 상대적으로 적다는 것을 이해합니다. 큰 공장은 또한 더 많은 비즈니스나 제품이 있어야 하지만 인프라와 같은 다른 측면에 대한 수요는 점차 증가할 수 있습니다.
Aftership Go 애플리케이션은 주로 비즈니스 측면에 있으며 그 중 일부는 클라우드 네이티브 또는 인프라와 특정 관계가 있지만 광범위한 범위를 다루지 않거나 Byte와 같은 특수 아키텍처 부서가 있어 Go의 인프라 구축을 수행합니다. 생태계. 아직까지는 없으며, 회사의 발전 단계에 따라 이를 수행하기 위해 여전히 필요하고 개발될 수 있습니다.
문제 5
빅 가이의 공유 세션에서 빅 가이가 추천하는 블로거/기술 학습 사이트/도서.
공유자: 리 롱
권장 이유:
-
데이터 집약적 애플리케이션 설계
개발 프로세스의 모든 측면에서 발생하는 몇 가지 문제를 다루며 비교적 포괄적인 특히 고전적인 책입니다.
-
"프로그래머 자기 계발: 연결, 로딩, 그리고 라이브러리"
콘텐츠는 주로 링크, 로드, 컴파일 등을 포함하여 상대적으로 낮은 수준의 관련이 있습니다.
-
Google SRE 통합 문서
SRE 뿐만 아니라 R&D도 지켜봐야 합니다.
-
"마이크로서비스 아키텍처 디자인 패턴"
마이크로서비스를 개발할 때 발생하는 몇 가지 문제에 대해 여기에서 참조용으로 몇 가지 솔루션을 얻을 수 있습니다.
공유자: Yang Wen
권장 이유:
-
"미니 습관"
그것은 마음의 차원과 미세 습관 개발에 대한 개인적인 생각에서 시작하여 개인에게 더 편향되어 있습니다. 미니 습관이란 무엇이든 부담 없이 이룰 수 있는 아주 작은 차원을 상상하는 것이다. 이 책에서 표현하고 싶은 개념은 많은 경우에 주로 행동에 관한 것입니다. 습관은 왜 형성하기 어려운가? 가장 중요한 것은 그것이 부담이라고 생각하고 정상적인 일과 삶에 영향을 미치고 리듬을 방해하여 할 수 없다는 것입니다. 그러니 작게 시작하세요. 잠시 시간을 내어 작은 행동으로 자제하여 점차 습관을 들이고 마침내 꿈을 이루거나 목표를 달성하십시오.
-
"삶은 새로운 10년"
이 책을 추천하는 이유는 갓 졸업한 친구들이 많기 때문이다.모바일 인터넷은 알지만 10-10대에 대해 잘 모르거나 잘 모르는 것들이 많을 수 있다. 연도(2010-2020) 인터넷 개발. 지난 10년 동안 어떤 종류의 기업이나 애플리케이션이 있었습니까? 모바일 애플리케이션은 무엇이며 어떻게 발전했습니까? 이 과정에서 어떤 문제점과 변화가 있었나요? 이 책은 더 자세히 설명할 것이다.
-
세일즈포스 레전드
이 책은 현재 업계의 ToB SaaS와 관련이 있습니다. Salesforce는 판매 SaaS 업계의 리더 또는 선구자입니다. 이 책은 Salesforce의 시작부터 점진적인 발전과 성장까지의 전 과정을 소개하는 책으로, Salesforce의 성장사입니다. 이 책은 SaaS 산업에 큰 길잡이 역할을 하고 있는데, 이 산업에서 SaaS에 대한 이해가 아직 많이 남아있어야 한다. 도움이 되는.
공유자 : 왕 웨이차오
-
도서 목록
내 추천 도서 목록은 실제로 "Tao" 수준에 더 가깝습니다. "Tao"는 이러한 책의 대부분이 아키텍처 또는 코딩 및 프로그래밍 사고라는 것을 의미합니다. Ruby Matsumoto Yukihiro의 아버지가 쓴 "Future of Code"에 약간의 객체 지향 설명이 있는데 이 책은 현재 우리의 코딩과 프로그래밍이 프로세스 지향에서 객체 지향으로 바뀌어야 하는 이유를 설명합니다. 이점은 무엇입니까? 배경은 무엇입니까? 관심 있으신 분들은 참고하시면 됩니다.
-
블로그
신앙 지향 프로그래밍, Geek Tutu, 이 두 가지는 보다 일반적인 블로그입니다. 하나는 Go 지향 디자인의 최하위 계층을 위한 것이고, 다른 하나는 Go 코딩을 위한 일부 프레임워크와 미들웨어의 구현을 위한 것입니다. 바둑 야간 읽기는 더 포괄적입니다. 바둑의 기술 스택에 대해 배우고 싶다면 그것에 대해 배울 수 있습니다.
-
소프트 스킬
이것은 실제로 큰 주제입니다. 애자일 개발과 같은 직장에서의 소프트 스킬과 관련하여 현재 많은 기업에서 제안하고 있으며 개발자로서 표준 또는 모범 사례, 애자일 개발을 수행하는 방법에 대해서도 배울 수 있습니다. 또한 의사 소통과 피드백이 있으며 각각의 성공이 있고 모든 것이 에코가 있습니다. 이러한 의사 소통 기술에도 모든 사람의 관심이 필요합니다.
Q&A
Q: Go 언어의 전체 아키텍처 중 일부의 발전은 어떻습니까? 주로 무엇을 지원하기 위해?
A:
주로 성능 문제를 위한 것이며 일부 비즈니스 개발을 지원합니다. ByteDance 내부의 일부 시나리오에서 프레임워크 조정은 주로 성능 최적화를 위한 것입니다. 예를 들어 프레임워크의 경우 전체 전송 손실은 대규모 누적을 기반으로 한 실제 비용이므로 성능 최적화를 통해 비용의 일부 손실을 줄일 수 있습니다. 이 때문에 CloudWeGo를 비롯한 ByteDance는 최적의 상태를 달성하기 위해 성능 분야에서 지속적으로 발전해 왔습니다. 동시에 나는 이 기술 측면에 더 많은 관심을 기울이고 극한의 성과를 경험하는 일부 학생을 포함하여 여기에서 일부 극한 성과 프레임워크를 얻을 수 있기를 희망하며 계속해서 우리 프로젝트에 관심을 기울입니다.
Q: Go 엔지니어를 위한 대형 제조업체의 요구 사항과 요구 사항은 무엇입니까?
A.
다창의 바둑 엔지니어 채용의 현재 사업적 측면은 더 많을 것이다. 또 다른 부분은 주로 기본 프레임워크에 대한 인프라의 내용을 수행하고 성능을 전반적으로 조정하는 것입니다. 이 부분에 포함된 언어는 더 하드코어하며 Go를 사용할 뿐만 아니라 언어 생태 및 기본 논리를 포함하여 Go의 핵심에 매우 익숙하고 관련 프레임워크의 일부 성능 최적화를 수행할 수 있습니다. .
클라우드 네이티브의 현상과 결합하여 현재 업계에서 발전 단계에 있으며 많은 기업이 클라우드 전환 단계에 있으며 이 프로세스에는 일정 시간이 소요되며 마이그레이션이 불가능할 수 있습니다. 한 번에 장소. 이 상태에서 많은 배경 논리와 작업이 실제로 관련될 것이므로 아키텍처 조정 및 진화는 또한 이후의 Go 엔지니어 개발을 위한 경력 방향이 될 수 있습니다. 다른 회사의 발전 단계에 따라 앞으로 더 많은 회사가 발전한 후 인프라 건설에 대한 수요가 증가하고 자체 인프라를 홍보 및 유지 관리할 수 있으므로 그에 따라 Go 언어 엔지니어에 대한 수요도 증가할 것입니다.
추가 정보
- 공식 웹사이트 주소: CloudWeGo
- 프로젝트 주소: https://github.com/cloudwego
- 헤르츠: https://github.com/cloudwego/hertz
- Hertz v0.2.0 출시 : Hertz v0.2.0 출시 | CloudWeGo
- 카이텍스: https://github.com/cloudwego/kitex
- 넷폴: https://github.com/cloudwego/netpoll
-
Netpoll-http2: https://github.com/cloudwego/netpoll-http2
{{o.name}}
{{m.name}}