개인 폐기 프로젝트를 호스팅 할 때 하나의 서비스와 프로젝트 구조가 두드러 집니까? [닫은]


12

Google 코드, SourceForge, BitBucket 및 GitHub를보고 있습니다. 이제는 그들이 제공하는 모든 기능을 세분화하지는 않았지만 실제로 작성한 다양한 코드 (Project Euler의 솔루션, Code Golf /를 위해 작성할 수있는 코드)를 넣을 곳을 찾고 있습니다. 중앙 위치에 프로그래밍 퍼즐 스택 교환 등).

그래서 첫 번째 질문은 다음과 같습니다. 이와 같은 상황에서 하나의 서비스가 다른 서비스 중에서 눈에 띄나요?


서비스를 선택하면 코드 배포 방법을 선택해야합니다. 리포지토리와 프로젝트를 설정하기 위해 볼 수있는 몇 가지 옵션이 있습니다. 단일 저장소는 여러 프로젝트를 보유 할 수 있습니다. 예를 들어 Project Euler에 대한 모든 다양한 솔루션에 대한 "Tom Owens의 Project Euler 솔루션"저장소를 보유 할 수 있으며이 저장소 내의 디렉토리에있는 각 언어 및 환경에 대한 프로젝트와 다른 저장소 다양한 Code Kata 솔루션 등 또는 언어별로 (어떤 저장소에는 Python의 Project Euler 솔루션, 다른 저장소에는 Java의 PE 솔루션, 세 번째 저장소에는 Code Kata C ++ 솔루션이 있습니다.)

두 번째 질문 : 특히 리포지토리를 만드는 방법과 관련하여 공개하도록 선택한 코드 샘플을 공유하는 방법을 결정하는 데 제한이나 규칙이 있습니까? 내 생각은 이것이 (커뮤니티의 규칙에 따라) 선택한 서비스에 의해 지시 될 수 있다는 것입니다.

답변:


10

비트 버킷.

그들은 무료 서비스 (무제한 공개)에 우수한 서비스, 개인 저장소를 제공하며 문제 추적기에 매우 반응이 좋습니다.

무료 개인 저장소를 뺀 것과 마찬가지로 Github에서도 마찬가지이지만 나는 git을 대단히 싫어합니다. 그것은 개인적인 취향입니다 .git에 대해 옹호하지는 않습니다. 이상한 이유로 hg보다 선호하는 경우 Github은 완벽하게 유효한 선택입니다.

리포지토리를 구성하는 방법은 피할 수 있다면 언어를 섞지 마십시오. 대부분의 IDE는 프로젝트가 단일 언어로 빌드되었다는 가정을 기반으로 구축되었습니다 (언어 + html, css 및 js의 조합이 예상되는 웹 프로젝트 제외). IDE가 대처할 수 없다고 말하는 것은 아닙니다. IDE가 각 언어를 처리하는 방법에 대한 데이터를로드해야하기 때문에 코드 완성과 같은 기능이 약간 느려질 것입니다.

귀하의 리포지토리가 공개적이므로 (따라서 무제한) 프로젝트 스키마별로 언어별로 리포지토리 (예 : "euler_cpp", "euler_python")를 선택합니다. 어떤 서비스를 선택하는지, 리포지토리 구성 방법은 실제로 중요하지 않습니다. 완전히 당신에게 달려 있습니다.

폴더 구조, 프로젝트 오일러 솔루션의 경우 :

  • 동일한 문제에 대해 다른 솔루션을 계획 할 경우 문제 별 폴더
  • 단일 솔루션을위한 문제 별 파일

하나의 문제에 대해 하나 이상의 솔루션이있는 경우 다른 문제에 대한 두 번째 솔루션이없는 경우 에도 첫 번째 구조를 선택하십시오 .

최신 정보:

문제당 하나의 파일은 실제로 적용 가능한 경우에만 제안되며 문제에 지정된 유일한 프로젝트이므로 오일러 문제를 해결하기위한 솔루션의 잠재적 스키마로 제안됩니다.

