Categories
자습서

코딩을 시작하는 초보자를 위한 궁극적인 안내서

코딩 배경을 가진 HubSpot 기술 블로그 작성자로서, 저는 개인적으로 코딩이 구축할 수 있는 가장 가치 있는 기술 중 하나라는 것을 발견했습니다.

코딩 배경을 가진 HubSpot 기술 블로그 작성자로서, 저는 코딩이 구축할 수 있는 가장 가치 있는 기술 중 하나라는 것을 개인적으로 발견했습니다.

“코딩을 배우는 방법”을 찾고 있다면, 이는 직업을 발전시키거나 컴퓨터 프로그래밍 분야에서 다른 기술을 개발하고 싶어서 일 것입니다. 그리고 믿어주세요, 저처럼 이 세계에 뛰어들 수 있다면, 여러분도 할 수 있습니다.

사실 시간, 헌신, 그리고 인터넷 접속만 있다면 누구나 코딩을 배울 수 있습니다. 여러분이 이 글을 읽고 있다면, 당신 또한 포함됩니다. 코딩으로의 여정은 도전적이었지만, 나에게는 가장 보람있는 전문적 경험 중 하나였으며, 이러한 통찰을 여러분과 나누게 되어 기쁩니다.

목차

  • 코딩이란 무엇인가요?
  • 코딩을 왜 배워야 하나요?
  • 코딩 시작하기
  • 코딩 vs. 프로그래밍
  • 프로그래밍 언어
  • 초보자를 위한 코딩 팁
  • 우리가 선호하는 코딩 자료

코딩이란 무엇인가요?

코딩은 프로그래밍 언어를 사용하여 컴퓨터에 명령을 내리는 과정입니다. 이러한 명령은 사람들이 매일 사용하는 웹사이트, 소프트웨어 및 응용프로그램을 구동시킵니다.

코딩을 왜 배워야 하나요?

첫 수업에 뛰어들기 전에 왜 코딩을 배우고 싶은지 생각해보는 것이 좋습니다.

내 의견으로는, 이는 처음으로 배울 프로그래밍 언어, 완료하고 싶은 프로젝트 유형, 그리고 궁극적으로 여러분이 여러분의 기술로 무엇을 만들고 싶은지를 결정하는 데 도움이 될 것입니다.

코딩은 전문 기술을 구축하는 데 도움이 됩니다.

내 여정에서, 코딩이 여러 산업뿐만 아니라 기술 분야에서 다양한 기회의 문을 열어준 것을 보았습니다. 이는 창조하고 혁신하며 새로운 방식으로 문제를 해결하는 능력을 부여하는 기술입니다.

기술이 우리 일상에 더욱 녹아들면서, 코딩 기술은 후보자들 사이에서 더욱 더 원하는 기술이 될 것입니다 — 취업 게시판 Indeed.com에 따르면, 가장 인기 있는 기술 중 몇 가지가 컴퓨팅에 속한다고 합니다.

기술 분야로의 직업 전환을 고려하거나 여러분의 분야 내에서 보다 기술적인 역할로 전환하려는 경우, 적어도 하나의 관련 프로그래밍 언어를 알고 있어야 합니다.

이는 개발자뿐만 아니라 웹 디자이너가 HTML, CSS, JavaScript를 알아야 한다는 것을 의미합니다. 프로젝트 매니저는 제작을 돕는 도구의 내부 동작을 알아야 합니다.

심지어 간단한 워드프레스 웹사이트를 운영하더라도 프론트엔드 언어와 일부 PHP에 익숙해지는 것이 큰 도움이 됩니다.

엄격히 기술적인 역할을 추구하고 있지 않더라도, 코딩 경험은 자산입니다. 기술적인 능력, 추상적인 개념을 이해하는 능력, 복잡한 문제를 해결할 수 있는 능력을 보여줍니다.

마지막으로, 코딩 지식은 프리랜서 업무나 정규직 경력을 쌓는 데 도움이 됩니다.

코딩으로 더 많은 수입을 올릴 수 있습니다.

미국의 입문급 평균 연봉은 2022년에 40,153달러입니다. 그러나 프로그래머의 평균 입사 연봉은 85,293달러로 두 배 이상 더 높습니다.

코딩 기술의 재정적 이점은 부인할 수 없습니다. 기술 산업은 높은 급여 패키지로 유명하며, 이 분야로 전환한 사람으로서 재정적 향상은 상당한 동기부여 요인이었습니다.

우리는 앞서 코더와 프로그래머 사이에 차이가 있다고 언급했습니다. 코딩을 계속 배우면 특수화하기 시작할 수 있습니다. 가장 높은 코딩 연봉 중 많은 부분은 특정 유형의 코딩 기술을 제공할 수 있는 능력에서 나옵니다.

예를 들어, 코딩을 계속하면 개발자가 될 수 있습니다. 코드를 작성하는 것 외에도, 개발자는 소프트웨어 디버깅을 하고 소스 코드를 다룹니다. 개발자들은 일반적으로 특정 프로그래밍 언어에 특화되어 있습니다.

개발자들은 종종 프로그래머보다 더 높은 급여를 받으며, 미국 노동 통계국에 따르면 개발자 직업은 2030년까지 22% 증가할 것으로 예상됩니다.

코딩을 통해 여러분은 것을 만들 수 있습니다.

코딩을 배우면 가장 멋진 이점 중 하나는 여러분의 아이디어를 현실로 만들 수 있다는 능력입니다. 웹사이트, 앱 또는 컴퓨터 게임에 대한 개념이 있나요? 이제 여러분은 원하는 대로 구축하고, 세계와 공유할 수 있습니다. 첫 성공적인 프로그램을 만들었을 때의 즐거움은 아직도 기억합니다 — 간단한 작업 자동화였지만, 마법처럼 느껴졌습니다.

