Nomad Jay
디지털노마드 Jay
Nomad Jay
전체 방문자
오늘
어제
반응형
  • 어서오세용✋ (21)
    • 삽질후기👨‍🔧(Ko) (0)
    • 온라인수업후기💻(ko) (0)
    • Programming(ko,en) (15)
      • Python (0)
      • Django (0)
      • Flask (0)
      • Javascript (12)
      • Node.js (1)
      • Nest.js🐱 (1)
      • Typescript (0)
      • DataBase🛢 (0)
      • MySQL (0)
      • MongoDB (0)
      • 리눅스 (0)
      • Basic (0)
      • Computer Science💻 (0)
      • NetWork (0)
      • SelfCodeReview (0)
      • 스티브잡생각스⚙ (0)
      • Book Review📙 (1)
      • iOS (0)
      • Andoroid (0)
    • 잡다한인생이야기🕺 (2)
    • 우당탕탕 유럽 살이 (4)
      • 여행기 (4)
      • 일기 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • timecomplexity
  • 스위스
  • 유럽에서기차
  • 프론트엔드
  • 개발기본기
  • 밀라노
  • 유럽여행
  • 백엔드
  • 모던자바스크립트딥다이브
  • 당첨수령
  • 유럽여행후기
  • 자바스크립트
  • JavaScript
  • 개발자
  • 꿀팁
  • 기본기
  • 이탈리아
  • 기차유럽
  • 실제유럽후기
  • 아랍항공
  • 비전공자
  • 타입스크립트
  • 리셀후기
  • 모던딥다이브
  • 유럽렌트카
  • 개발
  • 꼬모레이크
  • 노드
  • 개발개념
  • 인터라켄

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Nomad Jay

디지털노마드 Jay

Programming(ko,en)/Javascript

Java Script Basic concepts (기본개념)

2022. 10. 7. 07:22
반응형

1. 프로그래밍이란?

1. What is Programming

 

프로그래밍은 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다, 컴퓨터와 커뮤니케이션하기앞서 내가 무엇을 원하는지알아야한다
Programming is kind of communication requires computer to execute
but before communicating with computer, need to know what i want
문제를 명확하게 이해하고 적절한 문제 해결 방안이 필요

need clearly understanding this problem and appropriate solution

 

이때 요구되는것이 문제해결능력이다

required at this time is problem-solving skills
문제해결능력에 있어서 알고리즘 학습은 큰도움이 되지만 , 문제해결능력은 개발자의 숙명과도 같은것

 Algorithmic learning is helpful for problem-solving skills , but problem-solving skill are the same as deverloper s fate

 

프로그래밍이란 0,1 만 아는 기계에게 우리가 정확히 원하는것을 실행할수있게 정확하고 상세하게 설명하는 작업이고

programming is the task of  explaining exactly what we want to in detailt to machine only knew 1 or 0 
그결과물이 바로 코드다

that result is the code

 

문제 해결 방안을 생각할때 컴퓨터의 입장에서 생각해야한다, 이때 필요한것이 컴퓨터적 사고방식이다

when we thinkg of a solution to a problem, we had to think from the computers point of view
at this time , required Computational thinking

사람의 일반적인 사고방식은 매우 포괄적이며, 실생활에서 경험하고 있는 사항에대해 당연하게 생각하는 경우가있다

humans general way of thinking is so comprehensive, There are times when we take things for granted that we are 
experiencing in real life

 

문제해결능력은 직감과 직관의 영역이라고 볼수있다고한다, 문제를 바라보는 우리의 사고와 경험에 영향을 많이 받는다

Problem-solving skill can be seen as an area of intuition ,it is influenced by out thinking and experience of looking at the problem

 

예를들어 "듣다" 라는 행위를 사람은 하나의 간단하고 당연한 기능으로 생각한다

For example we are consider "listening"  is simple and natural function t

하지만 컴퓨터에게 이행위를 설명하는것은 굉장히 어렵다

but explain to computer for about "listening" is sooooo difiicult 

 

우리는 소리의 크기를 크다, 작다라고 표현하지만 상대적인 기준이기때문에 기준이 정확하지않다

we describe the magnitude of the sound as large or small, but this is not accurate coz it is a relative criterion

컴퓨터에게는 숫자를 사용해서 설명해야한다 (현재 소리보다 1단계 크게 조정해라), (볼륨을 60으로 맞춰라)