btilly의 의견에 따라 각 언어 및 / 또는 플랫폼에는 파일 및 폴더에 대한 자체 규칙 및 관례가 있으므로 언어별로 더 좋고 더 자연스러운 구조를 결정해야한다고 덧붙입니다.


1
폴더 구조는 언어에 따라 달라집니다. 스크립팅 언어를 사용하는 사람은 C / C ++에서 폴더의 여러 파일에 걸쳐 자연스럽게 작성되는 하나의 파일에 코드를 자주 작성합니다.
btilly 2016 년

@btilly 맞습니다. 답변에 귀하의 의견을 추가하고 있습니다 ...
yannis

실제로 프로젝트 내에서 파일을 배치하는 방법을 구체적으로 찾고 있지 않았지만 사용되는 서비스 내에서 여러 프로젝트를 배치하는 방법을 찾고있었습니다.
Thomas Owens

@Thomas REPOS을 구성하는 방법에 관해서는 ... . 일반적으로 저장소 당 하나의 프로젝트가 있습니다. 각 서비스에 대한 구체적인 지침을 찾고 있습니까?
yannis 2016 년

내가 찾고있는 것은 평범하지 않은 것이 있다면 각 커뮤니티 내에 존재하는 협약입니다. 내 경험상 BitBucket, GitHub 및 SourceForge와 같은 것은 단순한 서비스보다는 규범과 규칙을 가진 커뮤니티입니다. (일부 사람들은 서비스처럼 사용합니다).
Thomas Owens

3

하나의 옵션을 잊어 버렸습니다-자신의 저장소를 호스팅합니다. 최근까지 비행 할 수있는 유일한 방법은 정말이었습니다.

오늘 하나를 사용해야한다면 주로 개인 저장소와 수은 암석을 허용하기 때문에 비트 버킷을 선택합니다.


나는 많은 고통없이 VisualSVN으로 이것을했습니다.
코디 샌드

거기에 있었다. turnkeylinux.org 어플라이언스를 사용 하면 더욱 효과적 일 수 있습니다 . .
Wyatt Barnett

3

다른 시점에서 Google 코드, SourceForge 및 GitHub를 사용한 후 GitHub이 다른 두 가지보다 훨씬 낫습니다.

  • 코드를 만들고 공유하는 실제 작업에 전적으로 집중합니다.
  • 이슈 처리는 기본적으로 활성화되어 있으며 사용이 간단 할뿐만 아니라 코드 및 풀 요청과도 잘 연결되어 있습니다.
  • 리포지토리 시작 및 풀 요청 처리에 대한 단계별 지침과 같은 초보자 도움말이 훌륭합니다.
  • 이진 배포를위한 것은 아닙니다. 이것은 PyPI와 같은 전문 사이트에서 더 잘 처리됩니다.
  • 처음부터 자신의 웹 페이지를 개발할 필요없이 간단한 위키.
  • 뛰어난 피드 지원-흥미로운 모든 것을위한 단일 피드.
  • 비공식적이고 읽기 쉬운 커뮤니케이션.
  • 새로운 기능의 매우 적극적인 개발.

또한 Github은 Gist를 사용하여 Project Euler 솔루션 및 코드 골프 스 니펫과 같은 것을 저장하는 데 적합합니다.
매트 엘렌

1

내 개인 프로젝트는 그리 크지 않고 (많은 텍스트, 그래픽 없음) DropBox의 마스터와 함께 Mercurial 저장소가 있습니다. 백업을 시작하는 가장 빠른 방법입니다 (DropBox가 사라지면 여전히 소유 한 각 컴퓨터에 리포지토리의 복사본이 있습니다) 및 이식성.

배포하려는 지점에 도달 한 프로젝트가 있다고 가정하면 가시성을 높이기 위해 항상 Bitbucket으로 옮길 수 있습니다. Euler Project 솔루션 용 코드는 포함되어 있지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.