프로젝트를 상업화하고, GitHub와 같은 오픈소스 플랫폼에 게시하거나 취미로 만들기 위해 지식과 도구를 갖추게 될 것입니다.

지금까지 완전히 이해하지 못했던 프로그램을 만들 수 있다는 것을 알아서 기쁩니다. 게다가 프로젝트는 학습과 취업 준비 과정에서 중요합니다.

코딩으로 주변 세계를 더 잘 이해할 수 있습니다.

컴퓨터 프로그래밍의 기본만 배워도, 성장하는 기술 풍경의 구성 요소를 이해하는 데 도움이 됩니다.

여러분은 여러분의 삶 속 기술에 대해 완전히 새로운 시각을 얻게 되며, 이 모든 것이 어떻게 조합되는지에 대한 감사를 느낄 것입니다.

코딩은 재미있습니다.

이것은 진부하지만 사실입니다 — 저에게 코딩을 배우는 것은 보람 있고 즐거운 경험이었습니다. 기초를 마스터하고 나만의 프로젝트를 시작하면, 과정은 학습이 아닌 레절로 같아졌습니다. 결국, 즐기지 않는다면 왜 진로를 추구하겠습니까?

코딩 시작하기

  1. 코딩을 배우고 싶은 이유를 파악하세요.
  2. 먼저 배우고 싶은 코딩 언어를 선택하세요.
  3. 온라인 강좌를 수강하세요.
  4. 비디오 튜토리얼을 시청하세요.
  5. 책과 전자책을 읽으세요.
  6. 코딩 학습을 돕는 도구를 사용하세요.
  7. 다른 사람들이 어떻게 코딩하는지 확인하세요.
  8. 코딩 프로젝트를 완료하세요.
  9. 멘토와 커뮤니티를 찾으세요.
  10. 코딩 부트캠프에 등록을 고려하세요.

인터넷 덕분에 코딩을 배우기에는 이보다 더 좋은 시기가 없었습니다. 그러나 옵션의 다양성 때문에 몇몇 신규 개발자들은 시작하기도 전에 막히는 경우가 있습니다.

1. 왜 코딩을 배우고 싶은지 파악하세요.

코딩을 시작할 때 당장 뛰어들고 싶은 유혹이 있습니다. 그러나 목표가 없다면, 즐거움에 도달하기 전에 학습이 중단될 수 있습니다.

따라서 공부를 시작하기 전에 왜 코딩을 배우고 싶은지 생각해보세요. 완성하고 싶은 프로젝트, 이 기술이 왜 흥미를 끄는지, 그리고 사용 가능한 자원 등을 고려해 보세요.

예를 들어, 가족을 위해 수입을 더 올리고 싶어 개발자가 되고 싶다고 가정해 봅시다. 어디서 일하고 어떤 프로젝트가 개발자를 필요로 하는지 알고 계신가요? 코딩을 배우고, 올바른 프로그래밍 언어를 배우며, 자신이 갖추고 있다는 것을 보여줄 프로젝트를 만드는 데 시간을 투자할 준비가 되어 있나요?

이렇게 넓은 목표를 세우는 것은 중요하지만 압도적일 수 있습니다. 대신, 더 작고 구체적인 목표부터 시작하는 것을 제안합니다. 예를 들어, 1년 후 반 마라톤을 준비하는 친구를 위한 모바일 앱을 만들고 싶다고 가정해 보세요.

이 목표는 다음을 수반합니다:

  • 필요한 기술을 습득하는 데 도움이 됩니다.
  • 어떤 프로그래밍 언어로 시작해야 하는지 감을 잡을 수 있습니다.
  • 학습하는 동안 시간을 관리할 수 있도록 마감 기한을 설정합니다.

2. 먼저 배우고 싶은 코딩 언어를 선택하세요.

시작할 프로그래밍 언어를 결정하려면 장기적 목표를 고려해 보세요. 코딩을 즐기기 위해 하는 것인가요, 아니면 직장에서 승진하기 위한 것인가요? 유연한 일정이 있나요, 아니면 급한 프로젝트를 끝내야 하나요?

저는 초보자 단계에 있을 때 데이터 구조나 알고리즘을 사용하지 않는 언어로 시작했습니다. 그래서 저에게 HTML이나 CSS가 좋은 시작점이었습니다. 그러나 Java나 Python과 같은 언어도 초보자에게 적합하며 다양한 응용 분야가 있습니다.

프로그래밍 언어를 배우는 데 몇 달이 걸릴 수도 있으므로, 이 결정에 충분한 시간을 투자하여 시간이 낭비되지 않도록 하세요.

3. 온라인 강의를 수강하세요.

코딩을 배우는 것은 더 이상 교실 환경이 필요하지 않습니다. 오늘날은 기초 HTML부터 데이터 구조, 복잡한 알고리즘까지 다루는 수천 개의 온라인 프로그래밍 강의가 있습니다.

첫 강의는 언어의 기초를 소개하고 상호작용 모듈과 과제가 포함되어 있어 학습을 안내합니다.

저에게는 강의가 학습 구조를 만드는 데 도움이 되어 컴퓨터 과학 개념이 서로 연결되도록 합니다. 체계적인 강의는 모든 것을 이해하기 쉽게 만들어 주며 올바른 순서로 학습하도록 보장합니다.

인기있는 무료 강의 제공업체로는 다음이 있습니다:

이러한 옵션은 특정 언어를 배우고자 하는 데 시간을 투자할 준비가 되었는지 조기에 판단하는 데 좋습니다. 실제 수업보다 훨씬 적은 비용으로 유료 강의를 이용할 수 있는 다양한 옵션이 있습니다.

이 선택지는 초보자, 중급자, 그리고 고급 컴퓨터 과학 주제를 다룹니다:

일부 유료 서비스는 가입 전에 가르침을 미리 체험하고 싶다면 무료 강의나 평가판을 제공합니다.

4. 영상 강의를 시청하세요.

