학습을 위해 개발할 프로그램에 대한 제안 [닫기]


12

나는 매우 단순한 hello world 앱과는 별도로 학습을 위해 다른 프로그램을 개발하려고 시도합니다. 나는 내년에 uni에 들어가서 그 환경에서 어떤 종류의 프로그램이 개발 될지 궁금합니다.

이것은 실제로 언어에 국한되지는 않지만 현재 주로 사용하는 것을 알고 싶다면

  • Windows : C # / WPF-폴리에서 java / vb 등을 연구했지만 C #이 갈 길이라고 생각합니다. 아마도 F #
  • 웹 : PHP / MySQL, Zend Framework / Doctrine, + HTML / CSS / JS (jQuery). 파이썬으로 Google 앱 엔진을 사용해보십시오.

지금은 생각 중입니다

  • 할 일 목록
  • API와 통합 된 앱 (예 : 내가 사용하는 트위터 / 텀블러
  • 텍스트 편집기-현재 마크 다운을 사용하고 볼 HTML 파일을 생성하는 텍스트 편집기를 개발하려고합니다 (블로그 항목에 대한 링크). 내가 그것을 개발하기 시작한 후 매우 실용적이지 않습니다. 서식이없고 HTML 형식으로 편집 할 때 직접 편집 할 수 없습니다.

  • 블로그 소프트웨어 (웹용)

답변:



6

나는 현재 정규 표현식 파서 / 매처를 작성 중이며 파싱 ​​및 유한 상태 기계와 정규 표현식 자체에 대해 많은 것을 가르치고 있습니다. 특히 정규식 파서가 유용 하다고 생각하는 이유는 정규식 언어가 작고 할 수있는 작업이 상당히 제한되어 있기 때문입니다.

내가 한 또 다른 일은 Ook 의 통역사를 쓰는 것이 었습니다 ! 간단한 작업이지만 다시 한 번 톤을 알려줍니다.


+1 SC Kleene은 아무런 이유없이 정규식을 발명 한 사람이 아니 었습니다.
ixtmixilix

2

CodePlex.com에는 C #을 사용하여 만든 많은 오픈 소스 프로젝트가 나와 있습니다. 아이디어를 얻기 위해 사이트를 살펴볼 수 있습니다.


2

TopCoder 도 볼 수 있습니다 . 이 사이트에는 배우는 훌륭한 알고리즘이 있으며 때때로 경쟁을 벌입니다. 이 사이트의 중요한 장점은 특정 문제에 대한 다른 소스 코드를보고 자세한 내용을 볼 수 있다는 것입니다.

심지어 SE 사이트에서도 CodeGolf 를 살펴 봐야 합니다.


1

(이것은 대부분 프로젝트 목록이 아닌 Mata 답변입니다.)

프로그램을 작성하는 이유를 생각해보십시오. 자체적으로 유용합니까, 아니면 도구 / API / 언어의 측면을 배우는 것이 순수합니까?

후자의 경우 결과 프로그램이 가능한 한 짧아지고 참조를 위해 유지되는 이점이 있습니다.

전자의 경우 학습을 모든 측면에서 모범 사례로 확장하지 않는 것이 좋습니다.이를 유지하고 확장해야한다고 가정하십시오. 따라서 소스 제어, 이슈 추적, 리팩토링, 단위 테스트 등을 사용하십시오.이 모든 것이 적어도 다른 API를 아는 것만 큼 개발자에게는 중요합니다.


피드 통합자는 어떻습니까?

  • RSS / 아톰 소스
  • API를 사용하여 트위터를 처리하고 링크 단축을 수행하십시오.
  • 소스 기반 플러그 가능 포스트 프로세싱 (예 : 팟 캐스트 피드에서 mp3 다운로드)

(아이디어는 동일한 패러다임의 다양한 구현을 통합하는 데 중점을 둔다. RSS 피드의 예약 된 HTTP 가져 오기와 Twitter API 비교 ... 모두 타임 스탬프, 소스 및 컨텐츠가있는 항목 스트림 아래에있다.


감사. 나는 이것이 내가 생각하고있는 라인을 따라 웹 서비스와 통합된다고 생각한다. 또한 나는 언어의 다른 기능을 사용하는 다른 앱을 생각합니다. 예. 텍스트 편집기를 사용하여, 나는 WPF 리본을 통합하는 시도
Jiew 멩에게

1

나는 이런 종류의 취미 프로젝트에서 많은 일을 배웠습니다.

  • 간단한 게임 (스네이크 클론, 틱택 토 클론 등)
  • 스크린 세이버

말할 것도없이-그러한 종류의 프로젝트는 일하기가 엄청나게 재미 있습니다 :-).


1

작은 게임을 프로그래밍하십시오 : 재미 있고 많은 것을 배웁니다.

몇 가지 아이디어 :

  • 지뢰 찾기
  • 테트리스
  • 카드 게임

그리고 그것이 완료되면 왜 최고 점수 웹 사이트를 구현하지 않습니까?



0

스파이로 그래프. 직경을 따라 외부 링, 내부 디스크 및 펜 포인트의 치수를 지정하십시오. 내부 디스크가 외부 링의 내부를 따라 구르면서 펜의 경로를 플로팅합니다.

메이커 변경. 출납원에게 주어진 입력 비용과 금액. 출납원이 변경하기에 최적을 계산하십시오. 이것을 해결하는 느린 방법과 빠른 방법이 있습니다. 빠른 길을 찾으십시오.

OO-Life 시뮬레이션. 생명 알고리즘을 찾아보십시오. OO 디자인을 사용하여 프리젠 테이션에서 로직을 분리하여 임의의 시작 상태를 만들고 후속 단계를 출력합니다. 텍스트 출력과 그래픽 출력을 제공합니다.

선교사 / 캐니 벌 솔버 여러분,이 유명한 퍼즐을 찾아보세요. 검색 트리를 사용하여 문제를 해결하는 프로그램을 작성하십시오. BFS와 DFS를 비교하십시오.

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