we need to use numbers to explain to the computer (1level louder than now) (set the volume on 60) 

 

좋다, 붉다, 사랑같은건 컴퓨터에게 너무 어렵지만 복잡한 수학계산은 컴퓨터에게 너무 쉬운일

"Like", "burning","Love" is too hard to computer , but complicated calculate is easy work to computer

(여담 사랑모르는 바보...컴퓨터...)

ps. stupid computer ,coz...he never know about love...

 

 

2.프로그래밍 언어

2.programming language

 

문제 해결능력을 바탕으로 결정된 문제 해결방안은 컴퓨터에게 전달되어야 한다. 해결방안을 실행하는것은 컴퓨터

problem solutions determined based on problem-solving skills should be deliver to computer

인간이 사용하는 이해하는 언어가 아닌 컴퓨터가 이해할수있는 언어 , 기계어로 해결방안을 전달해야한다

language that computer can understand, not a language that humans can understand

 

인간이 기계어를 이해하여 직접 기계어로 명령을 전달하는것은 매우 어렵다

very difficult for human to understand computer language and deliver directly to computer

 

기계어는 우리가 사용하는 언어와는 너무나도 다른 체계를 가지고 있다 (비트 단위)

computer language is sooo diffrent with human languade (have some bit)

직접 기계어로 명령을 전달하는것을 대신할 가장 좋은방법은 인간이 이해할수있는 약속된 Syntax(구문,문법)으로 구성된

best solution is to delivering instruction in direct computer language is try writing programs using

 

프로그래밍 언어를 사용해서 프로그램을 작성하고,

programming language consist of promised syntax that human can understand

컴퓨터가 이해할수있는 기계어로 바꿔주는 일종의 번역기를 이용하는것

like a using translator for computer 

이 일종의 번역기를 compiler(컴파일러),  interpreter(인터프리터) 라고 한다

we called this translator a compiler , and  interpreter

 

언어에는 자연어와 인공어 가 있다 
programming language has natural language and artificial language

 

프로그래밍언어란 컴퓨터와 대화에 사용되는 일종의 표현수단이고 인간과 컴퓨터 모두가 이해할 수 있는 약속된 형태의 인공어

programming language is kind of used in computer and conversation , and it s a promised form artificial language that
both humans and computer can understand too

 

프로그래밍은 프로그래밍 언어를 사용하여 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다

programming is kind a communication that using programming language to require a computer to execute

 

프로그래밍 언어는 Syntax(구문) 과 Semantics(의미)의 조합으로 표현된다

 programming language is expressed as a combination of Syntax and Semantics

 

 

3. 구문과 의미

3. Syntax & Semantics

 

프로그래밍 학습 시작은 프로그래밍 언어의 문법을 배우는것부터 시작한다, 외국어를 배우는것과 비슷하다

programming learning begins , learning grammer of programming language, simillar to learing foreign language

하지만 문법을 잘안다고해서 외국어를 잘하지는않음 (팩트폭격)

but we are not good foreign language just know grammer well

외국어를 잘하려면 말하는 사람의 말이나 문장을 정확하게 이해하고, 문맥에 맞는 적적한 단어선택과 문장을 끝맺을수있는 문장구성이 필요하다

be good at foregin language , we need to understand the speakers words or sentences accurately, and need to select
appropriate words for the context , and organize sentences that can end of the sentence

 

문법에 맞는 문장을 구성하는것은 당연하고 , 문장 속에 의미를 가지고있어야 언어의 역할을 충실히 수행할수있다

It is natural to construct a sentence that is grammatically correct, and it is necessary to have meaning in the sentence to faithfully fulfill the role of language

Colorless green ideas sleep furiously.
– 노엄 촘스키(Noam Chomsky)

MIT 에 유명한 언어학자인 노엄 촘스키는 언어의 의미는 문맥에 있는것이지, 문법에 있는것이 아니라고 말하고있다

Noam Chomsky wrote this sentence, want prove meaning of language is in context ,not in grammer

 

위 문장은 문법적으로 전혀 문제가 없지만 의미가 없는 문장이다, 프로그래밍도 똑같다!

this sentence don t have any grammer problem , but don t have any mean , programming is same

const number = 'string';

console.log(number * number); // NaN

자바스크립트 변수에는 어떠한 타입의 값을 할당할수있다, 위 예제는 문법적으로 전혀 전혀 문제가없다