아마도 유튜브 강의 한 두 개는 시청해 보았을 겁니다 — 코딩에 대해도 마찬가지로 해 보는 건 어떨까요?

온라인 강의가 실습 경험을 위한 최선의 방법이라면, 온라인 비디오는 학습을 보조하고 호기심을 자극합니다. 저의 개인적인 즐겨찾기로는 다음이 있습니다:

둘 다 컴퓨팅의 넓은 주제를 다루고 있습니다.

5. 책과 전자책을 읽으세요.

옛날 방식을 선호하시나요? 선택한 초보자용 언어에 대한 책을 한 권 들어보세요. 책은 기본 개념을 소개하고 코딩에 대한 통찰을 제공할 것입니다.

무료 전자책으로 HTML 및 CSS 배우기

각 초보 프로그래머를 위해 추천하는 몇 가지 권장 도서가 있습니다.

6. 학습을 돕는 도구를 사용하세요.

코드를 작성하는 데 특별한 도구가 필요 없다는 것을 알기는 좋지만 도움이 되는 도구가 있습니다.

코드 편집기

텍스트 편집기에는 색상 코딩, 자동 완성, 찾기 및 바꾸기, 다크 모드와 같은 코딩을 용이하게 하는 기능이 포함되어 있습니다.

대부분의 전문가들이 코드 편집기를 사용하는 경험상, 이 도구는 깔끔한 코드를 빠르게 작성하는 데 도움을 줄 수 있습니다. 코드 편집기는 텍스트 편집기와 비슷하지만 다음과 같은 추가 기능이 있어 코드를 관리하고 편집하는 데 도움이 됩니다:

  • 구문 강조
  • 코드 조회
  • 내장 터미널 환경

Notepad++Sublime Text, 그리고 Emacs는 초보자를 위한 인기있는 편집기입니다. VS Code 또한 좋은 선택지입니다.

콘솔

코드를 작성하기 시작할 때 컴퓨터를 약간 더 잘 알아야 합니다. 코딩을 시작하면 콘솔(또는 터미널이라고도 함)을 탐색하는 방법을 배워야 합니다. 이것은 운영 체제의 텍스트 기반 인터페이스입니다.

콘솔을 사용하면 일반적인 그래픽 사용자 인터페이스(GUI)보다 더 빨리 파일을 찾고 해당 파일에 명령을 실행할 수 있습니다. GUI에서는 불가능한 작업을 수행하게 될 것이므로 기본 UNIX 명령어를 포함하여 사용 방법을 익히세요.

프로젝트 관리

많은 프로젝트는 시작은 간단하지만 프로젝트가 진행됨에 따라 점점 복잡해집니다. 프로젝트 관리 도구를 사용하면 파일을 공유하고 타임라인을 업데이트하며 코딩 프로젝트의 별도 부분을 분리할 수 있습니다. 이렇게 하면 사이드 프로젝트와 추가 파일을 추적하는 것이 쉬워지며 일정을 준수할 수 있습니다.

문제 해결

코딩 프로젝트를 수행하는 동안 버그, 장애 및 기타 문제가 발생할 수 있습니다. 이는 매우 답답할 수 있습니다. 러버 덕 디버깅이 어리석게 들릴 수 있지만, 문제를 단순화하고 유용한 해결책을 찾는 데 도움이 될 수 있습니다.

7. 다른 사람들의 코드를 살펴보세요.

일부 사람들에게는 빈 페이지에서 만드는 것보다 다른 사람의 작업을 편집하는 게 더 쉬울 수 있습니다. 이런 경우 코딩을 배우는 좋은 방법은 다른 사람의 코드를 살펴보는 것입니다.

다른 프로그래머의 코드를 확인하면 영감을 받고 코딩 기술을 더욱 향상시킬 수 있습니다. 이 방법을 통해 다음을 할 수 있습니다:

  • 자신의 코드를 더 잘 이해하기
  • 새로운 코드를 더 빨리 이해하기
  • 품질 좋은 코딩의 구체적인 예시 얻기

좋아하는 프로그램이나 코드 파일부터 시작하세요. 어떤 코드로 시작할지 모르는 경우 GitHub 및 searchcode가 좋은 시작점입니다. 가능하다면 동료 검토 코드나 오픈 소스 프로젝트로 시작해보세요.

코드가 하는 일을 알고 있다면 작은 섹션 하나를 선택하고 역으로 작업하세요. 이렇게 하면 코드의 각 줄의 기능을 이해하는 데 도움이 됩니다. 또한 문서를 읽는 것이 좋습니다. 그러면 검토 중인 코드의 아이디어를 볼 수 있습니다.

8. 코딩 프로젝트를 완성하세요.

프로그래밍은 실습으로 배우는 것입니다 — 이를 피할 방법은 없습니다. 기능적인 코드를 작성하는 데 필요한 모든 개념과 구문에 대해 읽어볼 수 있지만, 배운 내용을 실천에 옮기지 않으면 아이디어가 마음속에 완전히 구현되지 않습니다. 이것이 프로젝트가 필요한 이유입니다.

프로젝트는 선택한 언어로 구축된 모든 프로그램(또는 웹사이트)을 의미합니다. 시작할 때 프로젝트는 단기간으로 유지하세요.

수업을 듣고 있다면 개념을 확고히 하는 데 목적으로 설계된 프로젝트를 부여받을 수 있습니다. 또한 독립적으로 시도해볼 수 있는 수많은 초보 프로그래밍 프로젝트가 있습니다. 일부 클래식 프로젝트에는 다음이 포함됩니다:

  • 시간 변환기: 사용자가 초 수를 제출하면 프로그램이 시간, 분, 일 등으로 동등한 값을 제공합니다.
  • 랜덤 숫자 생성기: 사용자가 지정한 두 값 사이의 난수를 생성합니다.
  • 계산기: 사용자가 입력과 수학 연산을 지정하면 프로그램이 출력을 제공합니다.
  • 주소록: 사용자가 연락처 이름을 제출하고 프로그램에 저장된 연락처를 검색할 수 있습니다.
  • 알파벳 정렬: 사용자가 단어 목록을 제공하면 프로그램이 알파벳 순으로 정렬합니다.
  • 행맨 게임: 사용자가 글자를 입력하여 숨겨진 단어를 추측하고 프로그램이 올바른지 여부에 대한 피드백을 제공합니다. 사용자가 단어의 모든 글자를 추측하면 승리합니다.

