반응형
  • 최신 정보 습득: 프로그래밍 분야는 매우 빠르게 변화하기 때문에, 최신 기술 트렌드를 따라가기 위해서는 영어로 된 자료를 직접 읽고 이해해야 합니다.
  • 문제 해결: 코딩 과정에서 발생하는 에러 메시지나 해결 방법은 대부분 영어로 제공됩니다.
  • 커뮤니케이션: 해외 개발자들과 소통하거나 오픈 소스 프로젝트에 참여하려면 영어 능력이 필수적입니다.
  • 더 나은 코드 작성: 프로그래밍 관련 자료와 커뮤니티에서 영어로 작성된 코드를 읽고 분석하면서 더 나은 코드 작성 능력을 키울 수 있습니다.

프로그래머가 기르면 좋은 영어 능력

  • 빠르고 정확한 독해: 프로그래밍 관련 문서, 코드, 커뮤니티 게시글 등을 빠르게 읽고 이해할 수 있는 능력.
  • 기술 용어 이해: 프로그래밍 관련 용어와 개념을 정확하게 이해할 수 있는 능력.
  • 기본적인 영문법: 영문법을 어느 정도 이해하고 있어야 합니다.
  • 간단한 영문 작성: 코드에 대한 주석이나 간단한 문서를 영어로 작성할 수 있는 능력.

프로그래머를 위한 영어 학습 방법

  • 프로그래밍 관련 영어 자료 활용: 프로그래밍 관련 책, 문서, 코드, 커뮤니티 게시글 등을 읽고 공부합니다.
  • 영어로 코딩: 해설이 있는 영어 코딩 강좌를 수강하거나, 개인 프로젝트를 진행하면서 영어로 코딩합니다.
  • 해외 개발자들과 소통: 온라인 커뮤니티나 SNS를 통해 해외 개발자들과 소통하며 영어 실력을 향상시킵니다.
  • 영어 학습 앱 활용: 영어 학습 앱을 활용하여 기본적인 영어 단어와 문장을 익힙니다
반응형
반응형

프로그래밍에서는 라이브러리나 프레임워크, 심지어 프로그래밍 언어까지 선택해야 할 것이 많습니다. 그리고 이 선택들은 되돌리기 어려울 뿐 아니라, 선택지가 많고 빠르게 바뀌어서 결정하기 쉽지 않죠. 올바른 선택을 위해서는 트렌드를 읽고 스스로 판단할 수 있는 능력을 길러야 합니다..

활발한 기술

기술의 선순환을 기억하세요.

  1. 좋은 기술은 많은 사람들이 사용합니다.
  2. 많은 사람들이 사용하면 커뮤니티가 활발해 지고, 좋은 토론과 자료들이 많이 만들어 집니다.
  3. 좋은 토론과 자료를 통해, 더 많은 사람들이 기술을 선택하게 됩니다.

정리하자면, 좋은 기술이 활발해지기도 하고, 활발한 기술이 좋은 기술이기도 합니다. 활발한 기술은 좋은 자료를 쉽게 찾을 수 있고, 커뮤니티에서도 빠른 답변을 기대할 수 있기 때문에 빠르게 배우고 빠르게 문제를 해결할 수 있습니다. 혹은, 이미 나와 같은 일을 겪은 사람들의 질문과 답변도 많이 발견할 수 있을 겁니다.

인정받는 기술

잘 모를 땐, 대세를 따르는 것도 하나의 방법입니다.

여러 회사들이 선택한 기술은 주로 뛰어난 개발자들의 많은 고민과 상의 끝에 내려진 결정입니다. 물론 규모나 목적에 따라 더 적합한 기술이 달라질 수 있겠지만, 참고하면 좋습니다.

StackShare를 통해 유명한 회사들이 사용하는 기술을 알 수 있습니다. 하나의 회사에서 사용하는 기술들을 모아서 “기술 스택(Stack)”이라고 표현하기도 하니 참고하세요.

기업에서 직접 만들거나 관리하는 기술도 있습니다. 예를 들어 React는 페이스북에서, AngularJS는 구글에서 관리를 하고 있죠. Java는 오라클의 소유이고, Swift는 애플에서, Go는 구글에서 만든 언어입니다.

든든한 지원군이 있으면 기술이 안정적으로 성장할 가능성이 높습니다. 각 회사의 뛰어난 개발자들이 기술 발전을 위해 노력할테니까요.

유망한 기술

산업 트렌드가 바뀌면, 기술이나 경험의 활용도가 갑자기 커지거나 줄어들기도 합니다. 개발자의 실력과 관계 없이 입지가 늘어날 수도, 줄어들 수도 있는 거죠. 그래서 기술을 선택할 때는 이 점을 고려해야 합니다.

