Programming
33개의 글
이름 짓기의 중요성 코딩을 하다 보면 이름 짓기에 꽤나 많은 시간을 들이게 된다. 변수명, 함수명, 클래스 이름 등등...다양한 속성들이 존재하는데, 각각의 것들은 이름으로 그 기능을 알 수 있는 것이 좋다. 개발 작업은 특별한 경우를 제외하고는 1인이 아닌 다수의 개발자가 팀을 이뤄 프로젝트를 진행한다.자신이 만든 코드를 자신만 보는 경우는 드물고, 코드 리뷰를 통하여 함께 코드를 개선시키고 프로젝트를 진행시켜 간다. 따라서, 자신이 시간이 아주 많고, 할 일이 너무 없어서 자신이 짠 코드들을 일일이 다 설명해 주고 싶다면 코드를 자신만 이해할 수 있는 방법으로 프로그래밍 해도 좋다. 하지만, 그렇지 않기에 코드 그 자체를 보고 다른 사람이 이해할 수 있도록 짜주는 것이 바람직하다. 그럼 다양한 이름들..
자바스크립트의 특별한 성질인, 클로저(Closure)가 드디어 나왔습니다. 클로저는 자바스크립트에서 많은 역할을 수행하며, 함수가 객체라는 성질과 객체의 유효 범위(스코프) 성질 덕분에 사용 가능합니다. 그렇다면, 유효 범위(Scope)가 무엇인지부터 알아봅시다. 객체의 유효 범위(Scope) ?객체의 유효 범위란, 선언된 객체가 참조될 수 있는 범위를 의미합니다. 컴퓨터는 유한한 자원(저장 공간)을 지닌 물리적 매체이기 때문에, 모든 객체를 영원히 저장하는 것은 낭비입니다. 따라서 모든 프로그래밍 언어는 메모리를 효율적으로 사용하기 위하여 유효 범위를 가지고 있습니다. 일반적으로 C 프로그래밍으로부터 나온 언어들은 블록 스코프를 갖고 있습니다. 따라서, C의 경우에는 다음과 같은 상황이 있을 수 있습니..
자바스크립트 에서, 그리고 다른 프로그래밍 언어에서도 항상 중요한 함수에 관한 내용입니다. 자바스크립트 의 강점 중에 하나는, 함수가 객체로 활용된다는 것이고, 이 객체를 통하여 여러가지 속성들을 사용할 수 있다는 것입니다. 함수를 통하여 다양한 기능들을 모듈화 합니다. 함수란 무엇인가 ? 먼저, 함수란 특정한 기능을 수행하는 코드들의 집합이며, 자바스크립트에서는 객체로 취급됩니다. 따라서, 함수는 이전에 객체를 선언했던 모습과 유사하게 선언할 수 있습니다. 123456var adder = function(a, b){ var sum = a + b; return sum;} console.log(adder(3,5));cs 위의 코드에서 adder라는 객체는 함수 객체입니다. 위와 같은 방식으로 선언될 수 있..
자바스크립트 조건문 조건문이란 어떤 코드를 실행하기에 앞서, 조건에 부합하는지 확인하는 코드이다. if 조건문의 키워드는 2가지 종류로 나뉘는데, if 와 else 로 나뉜다. if 문이 성립한다면, else문은 무시하게 되고, if문이 성립하지 않은 경우에는 else문을 검사하게 된다. 사용하는 방식은 다음과 같다. 12345678910var a = 5;var b = 3; if(a > b){ console.log('a가 b보다 큽니다!');}else if(a b의 조건이 만약에 성립한다면(true)라면, 해당하는 중괄호의 코드를 실행하고, 나머지 else 문들은 그냥 넘어간다. 지금은 a가 5이고, b가 3이기 때문에 4번의 a > b 조건이 true 이다. 따라서 5번 코드를 실행하고, 6~10번 코..
자바스크립트는 이전 포스팅에서 다뤘듯이, 객체 지향 언어이다. 그렇다면 객체는 무엇인가 ? "자바스크립트에서 객체는, 변형 가능한 속성들의 집합이라고 할 수 있습니다."- 더글라스 크락포드의 자바스크립트 핵심 가이드 프로그래밍을 처음 하는 사람이라면, 이것이 무슨 말인지 잘 와닿지 않을 수도 있다. 작은 예시를 들어보자면, '양디' 사람(객체)가 있다고 하자. 이 객체는 여러 가지 속성들로 이루어져 있는 집합이다. 예를 들어, 나이라는 속성과, 취미라는 속성, 홈페이지라는 속성이 있다고 하자. 이 속성은 변형이 가능하다. 나이는 시간이 지나면 늘어나게 마련이고, 취미와 홈페이지 또한 얼마든지 바뀔 수 있는 것이다. 이것이 객체인 것이고, 속성들을 저장하고 그 속성들을 통하여 프로그램을 사용하는 것이다. ..
자바스크립트의 특징JavaScript란 어떤 특징과, 어떠한 장단점을 가지고 있는지 한번 생각해보자.이번 장에서는 JavaScript가 웹 상에서 어떻게 사용되고 있는지에 대한 Web 구성 요소일 때의 JavaScript와,하나의 프로그래밍 언어로써의 JavaScript에 대해 나눠서 알아보고자 한다. JavaScript 와 Java ? 프로그래밍에 관심이 있는 사람이라면, Java라는 언어에 대해서 들어봤을 것이다.대표적인 객체 지향 프로그래밍 언어로, 가장 많이 쓰이는 언어 중에 하나이다. 그럼 JavaScript에는 왜 Java가 들어갔을까? 혹시 Java로부터 나온 언어인 것일까 ? 하는 의문점이 든다. 결론부터 말하자면, '아니다'. 인도와 인도네시아가 다르듯이 , Java는 자바 가상 머신(J..
JavaScript 환경 구축 JavaScript 를 실행하기 위한 환경을 우선 구축해보자. 방법은 여러 가지 있지만, 여기서 소개할 방법은 3가지 방법이다. 첫번째, Web Browser를 사용한다. (Chrome) JavaScript 는 애초에 웹 페이지 개발을 위하여 만들어진 프로그래밍 언어이기 때문에, 대부분의 웹 브라우저는 JavaScript를 지원한다. 따라서, 웹 페이지를 제작하고 이를 웹 브라우저 상에서 여는 것으로 JavaScript를 코딩하고 실행해볼 수 있다. 다음과 같은 과정을 통하여 코딩을 하고, 실제로 확인을 해보자. 먼저 메모장, 워드 등의 TXT 편집이 가능한 에디터를 통하여 다음과 같은 소스를 입력한다.(마땅한 에디터가 없다면, 무료인 Atom 에디터를 추천한다. 다음 링크..
JavaScript 개요. 공부를 하거나, 프로젝트를 하기 전에 목표와 동기를 명확하게 설정하는 것은 좋은 습관이다. 자신의 공부에 자부심을 갖게 해주고, 강력한 원동력이 되어 주기 때문이다. 그렇다면 먼저 왜 Javascript를 공부해야 하는지 알아보자. 위의 표는 2016년 10월에 인기 있는 프로그래밍 언어에 대한 자료이다. JavaScript는 작년 8위에서, 올해 6위로 올라간 것을 볼 수 있다. 점점 많은 사람들이 사용하고 있다는 것이다. 왜 점점 많은 사람이 사용하게 되는 것일까 ? 첫째로, 웹 어플리케이션의 발전과 밀접한 관련이 있다. 과거에는 기존의 안드로이드, iOS의 다양한 Native Application (모바일 환경에 설치해서 사용하는 어플리케이션)에 비해 웹 어플리케이션의 기..
조건문 무슨 프로그래밍 언어든 항상 반복문과 조건문이 존재한다. 파이썬에서도 마찬가지이다. 파이썬 조건문, 반복문에 대해 주의해야할 점은 , 파이썬에는 반복문, 조건문의 탈출을 중괄호 {}로 표현하지 않고, 들여쓰기(Indentation)로 표현한다. 따라서 들여쓰기 의 차이로 반복문, 조건문이 완전히 달라질 수 있다는 것을 명심하자. if / elif / else 조건문을 위해 사용되는 문법은 3가지이다. 모두가 알만한 if, 다른 언어에서 else if를 합친 elif, 다른 언어와 마찬가지로 else가 있다. 12345a = Trueif a : print "a is True"else : print "a is False"cs 위와 같은 방식으로 사용한다. 파이썬에서 Boolean은 첫글자가 대문자로,..
raw_input 파이썬에는 사용자로부터 키보드로 입력받는 함수가 2개 있다. raw_input 과 input이 바로 그것이다. 먼저 raw_input은 사용자로부터 string 타입의 입력을 받는다. 즉, 숫자를 치든 단어를 치든 무조건 string으로 받는다. 12name = raw_input("What is your name?")age = raw_input("How old are you?")cs 이런 두개의 변수 name, age에 raw_input을 통해서 입력한다고 하자 What is your name? DalkomITHow old are you? 3 위와 같은식으로 넣었을 때 , name에는 "DalkomIT" 의 스트링이 들어가고, age에는 "3"의 스트링이 들어간다. 따라서 정수나 실수를..
파이썬 설치 https://www.python.org/ 위의 홈페이지에 가서 받을 수 있다. 아래 부분에서 3.5 버전 혹은 2.7버전을 받으면 된다. 두 버전의 차이점은 http://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html 여기를 참조하자. 오픈 소스 소프트웨어들 파이썬을 설치한 후에, 실제로 코딩하고 작업해보기 위해서는 따로 프로그램이 더 필요하다. 대표적인 오픈소스 프로그램으로는 Canopy, Anaconda , Django , Trac , Zope / Plone , PySol 등 등 매우 많이 있다. 여기서는 Canopy를 사용해보자. https://store.enthought.com/ 위 홈페이지에 가서 설치하자. 참고로 설치 경..
Scanf 공백 ? 왜 이런 포스팅을 올리냐면, 일반적인 scanf의 %s로는 공백을 입력받을 수 없습니다. 띄어쓰기를 입력하면, 거기에서 문자열을 그만 받게 됩니다. 12345678#include #include void main() { char str[20]; scanf("%s", str); printf("%s", str);}cs 간단하게 위와 같은 함수를 사용해봅시다. 아, %s는 문자열을 받는 것이고, 문자열이란 char의 배열입니다. 따라서 한 글자가 아닌 단어단위의 표현이 가능하게 되는거죠. 위 코드를 실행해봅시다. 위의 사진처럼 띄어쓰기 없는 글은 다 입력을 받지만, 띄어쓰기 즉 공백이 있으면 그자리에서 입력을 멈춥니다. 이를 해결하기 위해서 scanf의 %s를 조작할 필요가 있습니다. %[..