빠른 Google 검색을 통해 더 많은 미니 도전 과제가 나와요. 이를 통해 실제 문제에 기술을 적용해 볼 수 있어요.

코딩 프로젝트의 혜택

개념을 연습하는 것 외에도 프로젝트는 학습에 두 가지 혜택을 제공해요.

첫째, 당신을 동기부여할 거에요. 프로젝트는 코딩 뒤에 있는 “왜”를 확고히 하고 진행 상황에 대한 명확하고 구체적인 기준을 제시해요. 완료한 프로젝트마다 당신의 기술이 한 건 더 쌓인다는 걸 의미해요. 제가 배울 때, 이것이 매우 격려가 되었어요.

둘째, 특히 장기 프로젝트인 코딩 프로젝트는 당신의 작업에 대한 결과물을 제공해요. 이력서에 “파이썬”을 적는 것과 완전히 웹사이트나 응용 프로그램을 처음부터 만들었다는 것은 다른 문제에요.

프로젝트는 입문 프로그래밍 직업에 반드시 필요해요. 주어진 언어의 능력을 증명해 주기 때문이에요.

코딩하는 동안 동기 부여하는 방법

장기 프로젝트에 착수할 때, 투자할 시간을 고려해야 해요. 개인 웹사이트, 모바일 애플리케이션, 데스크톱 도구 등을 선택할 때, 중간에 어려움을 겪게 될 거에요. 진정으로 관심 있는 프로젝트를 선택하면 끝까지 이어 나갈 수 있어요.

코딩 프로젝트에 참여하면서 머물러있는 또 다른 좋은 방법은 프리랜싱이에요. 누군가에게 유용한 도구를 만들기 위해 전문 프로그래머일 필요는 없어요. 도구나 웹사이트가 필요한 친구, 가족, 혹은 현지 비즈니스에 연락해 보세요. 상대방과의 협력으로 상호 이익을 얻을 수 있어요.

9. 멘토와 커뮤니티를 찾아라.

친구나 온라인 커뮤니티가 당신의 학습에 귀중한 지원이 될 수 있어요.

먼저, 멘토를 찾는 것을 추천해요. 발전하면서 애쓰더라도 해결할 수 없는 문제에 직면하게 될 거에요. 이때 멘토가 도움을 줄 수 있어요.

멘토는 실제 선생님이 될 필요는 없어요. 당신의 언어에 대해 잘 알고 있는 누구든지 될 수 있어요. 어려운 개념을 설명하고 해결책을 가르치는 능력이 있어야 해요. 경험이 많은 멘토는 튜토리얼에서 다루지 않는 코딩 관행을 따르도록 도와주고, 기술 분야에서의 경력 탐색에 대한 조언을 제공할 수 있어요.

커뮤니티에 참여하는 것도 좋은 방법이에요. 지역 그룹, 네트워킹 이벤트, 지역 모임, 그리고 다른 프로그래머와 직접 만날 수 있는 해커톤을 찾아보세요.

온라인 개발자 커뮤니티는 초보자에게 풍부한 자료를 제공해요.

반드시 확인해보세요:

  • Stack Overflow, 프로그래밍 질문과 토론을 위한 포럼 사이트
  • GitHub, 활발한 개발자 커뮤니티를 위한 오픈 소스 프로젝트 코드 저장소
  • Women Who Code, 여성들의 기술 분야 취업을 위한 이벤트, 커뮤니티, 취업 정보를 제공하는 비영리 단체
  • r/learnprogramming, 초보 코더를 위한 subreddit (Reddit.com의 마이크로사이트)

10. 코딩 부트캠프에 등록해보세요.

코딩 부트캠프는 포괄적인 코딩 커리큘럼을 몇 달에 걸쳐 집약적으로 제공하는 단기 교육 프로그램이에요. 이 프로그램은 빠르고 집중적이며 개발 직업의 발판이 될 수 있어요.

코딩 부트캠프는 집중적이고 비용이 많이 드는데, 코딩 경험이 전혀 없는 사람이 뛰어들기에는 부적합해요.

이러한 프로그램은 주로 개발 직업을 희망하는 초심자들을 위한 것으로, 필요한 기술을 빠르게 습득하기 위해 시간, 에너지, 자본을 투자하는 준비가 된 사람들을 대상으로 해요.

졸업생들은 기술 산업에서 일자리를 찾는 경향이 있지만, 이것이 보장된 결과는 아니에요. 이를 위해 여유 있는 시간과 자본을 투자해야 해요. 그래도 당신이 동기부여를 받을 수 있는 동료와 교사들에게 둘러싸인 대면 학습 환경을 이기기 어려워요.

코딩 vs. 프로그래밍

코딩과 프로그래밍이라는 용어는 종종 서로 교환해서 사용되지만 항상 같은 의미는 아니에요. 코딩과 프로그래밍 모두 컴퓨터에 대한 명령을 작성하는 것을 의미해요. 그러나 프로그래밍에는 알고리즘과 데이터 구조도 포함될 수 있어요. 일반적으로 프로그래밍이라는 용어는 더 고급 프로젝트를 설명해요.

컴퓨터와 시간만 있으면 코딩할 수 있지만, 일부 프로그래밍은 전문 소프트웨어 도구가 필요할 수도 있어요. 프로그래밍 프로젝트는 보통 더 크고 복잡해요. 프로젝트 관리와 더 견고한 지식 기반이 필요할 수 있어요.

