완전한 프로그램을 만들고 있습니까?


15

책을 읽고, 비디오를보고, 튜토리얼을 검토하는 것은 매우 쉽습니다. 메모를하고 실제로 자료를 배우는 것은 약간 어려울 수 있지만, 그 후에도 괜찮은 뇌와 상당한 관심을 가진 사람이라면 누구나 쉽게 말할 수 있습니다.

문제는 전체 프로그램이나 웹 사이트를 작성할 준비가되지 않는다는 것입니다. 당신이 10 대이고 (고등학교에서만, 진정한 (대학 수준의) 컴퓨터 과학 또는 프로그래밍 과정이없고, 실제 경험이 없다고), Groupon을 사용한다고 가정 해 봅시다. 또는 Mark Zuckerburg조차도 그는 천재였으며 그는 매우 유능한 프로그래머였습니다 ...하지만 어떻게?

프로그래밍을 처음 접할 필요는 없지만 실제 응용 프로그램과 실제 프로그래머를 프로그래밍하는 데 익숙하지 않은 사람들이 개발하는 방법을 어떻게 권장합니까? "개발 과정"이란 무엇입니까? 특히 독신 프로그래머 (또는 2-3 명의 십대)를위한 것입니까?

또한 웹 개발이 진행되는 과정은 무엇입니까? Facebook 또는 Groupon과 같은 프레임 워크로 작성 되었습니까 (CodeIgniter 또는 Zend for PHP)? 아니면 자체 프레임 워크를 개발합니까? 좋은 아이디어를내는 방법을 묻는 것이 아니라 효과적인 아이디어를 어떻게 효과적으로 구현할 것인가? 누구에게 조언이 있습니까?

나는 C와 C ++ (주로 C 프로그래밍 언어와 C ++ 프로그래밍 언어)에 관한 두 권의 책을 읽었으며 AP 컴퓨터 과학 (Java와 OOP에 관한 몇 가지 추가 책을 읽음)을 썼습니다. 또한 PHP (및 CodeIgniter) 및 Python에 대한 몇 가지 자습서를 읽었습니다. 그러나 나는 여전히 고등학교에 다니고 있으며 기술적으로도 몇 달 동안 인턴쉽에서 일할만큼 나이가 많지 않습니다.


3
Reading books, watching videos, and reviewing tutorials is all very easy. 그렇습니다. 읽기는 쉽지만 이해 하기는 어렵습니다.
yannis

@Yannis Rizos 사실, 나는 그들을 이해하고 나중에 그 문장에서 그것에 대해 이야기합니다.

@Bob은 재료를 배우고 실제로 이해하는 것이 실제로는 매우 다르며, 두 번째는 훨씬 더 어렵습니다. "이해"에 대한 나의 개인적인 정의는 열 살짜리가 이해할 수없는 방식으로 해당 주제를 설명 할 수있는 때입니다. 빨리, "인터페이스"를 설명 :)
Thanos Papathanasiou

1
@ThanosPapathanasiou 소프트웨어, 하드웨어 또는 OO 개념? :)
yannis

2
당신 같은 것들을 설명과 아름다움의 @YannisRizos는 10 세에, 당신은 세 가지 : 캡슐화 것이다 단순화 된 예를 사용하도록 강요 될 것이다
타 노스 Papathanasiou

답변:


8

단순히 프로그래밍 방법을 아는 것과 프로그램을 구성하는 방법을 아는 것 (소프트웨어 아키텍처)에는 차이가 있습니다.

특정 프로그래밍 언어에 대한 간단한 책은 프로그램 아키텍처를 설정하는 데 사용할 수있는 도구 만 가르쳐줍니다.

소프트웨어 아키텍처에 도움이되는 서적도 있습니다. 당신이 찾아야 할 주제는 디자인 패턴 , 소프트웨어 추상화 , 소프트웨어 아키텍처 / 디자인, 그리고 더 많은 것들입니다 ... ( Head First Design Patterns 는 정말 눈에 띄었습니다.)

자원의 넓은 세트의 경우, 이 질문은 당신이 관심을 수 있습니다.

전체 프로그램을 올바르게 구성하는 방법을 배우는 가장 좋은 방법은 제안에 대한 경험과 새로운 기술에 매우 개방적입니다.


6

(인디) 게임 개발에서 매우 일반적인 문제입니다. 완료하는 방법.

필요한 모든 지식을 갖추고 있거나 기꺼이 배우기 때문에 할 수 있는지 확인하는 것 외에는 다른 사람들이 불가능하지 않은지 확인했습니다 ...

"마무리"를 가능하게하는 주요 목표목표설정하는 것 입니다.

