basics computer programming
이 기사에서는 프로그래밍 개념, 프로그래밍 언어, 프로그래밍 학습 방법, 필요한 기술 등을 포함한 컴퓨터 프로그래밍의 기초를 다룹니다.
DevOps에서 지속적 배포를위한 도구
또한 컴퓨터가 어떻게 작동하는지, 프로그래머를 위해 이러한 프로그래밍 기술과 직업 옵션을 어디에 적용 할 수 있는지 살펴볼 것입니다.
학습 내용 :
컴퓨터 프로그래밍 – 완전한 튜토리얼
컴퓨터 프로그래밍의 세계에 깊이 빠져들고 프로그래밍의 기초에 대해 자세히 알 준비를하십시오.
시작하자!!
컴퓨터 프로그래밍이란?
컴퓨터 프로그래밍은 개발자가 유효한 입력에 대해 원하는 출력을 반환하는 특정 작업을 수행하는 데 도움이되는 일련의 지침입니다.
다음은 수학적 표현입니다.
Z = X + Y, 여기서 X, Y 및 Z는 프로그래밍 언어의 변수입니다.
X = 550이고 Y = 450 인 경우 X 및 Y의 값은 리터럴이라고하는 입력 값입니다.
우리는 컴퓨터에게 X + Y의 값을 계산하도록 요청하며, 결과적으로 Z, 즉 예상 출력이됩니다.
컴퓨터는 어떻게 작동합니까?
컴퓨터는 정보를 처리하는 기계이며이 정보는 키보드, 마우스, 스캐너, 디지털 카메라, 조이스틱 및 마이크와 같은 장치를 통해 사용자가 제공하는 모든 데이터 일 수 있습니다. 이러한 장치는 입력 장치 제공된 정보를 입력이라고합니다.
컴퓨터는이 정보를 저장하기 위해 스토리지가 필요하며 스토리지를 메모리라고합니다.
컴퓨터 스토리지 또는 메모리는 두 가지 유형이 있습니다.
- 기본 메모리 또는 RAM (랜덤 액세스 메모리) : 컴퓨터에서 사용되는 내부 저장소이며 마더 보드에 있습니다. RAM은 임의의 순서로 또는 무작위로 빠르게 액세스하거나 수정할 수 있습니다. RAM에 저장된 정보는 컴퓨터를 끄면 손실됩니다.
- 보조 메모리 또는 ROM (읽기 전용 메모리) : ROM에 저장된 정보 (데이터)는 읽기 전용이며 영구적으로 저장됩니다. ROM 저장 명령은 컴퓨터를 시작하는 데 필요합니다.
가공 :이 정보 (입력 데이터)에 대해 수행되는 작업을 처리라고합니다. 입력 처리는 일반적으로 알려진 중앙 처리 장치에서 수행됩니다. CPU .
출력 기기들: 정보를 사람이 읽을 수있는 형식으로 변환하는 데 도움이되는 컴퓨터 하드웨어 장치입니다. 일부 출력 장치에는 모니터, 프린터, 그래픽 출력 장치, 플로터, 스피커 등과 같은 VDU (Visual Display Unit)가 포함됩니다.
개발자는 문제를 분석하고 프로그래밍 알고리즘을 사용하여이 문제에 대한 해결책을 얻기위한 간단한 단계를 제시 할 수 있습니다. 이것은 재료가 입력이고 완성 된 섬세함이 클라이언트가 요구하는 출력 인 식품 항목의 레시피와 비교할 수 있습니다.

(영상 출처 )
개발 환경에서 제품, 소프트웨어 및 솔루션은 시나리오, 사용 사례 및 데이터 흐름 다이어그램으로 설계 될 수 있습니다.