단순히 프로그래밍 분야의 트렌드만 파악할 것이 아니라, IT 혹은 산업 전반에 대한 이해를 가지고 판단해야 더 정확하게 판단할 수 있습니다. IT 산업은 워낙 변화의 속도가 빠르기 때문에, 늘 귀를 열어두어야 하고요. 가트너에서는 매년 10대 전략 기술 트렌드를 발표합니다.

 

 

반응형
반응형

 

 

프로그래밍의 여러 영역은 서로괘 밀접하게 연결되어있다

 

비슷한 접근방식괴 문제를 해결방법을 공유하고 있기 떄문에

 

하나만 잘해도 다른하나도 더쉅게 할수있는게 프로그래밍

 

 

뛰어난 서버개발자를데리고 애플케이션을 만들라고하면 조금만 시간을주면 금방적응해서 잘할수있다

 

 

 

 

내가 만약 개발자를 하고싶다면 무조건 사진안에 있는 기술들을 완벽히

다루는게 좋다

 

개발자 첫시작이라고 볼수있다

ㅍㄹ

 

 

 

A. 프로그래밍의 다양한 분야

01. 컴퓨터 사이언스의 기본기

- 프로그래밍의 여러 영역은 서로 꽤 밀접하게 연결되어 있음 => 비슷한 접근 방식과 문제 해결 방식을 공유하고 있기 때문

- 뛰어난 서버 개발자를 데려와서 애플리케이션 개발을 맡기더라도 조금만 적응하면 곧 잘 하게 되며, Java를 잘 다루는 사람은 C++도 금방 배운다.

- 따라서, 프로그래밍의 기본적인 개념이 튼튼하면 어떤 새로운 기술이나, 언어, 환경이 나오더라도 빠르게 적응할 수 있음

- 컴퓨터 사이언스의 가장 기본이 되는 과목으로는 객체 지향 프로그래밍, 알고리즘, 자료 구조 정도가 있음 => 컴퓨터 사이언스의 선택이 아닌 필수 과목

- 이 외에도 컴퓨터 구조, 운영 체제, 컴파일러, 웹 개발, 데이터베이스, 네트워크 등 다양한 과목이 존재함

02. 소프트웨어 공학

- 개발자는 코딩 외에도 많은 일들을 한다.

- 프로그램을 만든다고 가정 => 어떤 기능을 누구와 언제까지 만들지 정해야 함

- 개발자끼리만 협업하는 것이 아닌 기획자, 디자이너, 마케터 등등과 함께 일을 진행함 => 일의 순서에 따라 협업하는 도중 문제가 생길 수 있음

- 이러한 전반적인 프로세스를 다루는 분야가 ‘소프트웨어 공학’임 => 새로운 제품, 서비스, 도구 등을 만드는 것에 대한 학문. 기획, 제작, 테스트, 출시, 사후관리의 모든 프로세스를 포함한다.

- 기획 : 어떤 것을 만들지 정하는 단계 => 어떻게 하면 기획자가 원하는 것을 개발자에게 정확하게 전달할 수 있을지

- 개발 : 기획한 것을 만드는 단계 => 어떤 것을 만들지, 어떻게 구현할지, 어떻게 분업할지

- 테스트 : 개발이 기획대로 잘 되었는지 확인하는 단계 => 어떻게 소프트웨어의 문제점을 출시 전에 효율적으로 찾아낼 수 있을지

- 배포 : 개발된 제품/서비스를 사용자가 사용하는 단계 => 어떻게 각 사용자의 실행 환경에 맞는 소프트웨어를 잘 배포할 수 있을지

- 유지/보수 : 출시된 서비스를 변화시키는 단계 => 어떻게 하면 만들어진 소프트웨어를 쉽게 변경할 수 있을지

- 결국은 어떻게 하면 이 모든 프로세스가 매끄럽게 진행될 수 있을지 고민하게 됨

- 소프트웨어 공학은 이론에만 머물러 있으면 안 되며 실질적으로 이루어져야 함

03. 프로세스 관리

- 관리자, 기획자, 디자이너, 개발자, 테스터가 의사소통 중 문제 발생 => 협업 방식 고안

- 협업 방식에는 크게 폭포수(waterfall) 방식애자일(agile) 방식이 있음

- 폭포수(Waterfall) 방식 : 각 단계를 완료하고 다음 단계로 넘어가는 고전적인 방식

- 폭포수 방식의 장점 : 이해하기 쉽고 관리하기가 편함

- 폭포수 방식의 단점 : 만들고자 하는 게 복잡해질 경우 각 단계를 한 번에 완벽히 끝내기가 힘들 수 있음 => 프로그램이 복잡하면 의도한 대로 완벽한 전달이 불가함. 의도하지 않은 방향으로 진행해도 완성되어 다음 단계로 넘어가기 전까지는 문제를 발견할 수 없음

- 애자일(Agile) 방식 : agile은 재빠른, 민첩한이라는 의미. 잘못된 방향으로 너무 멀리 가기 전에 재빨리 결과물을 만들어서 미리미리 확인하고 고치면서 진행하는 방식 => 기획자가 자신이 상상한 것과 비슷한지 직접 써보며 의견을 덧붙일 수 있음