프로그래밍 언어

코딩은 컴퓨터가 이해할 수 있는 구문과 규칙의 세트인 하나 이상의 코딩 언어에 대한 지식이 필요해요. 수백 가지의 코딩 언어가 있으며 각각은 목적과 수행할 수 있는 작업에 따라 독특해요.

코딩의 세계에 발을 들여놓았을 때, 프로그래밍 언어의 다양성이 압도적으로 보일 거예요. 나는 HTML과 CSS로 시작했고, 그것은 변혁적인 경험이었어요. HTML에 뛰어들면 웹 페이지의 기본 구조가 보이고, CSS는 스타일링과 디자인의 비밀을 풀어줬어요. 이 언어들은 나 같은 초보자에게 웹 개발의 세계에 대한 실용적인 소개를 제공했어요.

프로그래밍 언어는 당신이 작성하는 명령에 대한 구조를 제공해 줘요. 이 언어는 영어와 비슷하지만 정확히 같지는 않아요. 프로그래머들은 프로그래밍 언어의 용어와 문법을 문법이라고 부르죠.

어셈블리어나 기계와 같은 저수준 언어는 기계가 읽기 쉽기 때문에 사람들이 배우기 어려울 수 있어요. 그럼에도 불구하고 C++과 같은 중급 언어는 다음을 작성하려면 유용해요:

  • 운영 체제
  • 데이터베이스 시스템
  • 이미지 또는 비디오 처리 소프트웨어

고급 언어는 일반적으로 초보자에게 더 쉬워요. 일부는 구조에 더 초점을 맞추고, 다른 것은 더 상호 작용적이며 더 복잡한 기능을 수행할 수 있어요.

초보자에게 가장 좋은 언어 중 일부는 다음과 같아요. 당신의 목표와 일치하는 하나의 언어에 익숙해지려고 노력하고, 다른 언어도 살펴보세요.

그러나 잘못 선택할까 걱정하지 마세요. 이러한 언어들은 기본 개념을 공유하기 때문에 한 가지 언어로 시작하고 다른 언어로 전환할 수 있어요.

HTML

하이퍼텍스트 마크업 언어, 또는 HTML,은 인터넷의 기반입니다 – 웹 페이지의 내용을 설정하는 데 사용됩니다. 웹 페이지를로드하면 브라우저에서 HTML 문서가 렌더링됩니다.

코딩이 내 것인지 확신이 없다면, HTML은 시도하기 가장 쉬운 언어입니다.

이것은 HTML이 기술적으로 프로그래밍 언어가 아니기 때문에 그렇습니다 – 스크립트를 실행하지 않으며 기능적인 프로그램을 만들 수 없습니다. 그럼에도 불구하고 HTML은 온라인에서 어디서나 사용되므로 인터넷을 이해하려면 먼저 HTML을 이해해야 합니다.

최적 사용자: 웹 개발에 발을 딛기를 원하는 초보자 및 웹 페이지 작성의 기본을 이해하려는 사람들.

CSS

HTML의 형제 언어인 CSS에 대해 덜 익숙할 수 있습니다. HTML은 웹 페이지에 나타나는 내용을 처리하지만 그 내용이 어떻게 보이는지는 영향을 주지 않습니다.

여기서 캐스케이딩 스타일 시트, 또는 CSS가 필요합니다. CSS 언어는 HTML의 스타일을 처리합니다 – 색상, 크기, 글꼴 및 페이지 레이아웃과 같은 기능을 설정합니다. CSS 또한 프로그래밍 언어가 아닙니다. 이것은 HTML에 적용된 규칙의 집합입니다.

HTML과 CSS는 거의 항상 함께 사용되므로 둘 다 배우는 것이 좋습니다. 그렇지 않으면 웹 페이지가 상당히 평범해 보일 것입니다.

처음부터 시작한다면, HTML 및 CSS에 몰입하십시오.

HTML 및 CSS를 배우기 쉽습니다. 왜냐하면 프로그래밍 언어의 계산 논리를 고려하지 않아도 되기 때문입니다.

HTML 및 CSS를 배우는 것은 다른 언어보다 추상적으로 느껴질 수도 있습니다. 코드의 결과를 빨리 볼 수 있기 때문입니다 – .html 파일을 만들고 브라우저에서 엽니다. 또는 기존 웹 사이트를 열고 내부 코드를 확인하려면 검사 도구를 사용하십시오.

그러나 웹 페이지가 기능을 수행하기를 원한다면…

JavaScript

JavaScript는 정적 웹 페이지를 동적으로 변환하는 프로그래밍 언어입니다. 페이지 요소를 이동시키거나 클릭과 같은 사용자 작업에 반응하며 페이지에 존재하는 것 이상의 작업을 처리할 수 있습니다.

웹 개발에 관심이 있고 HTML 및 CSS에 대한 감을 잡았다면 JavaScript가 다음 단계입니다.

이 세 가지 언어를 함께 사용하면 대부분의 웹 콘텐츠를 구성합니다. 또한 JavaScript 코드는 브라우저에서 쉽게 테스트할 수 있습니다.

전문가 팁: JavaScript에서 DOM 조작 및 비동기 프로그래밍을 숙달하여 웹 페이지를 정말 생동감 있게 만드세요.

Python

Python은 사용자 친화적인 구문과 다재다능성으로 초보자들에게 인기 있는 프로그래밍 언어입니다.

Python 코드의 많은 부분은 영어처럼 읽히기 때문에 초보자들이 함수와 같은 기본 개념을 배우는 데 도움이 됩니다.

Python에는 많은 코드 라이브러리가 있습니다. 이들은 함수를 직접 작성하는 대신 코드에 플러그인할 수 있는 미리 작성된 함수 그룹입니다. Python을 사용하면 다양한 유형의 프로그램을 작성할 수 있습니다. 많은 입문 과정도 이 언어를 기반으로 프로젝트를 진행합니다.