목표는 도달하는 목표이며, 도달하는 방법을 설명해서는 안되며, 앱의 첫 번째 버전을 "완료"한 것으로 간주하는 데 필요한 기본 요구 사항 / 기능 만 설명해야합니다. 또한 목표를 너무 많이 설정하지 마십시오.

어딘가에 목표를 작성하십시오. 쓰세요

목표를 설정 한 후에는 목표를 달성 할 수있는 방법을 찾아야합니다. 그것은 도착보다 더 흥미로운 유명한 "경로"입니다. 벽에 닿아 서 자신이 얼마나 잘못되는지 걱정하지 마십시오. 대부분의 경우, 주제가 새로운 것이라면, 당신은 그것을 잘못 이해하게되며 그 이유를 배우고 그것을 올바르게 얻을 수 있고 목표에 더 가까워 지도록 서로 다른 설정을 수행 할 수 있습니다.

게임 디자인에서도 플레이어는 자신이하는 방식에 관계없이 플레이어가 추상적 인 방식으로 달성해야 할 것을 알 수 있도록 목표를 제공해야한다는 것을 알고 있습니다.


4

수영에 대해 많이 읽는다고해서 수영하는 사람은 아닙니다. 물론 그것은 당신이 물 속으로 뛰어 들어가는 수영자가되기 위해 필요한 지식을 가진 사람을 준비시킵니다.

나는 생각하고 읽은 것보다 방금 한 사람들이 성공한 사람들이라는 것을 알았습니다.

수영자가 되려면 물에 뛰어 들어 수영을 배우십시오. 프로그래머가 되려면 아이디어로 프로그래밍을 시작하고 프로그래밍을 배우십시오.

Peter Norvig의 에세이는 여기에서 관련이 있다고 생각합니다. 10 년 안에 자신에게 프로그래밍을 가르치십시오


2
좋은 대답입니다! 어느 날 프로그래밍을 시작할 준비가 되길 바라고 프로그래밍에 관한 책을 계속 읽고있는 두 명의 친구 있습니다. 당신은 그것을 느끼지 않을 것입니다. 차가운 물에 뛰어 들어 실제 프로젝트를 시작하십시오. 너무 복잡하다고 생각되면 더 작은 것을 선택하십시오. 완료 될 때까지 작업하십시오. 프로젝트를 진행하는 동안 열려있는 문제에 따라 책과 책을 찾으십시오.
Giorgio

1

전체 소프트웨어 개발 프로세스의 일부인 소프트웨어 의 구현 측면 에 너무 집중하는 것처럼 들립니다 (SDLC 참조). 일부 소프트웨어 방법론을보고 원하는 방법을 사용하는 방법을 배워야 할 수도 있습니다. 그 외에는 사례 연구를 읽고 소프트웨어에서 사용할 것으로 생각되는 각 도구의 장점과 단점을 찾아서 평가 한 다음 활용하십시오. 질문을 빠르게 읽고 나면 소프트웨어 의 분석디자인 영역에 중점을두고 UML, 분해 및 일부 디자인 패턴에 대해 알아야합니다.

도움이 되었기를 바랍니다..


0

짧은 대답, 목표를 설정하고 시작하십시오.

당신에게 이것을 가르치는 책이나 방법은 없지만 경험을 쌓는 것입니다.

많은 실수를하고 점차 경험을 쌓게됩니다. 따라서 문제가 발생하면 그것에 대해 생각하고 해결책을 찾아보십시오. 실패하면 stackoverflow로 가서 도움을 받으십시오. 또한 가능한 빨리 코드를 검토하십시오.

첫 번째 프로젝트를 마치고 기술적 인 문제를 잘 이해 한 후에는 소프트웨어 엔지니어링의보다 추상적이고 높은 레버리지 주제를 살펴보십시오.

새로 생긴 일반적인 문제에 대한 인식을 갖게되면 첫 번째 프로젝트는 유지 관리 할 수없는 혼란에 빠지기 때문에 깨끗하고 분리 된 코드를 갖는 개념을 책에 요약하게됩니다.

책 (일반적인 용의자) :


0

이 시점에서 프로그래밍에 대한 읽기를 중단하고 프로그래밍을 시작해야합니다. 웹 사이트를 구축하려면 원하는 프레임 워크에 대한 자습서를 진행하십시오. 당신에게 호소하는 것을 선택하십시오. 학습서를 통해 프레임 워크 사용 방법을 학습 한 후 고유 한 웹 애플리케이션 빌드를 시작하십시오.

코드를 작성한 후에는 프로그래밍 기술에 대한 책이 훨씬 더 의미가 있습니다.


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