any type of value can be assigned to JS variable, this example don t have any grammer problem

하지만 의미적으로 맞지않는다. number 라는 변수 이름에 string 할당되어있기 때문이다

but this example meaning is wrong, coz "string" is assigned to the variable name "Number"

number 라는 변수 이름에는 숫자를 할당하는것이 의미적으로 옳다 

"number" is assigned to the variable name "Number" is correct meaning

 

결국 문제해결 능력을 통해 만들어낸 해결방안은 프로그래밍언의 문법을 통해 표현한다

soulution created through problem-solving skills is expressed through the grammer of programming language

작성된 코드는 해결방안의 구체적인 결과물이다

code is concrete result of the solution

 

이것은 반드시 프로그래밍 언어의 문법에 맞아야하고 내가 실행하고자 하는 바를 정확하게 요구하는것

must be correct of programming language grammer and requires exactly what i want to do

요구사항이 실현되어야 한다

requirements must be realize

 

프로그래밍 언어들이 제공하는 문법을 적절하게 사용해서 변수를 통해 값을 저장하고 참조하며 연산자로 값을 연산하고, 평가하고

using the grammer provided by programming language appropriately, values are atored and refernced through
variables , values are calculted with operators and values are evaluated

조건문과 반복문에 의한 흐름제어로 코드의 실행순서를 컨트롤하고 함수로 재사용이 가능한 집합을 만들며

Flow control by conditional and repetitive statements controls the order of code execution and creates a reusable set as a function

 

객체, 배열 등으로 자료를 구조화한다

Organize data with objects, arrays

 

프로그래밍은 요구사항을 분석하여 적절한 자료구조와 함수의 집합으로 변환한후 , 그흐름을 제어하는것

programming is analyzed the requirements, converts them into appropriate data structures and sets of functions
and then control the flow

 

4.기본 개념과 동작 원리 이해의 중요성

4. The importance of understanding basic concepts and principles of action

 

프로그래머가 해야할일은 문제를 해결하기위한 방법을 고민하고 이것을 문법에 맞게 코드를 작성하는것

programmers need to do think about how to solve the problem and write code according to the grammer

작성된 코드는 의도한대로 정확하게 동작해서 문제를 해결해야한다

written code should work exactly as intended to solve the problem

 

작성된 코드가 컴퓨터 내부에서 어떻게 동작할것이고 그리고 결과가 어떨것인가에 대해 예측가능헤야하고 남들에게 설명해줄수도있어야한다

we had to can guess about how the written code ll work inside of computer and what is that result will be
and we had to be able to explain written code to others

프로그래밍 언어의 기본개념과 동작원리를 정확히 이해하는것이 굉장히 중요하다

It is very important to accurately understand the basic concepts and principles of programming language

 

성장을 위해서 기본기를 다져야한다

we need to learn basic skills for growth

기본개념은 문맥에 맞는 정확한 용어를 사용할수있게 도와준다, 명확한 의사소통은 협업의 기본이고 필수이다

basic concepts help us to use contextual correct terminology, clear communication is fundamental
and essential to collaboration

 

코드의 동작을 예측해야하만 자신이 작성한 코드의 문제점을 쉽게 알수있고,실행전에 문제를 발견할수도 있다

we had to predict the behavior of the code, but we can easily understand the problem of the code we wrote

and we can find the problem before execution

 

기본기는 엄청나게 중요하다

basic skill is super super super important 

 

 

Reference

  • Why Learning to Code is So Damn Hard
  • Web development roadmap 2019
반응형
저작자표시 (새창열림)

'Programming(ko,en) > Javascript' 카테고리의 다른 글

How does a browser works?  (0) 2022.10.12
What is the JavaScript?  (1) 2022.10.10
JS 실행컨텍스트?...그게 뭔데요?...  (0) 2022.02.05
JS 스코프에 대해서...알고싶지않지만 알아야겟지  (0) 2022.01.23
JS 제어문이란?  (0) 2022.01.23
    'Programming(ko,en)/Javascript' 카테고리의 다른 글
    • How does a browser works?
    • What is the JavaScript?
    • JS 실행컨텍스트?...그게 뭔데요?...
    • JS 스코프에 대해서...알고싶지않지만 알아야겟지
    Nomad Jay
    Nomad Jay
    유럽에 거주중

    티스토리툴바