나의 선호 사항: Python의 방대한 라이브러리와 커뮤니티 지원으로 초보자와 숙련된 프로그래머 모두에게 좋은 선택입니다.

C/C++

C는 입문용 코스로 인기있는 선택지입니다. Python보다 말이 많고 동일한 작업을 수행하기 위해 더 많은 코드를 작성해야 할 수도 있습니다. 이것은 더 많은 작업이지만 추상적인 개념을 이해하는 데 유용합니다. C를 사용하면 다른, 더 간결한 언어에 적용할 수 있는 기술을 배울 수 있습니다.

C++는 C의 후속작입니다. C++ 구문은 C와 유사하며 프로그램을 더욱 복잡하게 만드는 강력한 변수 유형인 객체를 추가했습니다.

그러나 처음에는 C로 시작하는 것을 권장합니다. C++에 매핑할 수 있는 개념이 적고 기본 기능을 가르쳐줍니다. 또한 함수 지향 프로그래밍의 기본을 가르쳐줍니다.

최적 사용자: 시스템 수준 프로그래밍, 게임 개발 또는 성능이 중요한 응용 프로그램에 관심이 있는 사람들.

C#

C#은 비디오 게임, 모바일 및 데스크톱 앱, 그리고 기업용 소프트웨어를 개발하는 데 인기가 있습니다. C#은 C++과 공통 소스를 공유하지만 C++과 C가 많은 부분이 겹치는 반면, C#은 더 자바와 비슷합니다.

C#은 배우기 쉽고 사용할 수 있는 방법이 많습니다. C++과 C#을 모두 사용할 계획이라면 먼저 C++을 배우는 것이 좋습니다. 이렇게 하면 C#을 이해하기 쉬워지며 학습 과정을 가속화할 수 있습니다.

Java

자바(JavaScript와 혼동하면 안 됩니다)는 일반 목적의 객체지향 프로그래밍 언어입니다. 파이썬과 마찬가지로 자바의 구문은 사람이 읽고 이해하기 쉽습니다. 종종 복잡한 작업도 한 명령으로 처리할 수 있습니다.

자바는 안드로이드 모바일 앱에서 널리 구현됩니다. 다른 언어를 배우는 데 직관적으로 적용할 수 있는 원칙을 가진 또 다른 훌륭한 기본 언어입니다.

전문가 팁: 자바를 다룰 때 객체지향 프로그래밍을 이해하는 데 주의를 기울이는 것이 중요하며, 이것이 자바의 기능의 핵심을 형성합니다.

하이퍼텍스트 전처리기 (PHP)

PHP는 웹 애플리케이션을 개발하기 위한 서버 측 오픈 소스 프로그래밍 언어입니다. 최신 뉴스 스토리와 같은 동적 정보를 웹 사이트에 쉽게 추가할 수 있습니다.

이 언어를 HTML에 삽입할 수도 있어서 외부 파일이 필요하지 않고도 웹 사이트에 기능을 추가하기 쉽습니다. PHP는 데이터베이스 액세스에도 탁월하며, 데이터 접근 및 저장이 간단합니다.

초보자에게 적합: 웹 개발의 서버 측 측면을 탐구하고 싶은 초보자에게 적합합니다.

루비

루비는 자동화 도구, 데스크톱 애플리케이션, 빠른 프로토 타입을 만드는 데 유용한 간단한 언어입니다. 루비에는 루비 온 레일즈라고 불리는 인기있는 프레임워크도 있습니다.

루비는 또 다른 오픈 소스 서버 측 프로그래밍 언어입니다. 해당 프레임워크는 웹 페이지, 웹 서비스, 데이터베이스에 대한 기본 구조도 제공합니다. 이로써 웹 애플리케이션 개발에 유용한 도구가 됩니다.

이 언어는 읽고 쓰기 쉽지만 첫 번째 프로그래밍 언어로 선택하기에는 최적의 선택이 아닐 수 있습니다. 이는 상당히 유연하기 때문에 변경 사항을 쉽게 수용합니다.

코딩 프로젝트를 처음 시작할 때 유연성은 좋습니다. 그러나 프로젝트를 시간이 지남에 따라 유지 관리할 때 코드 변경에 영향을 줄 수 있습니다.

마음에 드는 점: 루비는 ‘설정보다 관례’ 철학으로 빠른 애플리케이션 개발에 뛰어난 선택입니다.

SQL

SQL는 초보자에게 유용한 또 다른 언어입니다. 이 언어를 사용하여 데이터베이스에서 데이터를 업데이트, 저장 및 검색할 수 있습니다. 미국 국가 표준 협회에 따르면 데이터베이스 관리 시스템의 표준 언어입니다.

웹 페이지를 구축하는 것이 아닌 쿼리 언어이기 때문에 다른 프로그래밍 언어들과 다릅니다.

프로그래밍에 대한 이해가 없다면 SQL을 배우는 데 시간이 걸릴 수 있습니다. 그러나 이 언어는 기술 분야와 데이터 전문가들 사이에서 인기가 많아 직장에서 많은 중요성을 가지고 있습니다.

마음에 드는 점: 데이터 저장 및 검색을 포함하는 프로젝트에 필요한 SQL은 웹 개발자에게 필수적인 학습이 되어야 합니다.

Swift

애플 기기용 프로젝트를 만들기 위해 코딩을 배우고 있다면, Swift는 시작하기 좋은 언어입니다. 애플 디자이너들이 초보자를 고려하여 이 언어를 만들었습니다. iOS 기기용 모바일 앱을 개발하는 주요 목표라면 이 언어를 선택해야 합니다.

2014년 이후 대부분의 제품이 프로그래머들에 의해 Swift로 개발되었지만 Objective-C도 배우는 것이 좋습니다.