- 기능 변경이 유연한 애자일 방식은 서비스든 제품이든 복잡해지고 변화 주기가 짧은 요즘 시대에 더 효율적이고 적합한 협업 방식임 => Scrum이나 Kanban같은 구체적인 실행 방법도 생김

- 애자일 방식의 단점 : 프로그램을 만들어 소통하고 추가로 개발하는 과정이 반복되다보니 폭포수 방식보다 관리하기가 훨씬 복잡함

- 상황에 따라 폭포수 방식과 애자일 방식을 섞어 쓰거나 변형해서 쓰기도 한다.

반응형
반응형

.hwp 파일을 작성하려면 아래아한글, .ppt 파일을 만들려면 파워포인트 프로그램같이 파일을 열고 편집할 수 있는 프로그램이 필요한데요. 우리도 본격적으로 시작하기 전에 필요한 프로그램 몇 가지를 설치해야한다 

 

 

웹사이트를 만들 때는 기본적으로 .html 형식의 파일을 만드는데요. HTML 파일을 편집한 다음에 웹 브라우저에서 열면 우리가 평소에 보는 웹사이트처럼 화면에서 볼 수 있습니다.

 

  코드를 작성하는 데 사용할 에디터(편집기) 프로그램이랑, HTML 파일을 열어서 보여줄 웹 브라우저가 필요합니다. 다양한 선택지가 있지만  혼란을 덜기 위해서 VS Code와 크롬을 사용하겠습니다

 

VS Code는 전문적으로 프로그램을 만드는 개발자들도 많이 사용하는 편집기

 

 

VS Code 설치하기

그럼, 먼저 VS Code 를 설치해 봅시다. VS Code는 Visual Studio Code의 약자인데, 구글 같은 검색 사이트에서 VS Code 로 검색하면 쉽게 찾을 수 있으실 겁니다.

아마 맨 위에 뜨는 대표 사이트로 들어가면 메인 화면에 곧바로 내가 사용 중인 운영체제(윈도우즈, 맥)에 맞는 다운로드 버튼이 나올 겁니다. 이걸 눌러서 설치하시면 됩니다.

 

 

 

 

크롬 브라우저 설치하기

크롬은 구글에서 만든 웹 브라우저인데요. 대중적으로 많이 사용하는 브라우저기 때문에  이 브라우저를 사용할 겁니다.

검색 사이트에서 Chrome 또는 한글로 크롬을 검색하면 위쪽에 대표 사이트가 나오는데요. 들어가면 VS Code 사이트처럼 자신이 사용하는 운영체제(윈도우즈, 맥)에 맞는 다운로드 버튼이 나옵니다.

버튼을 클릭하면 다운로드가 진행되고, 설치 프로그램의 안내에 따라서 크롬을 설치하시면 됩니다.

 

 

 

반응형
반응형

 

코딩이란?

coding   

programming 

 

흔히 들리는 프로그래밍 이라는 말을 코딩이랑 비슷한거라고 생각하면 된다

컴퓨터는 인간처럼 똑똑하지 않다 대충말하현 알아듣는게 아니라 아주정확하게 한줄한줄

애기를 해줘야 이해한다

 

인간이 컴퓨터와 소통하기 위해  사용하는 그언어를   코드 라고 부르고

컴퓨터에게 일을 시키기 위해 코드를 작성하는 그 행위를 코딩이라고 부른다

 

코딩을 쉅게 애기하면 컴퓨터에게  어떤 동작을 시키기위해 명령을 내리는것  

컴퓨터는 이진수 즉 0과1만 이해할수있기떄문에  사람의언어로 이해를하지못한다

바로여기소 코딩이사용된다

 

코딩에서 정해진 규칙에 맞게 명령을 작성하면 이게 0과1로 번역되고 컴퓨터가 이해할수 있게된다

 

사람이하기 어려운 복잡한계산이나 매일 반복적으로 해야하는 일을 대신맡길수있다

그리고 꼭 사람의 일을 대신하는게 아니더라도 컴퓨터안에 이루어질 수있는거라면   뭐든코딩으로 만들어 낼수있다

 

 

예를 들면 채팅이나 게임이나 온라인 쇼핑같은것도 모두 코딩으로 만들어지고있다

 

이렇게 우리가 사용할 수있도록 코딩으로 만든걸 소프트웨어 라고 부른다

 

우리가 손으로 만질 수있는 컴퓨터와 같은걸 하드웨어라고 한다면

반대적으로 물리적 만지지는 못하는 이런프로그램을 소프트웨어 라고 부른다

 

 

'

꼭 컴퓨터가 아니라 스마트폰이나 태블릿 심지어 TV 청소기같은 가전제품 에도 다소프웨어 가들어가있다

평소에 생각한해봤을수도 있지만 주의둘러보면 많은 곳에서 코딩을 사용한다

반응형

+ Recent posts