(영상 출처 )
클라이언트의 요구 사항에 따라 필요한 솔루션은 데스크톱, 웹 또는 모바일 기반 일 수 있습니다.
기본 프로그래밍 개념
개발자는 컴퓨터 프로그래밍에 능숙 해지려면 다음 개념에 대한 필수 지식이 있어야합니다.
# 1) 알고리즘 : 특정 작업을 수행하기 위해 따라야 할 일련의 단계 또는 지시문입니다. 개발자는 원하는 결과를 얻기 위해 알고리즘을 설계 할 수 있습니다. 예를 들어 디저트 요리법. 알고리즘은 특정 작업을 완료하기 위해 따라야 할 단계를 설명하지만 단계를 수행하는 방법은 설명하지 않습니다.
# 2) 소스 코드 : 소스 코드는 선택한 언어를 사용하여 프로그램을 구성하는 데 사용되는 실제 텍스트입니다.
예를 들어 Java에서 main 메소드를 가져야하며 사용되는 텍스트는 다음과 같습니다.
public static void main(String arg()) { //Steps to be performed }
# 3) 컴파일러 : 컴파일러는 소스 코드를 이진 코드 또는 바이트 코드 (기계 언어라고도 함)로 변환하는 데 도움이되는 소프트웨어 프로그램으로, 컴퓨터가 이해하기 쉽고 인터프리터를 사용하여 프로그램을 실행할 수 있습니다.
# 4) 데이터 유형 : 응용 프로그램에서 사용되는 데이터는 다른 유형일 수 있으며 정수 (정수), 부동 소수점 (소수점 숫자), 문자 또는 객체 일 수 있습니다. 예를 들어 double currency = 45.86, 여기서 double은 소수점이있는 숫자를 저장하는 데 사용되는 데이터 유형입니다.
# 5) 가변 : 변수는 메모리에 저장된 값의 공간 홀더이며이 값은 응용 프로그램에서 사용할 수 있습니다. 예를 들어 int age = 25, 여기서 age는 변수입니다.
# 6) 조건문 : 특정 조건이 참인 경우에만 코드 집합이 실행되도록 특정 조건을 사용하는 방법에 대한 지식. 잘못된 조건의 경우 프로그램이 종료되어야하며 코드를 더 이상 계속하지 않아야합니다.
# 7) 어레이 : Array는 유사한 데이터 유형의 요소를 저장하는 변수입니다. 코딩 / 프로그래밍에서 어레이 사용에 대한 지식은 큰 이점이 될 것입니다.
# 8) 루프 : 루프는 조건이 참이 될 때까지 일련의 코드를 실행하는 데 사용됩니다. 예를 들어 Java에서 루프는 for 루프, do-while, while 루프 또는 향상된 for 루프로 사용할 수 있습니다.
루프에 대한 코드는 다음과 같습니다.
for (int I =0; i<10; i++) {System.out.println(i); }
# 9) 기능 : 함수 또는 메서드는 프로그래밍에서 작업을 수행하는 데 사용되며 함수는 매개 변수를 가져 와서 원하는 출력을 얻기 위해 처리 할 수 있습니다. 언제 어디서나 반복적으로 재사용 할 수있는 기능을 사용합니다.
# 10) 클래스 : 클래스는 상태와 동작을 포함하는 템플릿과 같으며 프로그래밍에 해당하는 필드와 메서드가 있습니다. Java와 같은 객체 지향 언어에서는 모든 것이 클래스와 객체를 중심으로 이루어집니다.
프로그래밍 언어의 핵심
다른 사람과 의사 소통하는 데 사용하는 다른 언어와 마찬가지로 프로그래밍 언어는 컴퓨터와 통신하기위한 특수 언어 또는 일련의 지침입니다. 각 프로그래밍 언어에는 따라야 할 규칙 (예 : 영어에 문법이 있음)이 있으며 원하는 출력을 생성하는 알고리즘을 구현하는 데 사용됩니다.
시스템 테스트 중에 테스트되는 항목 유형 중 하나가 아닌 것은 무엇입니까?
최고의 컴퓨터 프로그래밍 언어
아래 표는 실제 생활에서 최고의 컴퓨터 프로그래밍 언어와 그 응용 프로그램을 나열합니다.
프로그래밍 언어 | 인기 | 언어의 실용적 응용 |
---|---|---|
자바 스크립트 | 7 | 클라이언트 측 및 서버 측 유효성 검사, DOM 처리, jQuery (JS 라이브러리)를 사용하여 웹 요소 개발. |
자바 | 1 | 데스크탑 GUI 애플리케이션 (AWT 또는 Swing api), 애플릿, 온라인 쇼핑 사이트, 인터넷 뱅킹, 보안 파일 처리를위한 jar 파일, 엔터프라이즈 애플리케이션, 모바일 애플리케이션, 게임 소프트웨어. |
씨 | 두 | 운영 체제, 임베디드 시스템, 데이터베이스 관리 시스템, 컴파일러, 게임 및 애니메이션. |
파이썬 | 삼 | 기계 학습, 인공 지능, 데이터 분석, 얼굴 감지 및 이미지 인식 소프트웨어. |
C ++ | 4 | 은행 및 거래 엔터프라이즈 소프트웨어, 가상 머신 및 컴파일러. |
Visual Basic .NET | 5 | Windows 서비스, 제어, 제어 라이브러리, 웹 애플리케이션, 웹 서비스. |
씨 # | 6 | 파일 탐색기와 같은 데스크톱 애플리케이션, Word, Excel, 웹 브라우저, Adobe Photoshop과 같은 Microsoft Office 애플리케이션. |
PHP | 8 | 정적 및 동적 웹 사이트 및 애플리케이션, 서버 측 스크립팅. |
SQL | 9 | 데이터베이스 쿼리, 데이터베이스 프로그래밍의 CRUD 작업, 저장 프로 시저 생성, 트리거, 데이터베이스 관리. |
목표 – C | 10 | Apple의 OS X, iOS 운영 체제 및 API, Cocoa 및 Cocoa Touch. |

프로그래밍 언어를 선택하는 방법을 살펴 보겠습니다.
특정 프로그래밍 언어의 선택은 다음과 같은 여러 요인에 따라 달라집니다.
- 대상 플랫폼 및 프로젝트 / 솔루션 요구 사항 : 소프트웨어 솔루션 공급자가 요구 사항을 충족 할 때마다 적절한 프로그래밍 언어를 선택할 수있는 많은 옵션이 있습니다. 예를 들어 사용자가 솔루션이 모바일에 있기를 원한다면 Java가 Android에서 선호되는 프로그래밍 언어 여야합니다.
- 기술 파트너가 조직에 미치는 영향 : Oracle이 회사의 기술 파트너 인 경우 개발 된 모든 프로젝트 및 제품에 대한 솔루션에서 Oracle이 판매하는 소프트웨어를 구현하는 데 동의합니다. Microsoft가 회사의 기술 파트너라면 ASP를 웹 페이지 구축을위한 개발 프레임 워크로 사용할 수 있습니다.
- 사용 가능한 리소스 및 학습 곡선의 역량 : 개발자 (리소스)는 프로젝트에서 생산성을 발휘할 수 있도록 선택한 프로그래밍 언어를 빠르게 학습 할 수 있어야합니다.
- 공연: 선택한 언어는 확장 가능하고 견고하며 플랫폼에 독립적이며 안전해야하며 허용되는 시간 제한 내에 결과를 표시하는 데 효율적이어야합니다.
- 커뮤니티의 지원 : 오픈 소스 프로그래밍 언어의 경우 해당 언어에 대한 수용 및 인기는 물론 성장하는 지원 그룹의 온라인 지원을받을 수 있어야합니다.
컴퓨터 프로그래밍 언어의 유형
컴퓨터 프로그래밍 언어는 저수준 언어와 고급 언어의 두 가지 유형으로 나눌 수 있습니다.
# 1) 저수준 언어
- 하드웨어에 따라 다름
- 이해하기 어렵다
저수준 언어는 두 가지 범주로 더 나눌 수 있습니다.
- 기계 언어 : 기계에 따라 다르며 수정 또는 프로그래밍이 어렵습니다. 예를 들어 모든 CPU에는 기계어가 있습니다. 기계어로 작성된 코드는 프로세서가 사용하는 명령어입니다.
- 어셈블리어: 산술, 논리 및 제어 활동을 담당하는 각 컴퓨터의 마이크로 프로세서에는 이러한 작업을 수행하기위한 지침이 필요하며 이러한 지침은 어셈블리 언어로되어 있습니다. 어셈블리 언어는 장치 드라이버, 저수준 임베디드 시스템 및 실시간 시스템에서 사용됩니다.
# 2) 고급 언어
- 하드웨어와 무관
- 그들의 코드는 매우 간단하며 개발자는 영어와 유사한 문장과 유사하기 때문에 읽고, 쓰고, 디버그 할 수 있습니다.
고급 언어는 세 가지 범주로 더 나눌 수 있습니다.
- 절차 적 언어 : 절차 적 언어의 코드는 수행 할 작업 및 수행 방법과 같은 정보를 제공하는 순차적 인 단계별 절차입니다. Fortran, Cobol, Basic, C 및 Pascal과 같은 언어는 절차 적 언어의 몇 가지 예입니다.
- 비절 차적 언어 : 비절 차적 언어의 코드는 수행 할 작업을 지정하지만 수행 방법은 지정하지 않습니다. SQL, Prolog, LISP는 비절 차적 언어의 몇 가지 예입니다.
- 객체 지향 언어 : 데이터를 조작하는 데 코드가 사용되는 프로그래밍 언어의 개체 사용. C ++, Java, Ruby 및 Python은 객체 지향 언어의 몇 가지 예입니다.
프로그래밍 환경의 기본 작동
프로그래밍의 다섯 가지 기본 요소 또는 작업은 다음과 같습니다.
- 입력: 키보드, 터치 스크린, 텍스트 편집기 등을 사용하여 데이터를 입력 할 수 있습니다. 예를 들어 항공편을 예약하기 위해 사용자는 로그인 자격 증명을 입력 한 다음 데스크톱, 노트북 또는 모바일 장치에서 출발 날짜와 귀국 날짜, 좌석 수, 출발지 및 목적지, 항공사 이름 등을 선택할 수 있습니다.
- 산출: 인증이 완료되고 필수 입력으로 티켓 예약 요청을 받으면 선택한 날짜 및 목적지에 대한 예약 확인이 화면에 표시되고 티켓 및 송장 정보 사본이 사용자의 등록 된 이메일로 전송됩니다. 아이디와 휴대폰 번호.
- 산수: 항공편 예약의 경우 예약 된 좌석 수와 해당 좌석을 업데이트하려면 몇 가지 수학적 계산이 필요하며 승객의 추가 이름이 필요합니다. 예약 된 좌석 수, 여정 날짜, 여정 시작 날짜, 출발지, 목적지 등을 항공사 서버 데이터베이스 시스템에 입력해야합니다.
- 가정 어구: 조건이 충족되는지 여부를 테스트해야합니다. 조건에 따라 프로그램은 매개 변수를 사용하여 함수를 실행할 수 있습니다. 그렇지 않으면 실행되지 않습니다.
- 루핑 : 조건이 유지 될 때까지 작업을 반복 / 수행해야합니다. 루프 유형은 While 루프, Do-while 루프, For 루프 일 수 있습니다.
예를 들어
for (int i = 0; i <10; i++) { System.out.println(i); }
프로그래밍에 필요한 필수 전제 조건 / 기술
# 1) 자립 : 코딩에 성공하려면 자신에 대한 자신감을 키우고, 조바심과 좌절감을 조절하고, 기술 문제를 해결하는 데 도움을 줄 다른 사람에게 의존하지 않아야합니다. 오히려 자립하고 자신의 능력에 대한 믿음을 유지해야합니다. 귀하의 노력을 모니터링하고 학습에있어 낙관적이고 끈기있게 유지하십시오.
# 2) 언어 : 배워야 할 프로그래밍 언어를 결정하는 것은 개인의 선택입니다. 프로그래밍 언어는 소프트웨어 산업의 다양한 영역에서 수용되는 정도에 따라 선택되어야합니다. 무료 및 오픈 소스 인 Python 및 Java와 같은 객체 지향 언어는 Google, Yahoo 및 NASA에서 널리 수용되고 사용됩니다.
자바 스크립트는 또 다른 스크립팅 언어 인 클라이언트 측 스크립팅 언어이지만 자바 스크립트를 아는 것은 웹 기반 애플리케이션 개발자에게 큰 도움이됩니다. SQL과 같은 비절 차적 언어는 모든 백엔드 데이터베이스에서 허용되므로 필수입니다. 클릭하세요 링크 SQL에 대한 온라인 연습을 배우기 위해.
# 3) 논리 : 개발자 또는 테스터로서 프로그래밍 언어에서 탁월하려면 항상 조건부 논리적 사고가 있어야합니다. 우리가 근육을 향상시키면서 개선 될 수 있습니다. 논리적 사고를 준비하고 향상시키고 프로그래밍 언어를 준비 할 수있는 몇 가지 사이트가 있습니다.
# 4) 세부 사항에 대한주의 : 세부 사항에 대해 눈을 가진 양심적이고 경고하는 사람은 세부 사항에 대해 작업을 확인하고 구문 오류를 방지하고 단위 테스트와 같은 단계 또는 API / 클래스 포함, 관련 jar 또는 클래스 파일 누락 여부를 확인합니다. 어떤 사람들에게는 명상이 집중력과 집중력을 높이는 데 도움이 될 수 있고 다른 사람들은 산책을하거나 정신 게임을하는 것이 도움이 될 수 있습니다. 자신에게 적합한 것이 무엇인지 찾아야합니다.
# 5) 추상적 사고 : 민첩한 환경에서 스프린트 회의를 진행하는 동안 상자 밖에서 생각하거나 다른 각도 / 관점에서 사물을 볼 수있는 능력은 요구 사항 및 설계 고려 사항에 대한 시나리오를 발견하는 데 도움이됩니다. 이것은 다른 사람들과의 토론을 통해 개선 될 수 있습니다.
# 6) 인내 : 때로는 코드를 작성하면서 자신이 확신하고 몇 가지 유형을 확인하면 컴퓨터에서 작동하지만 통합 후 코드 조각이 작동하지 않고 오류를 식별하기위한 모든 노력이 들어갑니다. 헛된 것, 당신은 스트레스를 받고, 좌절감을 느끼고, 아무것도 아닌 것 같아서 기분이 좋습니다.
이러한 시간 동안 상황을 극복하고 처음부터 다시 시도하고 인내심을 키울 수있는 능력은 개발자가 더 성숙 해졌음을 증명할 것이며 릴리스 및 승인 테스트와 같은 압력 환경에서 또는 클라이언트 데모 중에 작업 할 수있는 능력에 대해 높이 평가받을 것입니다.
# 7) 강력한 메모리 : 높은 수준의 설계, 데이터 흐름, 알고리즘, 데이터 구조를 이해하고 시각화 할 수 있고 서로 상호 작용하는 방식을 이해하면 일반 코더에서 분리됩니다. 명상 기술과 기억력 운동도 이것에 도움이 될 수 있습니다.
컴퓨터 프로그래밍 학습을 시작하는 방법?
인간으로서 당신은 매일 성찰하고 오늘 한 일, 자신을 어떻게 개선 할 수 있는지, 어려운 상황을 피하기 위해 취할 조치 또는 예방 조치를 식별하는 습관을 가져야합니다.
마찬가지로 컴퓨터 프로그래밍을 배우기 전에 아래 사항을 고려하십시오.
- 정직하고 왜 컴퓨터 프로그래밍을 배우고 싶은지 생각해보십시오.
- 당신의 목표는 무엇이며, 프로그래밍을 배우는 꿈에서 무엇을 성취 할 것입니까?
- 올바른 프로그래밍 언어를 선택하십시오. 예 : JavaScript, PHP와 같은 프런트 엔드 프로그래밍, 웹 기반 개발을위한 SQL, Java, Python과 같은 백 엔드 프로그래밍.
- 프로그래밍 언어에 익숙해 지려면 대화 형 자습서를 확인하십시오. w3schools 많은 프로그래밍 언어를 이해하기 시작하면 좋습니다. w3resource SQL 쿼리를 대화식으로 배우는 것이 좋습니다.
- 선택한 프로그래밍 언어에 대한 책 (예 : SQL for Dummies, JavaScript for Dummies)을 가져옵니다.
- 온라인 과정을 시도해보십시오. Udemy
- 데이터 구조 및 알고리즘을 배우십시오.
- 선택한 프로그래밍 언어를 사용하여 프로젝트를 만듭니다.
- 일부 인증을 시도하면 더 자신감 있고 지식이 풍부하며 유능 해집니다.
프로그래밍 기술을 어디에 적용 할 수 있습니까?
- 의사 소통 능력 : 의사 소통은 계획을 설명하고, 의심을 논의하고, 생각을 개선하고, 상사와 팀원으로부터 정보를 교환 할 수있는 매우 필수적인 특성입니다. 좋은 커뮤니케이터는 일일보고에서 수행되는 작업을 이해하고 설명 할 수 있으며 어떻게 생각을 개선하고 의심을 없앨 수 있는지 알아낼 수 있습니다. 애자일 스탠드 업 회의 및 스프린트 회의 중에 행동 계획을 전달하고 팀을 이끌 수 있습니다.
- 문제 해결: 도전을 받아들이고 어려운 작업을 완수하면 문제 해결 능력을 키울 수 있으며 이는 좋은 개발자의 전제 조건입니다. 개발 중에 비즈니스 로직을 이해하고이를 코드에 구현하는 다양한 문제, 애플리케이션과 코드 통합, 호환성 문제 및 더 많은 문제가 발생할 수 있습니다. 문제 해결 능력은 가장 중요한 상황을 헤쳐나가는 데 도움이 될 것입니다.
- 협업 / 팀워크 : 공동 작업 기술을 사용하면 팀 구성원과 협력하여 일부 작업을 효과적으로 수행하여 생산성을 높일 수 있습니다.
때때로 팀에서 일하면 태도 문제로 인해 갈등이 발생할 수 있습니다. 따라서 더 나은 제품을 얻거나 생산성을 향상시키려는 목표를 이해함으로써 누구나 훌륭한 팀 플레이어 역할을 수행 할 수 있습니다.
프로그래머를위한 직업 옵션
프로그래머 또는 소프트웨어 개발자로서의 직업 옵션은 많습니다.
컴퓨터 프로그래머의 영역 또는 직위는 다음과 같습니다.
- 웹 개발자
- UI Developer
- 사용자 경험 디자이너
- SQL 개발자
- 품질 보증
- 자동화 테스트 엔지니어
- 테스트의 소프트웨어 엔지니어
소프트웨어 개발 부서에서 그의 책임은 다음과 같습니다.
이진 검색 트리 C ++ 코드
- 다양한 프로그래밍 언어를 사용하여 유능한 사용자 정의 및 복잡한 솔루션 설계 및 개발, 예를 들어 Java, Python, Javascript, SQL, oracle.
- 회사의 계획된 제공 프레임 워크 내에서 계획, 설계, 구축, 테스트 및 배포를 포함하는 프로젝트 소프트웨어 제공 수명주기를 관리합니다.
- 네트워킹에 대한 기본 지식, Eclipse, NetBeans, Atom 등과 같은 통합 개발자 도구에 대한 작업 능력
- Jenkins, Gitlab, Bamboo 등과 같은 CI 도구 중 하나 이상에 대한 실무 경험이 있어야합니다.
- Linux / Unix 스크립트 및 쉘 스크립팅을 사용할 수 있어야합니다.
- 뛰어난 의사 소통 및 사람 기술.
- 훌륭한 팀 플레이어이자 독립적 인 기여자가되어야합니다.
- 애자일 개발 환경에 대한 이해.
결론
이 기사를 통해 컴퓨터 내부, 컴퓨터 작동 방식, 프로그래밍 개념, 프로그래밍 언어의 필수 사항 및 프로그래밍 환경의 기본 작업에 대해 배웠습니다.
또한 프로그래밍을위한 전제 조건, 프로그래머가되기 위해 필요한 기술, 학습을 시작하는 방법, 컴퓨터 프로그래밍 분야에서 사용할 수있는 전망 및 직업 옵션에 대해서도 논의했습니다.
컴퓨터 프로그래밍 전문가가 될 준비가 되셨습니까?
추천 도서
- 초보자를위한 JAVA 튜토리얼 : 100 개 이상의 실습 Java 비디오 튜토리얼
- 초보자를위한 Python 자습서 (무료 Python 교육 실습)
- 최고의 무료 C # 튜토리얼 시리즈 : 초보자를위한 최고의 C # 가이드
- 무료로 C ++ 프로그래밍을 배우기위한 70 개 이상의 최고의 C ++ 자습서
- 상위 40 개 C 프로그래밍 인터뷰 질문 및 답변
- 가장 인기있는 프로그래밍 언어 상위 7 개 (가장 많이 사용되는 상위 수준 목록)
- Unix Pipes 튜토리얼 : Unix 프로그래밍의 파이프
- 초보자를위한 20 개 이상의 MongoDB 튜토리얼 : 무료 MongoDB 과정