이 언어는 1980년대에 개발되었습니다. 팀이 대부분의 iOS 도구를 구축한 것입니다. C 구문을 사용하므로 이미 C나 C++을 배웠다면 학습을 시작할 때 Objective-C로 시작하는 것이 좋습니다.

최적화 대상: 애플 플랫폼용 앱을 개발하고자 하는 모든 사람에게 적합합니다. Swift의 현대적인 기능과 안전성은 iOS 앱 개발에 필수적입니다.

초보자를 위한 코딩 팁

코딩 세계에 발을 들이킨 지 얼마 되지 않았지만, 코딩을 배우면서 어렴풋이 느껴지는 흥분과 불안감을 이해합니다. 코딩을 연습하는 다양한 방법이 있으며, 어떤 방법과 언어가 다른 사람보다 더 잘 맞을 수 있습니다.

어떤 방식으로든 학습하더라도, 초보자를 위한 이 팁을 기억하세요:

1. 인내심을 가져야 합니다.

이 게시물의 처음에는 누구나 코딩을 배울 수 있다고 했습니다. 그러나 그것이 쉽다는 뜻은 아닙니다.

코딩은 이전에 시도해보지 않은 방식으로 문제에 접근하도록 요구합니다. 특정 주제는 당신에게 비합리적으로 보일 수도 있지만, 배우고 있는 언어에 중요한 내용일 수 있습니다. 처음에 쉬워 보이던 문제들이 예상보다 훨씬 복잡해질 수 있습니다. 결과를 보지 못하고 과제에 시간을 투자할 수도 있습니다.

그리고 디버깅을 잊지 말아야 합니다. 컴퓨터는 정확하고 눈치가 빠른 것을 빨리 배우게 될 것입니다. 세미콜론이 빠져있거나 잘못된 연산자와 같은 작은 오타는 전체 프로그램을 망치게 할 수 있으며, 범인을 찾아야 합니다.

초보자를 위한 코딩도 쉽지 않습니다.

이 모든 것은 불편하고 좌절스러울 수 있지만, 괜찮습니다. 천천히 차근차근 진행하고 모든 것이 체화될 시간을 주세요.

최고의 프로그래머들도 예전에 여러분이 있는 자리에 있었고, 모든 사람들은 시작하기 위해 동일한 것을 배워야 합니다. 스스로에게 관대해지고 설정한 목표를 지켜주며, 휴식을 취하면 괜찮을 겁니다.

2. 기초를 숙지하세요.

프로그래밍 언어를 배우는 초기 단계는 모두 기본 사항에 관한 것입니다. 이해를 시작할 수 있도록 다음과 같은 주제들을 살펴볼 수 있습니다.

  • 변수.
  • 함수.
  • 조건부 논리.
  • 배열.
  • 객체.

전진하기 전에 이러한 개념을 완전히 이해하는 것이 중요합니다. 컴퓨터 과학에서 배우는 모든 것은 이전에 나온 주제들을 기반으로 합니다.

이해되지 않는 부분이 있다면, 이해될 때까지 계속 반복해야 합니다. 미래 수업의 맥락에서 나준 후에 이해될 것으로 가정하지 말아야 합니다. 튜토리얼에서 배우고 있는 경우, 각 활동이 무엇을 가르치고 있는지 이해해야 합니다.

코딩에 어떻게 적용되는지를 경험하기 위해 모든 연습을 완료하세요. 기초를 숙지하지 않으면 야심찬 프로젝트에 착수할 수 없습니다.

3. 처음부터 깨끗한 코드 작성하기.

온라인 강좌로는 가르쳐주지 않는 것: 코드를 작성하는 방법을 배우는 것 외에도, 잘 작성하는 것을 연습해야 합니다.

이게 무슨 뜻일까요? 주어진 계산에는 프로그래밍하는 여러 방법이 있을 것입니다. 항상 가장 간결하고 사람이 이해하기 쉬운 방식으로 작성하도록 노력해야 합니다.

개발자들은 일반적으로 팀에서 작업하므로 다른 사람들이 여러분의 코드를 자주 읽게 됩니다. 해독하기 어렵다면, 동료 개발자들은 여러분과 함께 일하고 싶어하지 않을 것입니다.

프리랜서로 결정하더라도, 깨끗한 코드를 작성하면 여러분의 코드를 이해할 수 있을 것입니다. 지금 깨끗한 코딩 습관을 들이는 것이 좋습니다. 몇 달 동안 코드를 보지 않은 후에 작업을 해독하는 데 시간을 낭비하는 것을 피할 수 있습니다.

왜 깨끗한 코드가 중요한가요?

지금까지 깨끗한 코드를 배워야 하는 이유가 궁금할 수 있습니다. 여러분은 초보자이므로 기능적인 프로그램을 작성하는 것이 주요 목표가 아니라고 생각할 수 있습니다.

그렇습니다. 이것은 초기에 좋은 습관을 확립하는 것입니다. 지금 추가 노력을 기울이면 나중에 여러분(및 다른 사람들)은 몇 가지 건강을 유지할 수 있습니다.

처음에는 각 코드 라인을 80자 이내로 제한하고 각 함수를 15줄 이하로 제한하는 것이 좋습니다.

처음에는 제한을 두면서, 이 규칙은 여러분이 첫 번째 떠오르는 아이디어보다 효율적인 코드를 선호하도록 훈련시킬 것입니다.

또한 주석을 작성하는 습관을 들이세요. 주석은 컴퓨터에 의해 처리되지 않는 코드 세그먼트로, 원하는 대로 내용을 작성할 수 있습니다.

프로그래머들은 코드의 목적을 명확히하기 위해 주석을 사용합니다. 각 함수의 맨 위에 각 함수의 작업을 설명하는 주석을 남기는 것은 최소한의 요구사항입니다.

4. 검색은 여러분의 친구입니다.

코딩 문제의 해결책을 찾기 위해 Google을 사용하는 것에 수치심을 느낄 필요가 없습니다. 실제로, 프로 개발자들은 항상 그렇게 합니다.

어려움을 겪고 있다면, 누군가는 이미 동일한 상황에 처해 있고 포럼에 질문을 올렸을 것입니다. 특정 질문으로 매우 구체적인 해결책을 찾을 수 있다는 점에 놀랄 것입니다.

게다가, 고집스러운 버그를 해결한 후 Stack Exchange의 20개 탭을 닫는 것은 꽤 만족스러울 겁니다.

우리가 선호하는 코딩 자료

Coursera

Coursera는 일반적으로 훌륭한 자원입니다. Google, IBM뿐만 아니라 여러 대학과 대학에서 많은 프로그래밍 및 코딩 코스를 제공합니다. 월간 구독을 통해 유료 코스를 많이 이용할 수 있지만, 무료 코스도 있습니다.

Coursera는 각각의 코스에 대해 재정 지원을 제공합니다. 승인되면 유료 콘텐츠에 무료로 액세스할 수 있습니다. 이 방법을 통해 제한된 시간 동안만 액세스할 수 있다는 점에 유의해야 합니다. 몇 달 동안 코스를 수강하지 않으면 액세스 권한을 상실할 수 있습니다.

Coursera의 또 다른 장점은 교실 환경으로 취급된다는 것입니다. 이는 각 코스에 대해 질문할 수 있는 강사와 현재 코스를 수강 중인 다른 학생들이 있는 것을 의미합니다. 진로를 개척하거나 변경하는 데 도움이 되는 전문 자격증도 획득할 수 있습니다.

MDN Web Docs

웹 개발을 진행 중이라면, MDN Web Docs는 문서 작성에 있어 금기시되는 표준입니다. HTML, CSS, JavaScript와 관련된 모든 것이 여기에 있습니다. 이 사이트는 Mozilla Foundation에 속하며, 여러분이 인기 있는 웹 브라우저인 Firefox를 알고 있을 것입니다.

MDN Web Docs에는 초보자부터 고급 수준까지 다양한 튜토리얼이 있습니다.

Codecademy

Codecademy는 즉시 코드 작성에 적합합니다. 소형의 소화 가능한 작업을 제공하며 작업할 수 있는 환경도 제공합니다. 상상할 수 있는 거의 모든 언어에 대한 강좌가 있습니다.

대부분의 콘텐츠는 무료이지만 유료 지도 프로젝트와 직업 경로, 직업 서비스 및 전문 자격증도 선택할 수 있습니다.

The Odin Project

The Odin Project는 웹 개발을 위한 오픈 소스 풀 스택 커리큘럼입니다. Ruby on Rails를 사용하는 경로와 JavaScript(React 프레임워크 포함)를 사용하는 다른 경로가 있습니다.

사용 가능한 정보 양은 다소 방대하지만 The Odin Project의 가장 좋은 점은 끝에 여러 실제 프로젝트를 가지고 기술을 갈고 닦고 잠재적인 고용주에게 자랑할 수 있다는 것입니다.

W3Schools

W3schools에는 전형적인 프로그래밍 언어부터 프레임워크 및 SQL 및 HTML과 같은 다른 언어까지 다양한 튜토리얼이 있습니다. 코딩 모험 중에 활용하고 참조할 수 있는 많은 예제 코드도 있습니다.

가장 좋은 점은 모든 것이 무료라는 것입니다. 유료 자격증이 있지만 언어에 대한 실제 정보는 모두 손쉽게 이용할 수 있습니다.

Stack Overflow

Stack Overflow는 개발자들에게 매우 인기 있고 유용한 사이트입니다. 사람들은 코딩에 관한 질문을 하고 피드백을 받습니다. 그런 다음 답변은 최적의 해결책을 찾기 위해 투표됩니다. 초보자가 아니더라도 다양한 질문이나 문제에 대한 답변을 찾기 위해 여기로 자주 돌아오게 될 것입니다.

커뮤니티는 매우 활발하며 공개 플랫폼은 무료입니다. 다른 사람들과 상호 작용하려면 계정을 만들어야 합니다.

코딩은 코드 이상의 것입니다.

마무리하며, 나의 첫 번째 컴퓨터 과학 수업에서 얻은 소중한 조언을 하나 더 공유하고 싶습니다. 초보자의 관점에서 보면 코딩을 배운다는 것은 코드를 작성하는 방법을 배우는 것처럼 보일 수 있습니다.

이는 이해할 만합니다: 컴퓨터 프로그래머를 상상할 때, 우리는 누군가가 컴퓨터에서 코드를 작성하는 것을 보는데, 결국 “코딩”이라고 불리기 때문입니다.

그러나 시작하면 알게 되는 것은 이것이 전부가 아니라는 것입니다. 실제로 쓰는 것보다 무엇을 쓸지에 대해 더 많은 생각을 하게 될 것입니다.

코딩은 문제 해결입니다.

이것은 코드 작성이 아닌 문제 해결에 관한 것이기 때문입니다. 코딩을 배우는 것은 컴퓨터가 생각하는 방식을 배우는 것이며 문제를 요소로 분해하고 주어진 도구로 해결하는 것입니다.

그래서 네, 인상적인 코드를 작성하고 놀라운 것을 만들기는 배울 것입니다. 그러나 먼저 당신이 그 곳에 도달할 수 있는 사고 기술을 개발하게 될 것입니다.

나의 코딩 경험을 통해 이러한 문제 해결 방식은 기술적 도전 과제에 접근하는 방법과 일반적인 문제 해결 방식에 대한 나의 태도를 바꿨습니다. 여러분도 같은 경험을 하길 바랍니다. 계속 나아가세요. 여러분은 할 수 있습니다.

편집자 주: 본 게시물은 원래 2020년 12월에 발표되었으며 이해를 돕기 위해 업데이트되었습니다.

이 기사의 내용은 원문 기사에서 번역되었습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다