본문 바로가기

전체 글465

[Python/파이썬] 파이썬에 대해서 - 파이썬이란? 파이썬Python은 1990년에 개발된 인터프리터 언어로 객체지향적이며 동적 타이핑 시스템을 가지고 있는 대화형 언어입니다(Perl, Ruby와 유사). 또한, 플랫폼에 독립적입니다. 파이썬은 컴퓨터 프로그래밍 교육에서도 많이 사용되지만, 실무에서도 많이 사용되는 언어입니다. 다양한 플랫폼에서 사용할 수 있고, 라이브러리(파이썬에서는 모듈이라고 부름)가 풍부합니다. 파이썬은 '가장 아름다운 하나의 답이 존재한다'를 기본으로 하고 있습니다(Perl의 '하나 이상의 해결법이 존재한다'와 대비). 이 내용은 https://www.python.org/dev/peps/pep-0020/ 에 잘 정리되어 있습니다. - 파이썬의 특징 나는 언어 자체의 특성으로는 파이썬이 아래 두 가지 특징으로 설명된다.. 2020. 7. 30.
[Ruby] 루비의 함수 / 배열 / 해시 - 함수 정의하기 루비는 자바나 C#과 달리, 함수를 정의하기 위해서 클래스를 따로 정의할 필요가 없습니다. 그냥 콘솔 위에서 함수를 정의할 수도 있습니다. 모든 함수는 어떤 값을 리턴합니다. 명시적인 리턴 값을 설정하지 않으면, 함수 안에 존재하는 마지막 표현이 나타내는 값이 자동적으로 리턴됩니다. 다른 것과 마찬가지로 함수 역시 루비에서는 하나의 객체입니다. 추후에 더 자세히 알아보도록 하겠습니다. - 배열 배열은 루비에서 많은 역할을 담당합니다. 루비의 배열은 상당히 자유롭습니다. 정의되지 않은 배열 요소에 접근하면, 루비는 에러를 발생하는 것이 아니라 단순히 nil을 리턴합니다. C나 C++과는 다르게 인덱스로 음수를 사용할 수 있습니다. animals[-1]은 뒤에서 첫 번째 요소를 리턴하고, .. 2020. 7. 30.
[Ruby] 루비의 프로그래밍 모델 / 결정(Decision) / 타이핑 모델 - 프로그래밍 모델 루비는 순수한 객체지향 언어입니다. 아래는 숫자에 대한 간단한 객체를 보여주고 있습니다. 이것은 루비가 이 개념을 얼마나 철저하게 구현했는지 확인할 수 있습니다. 루비에서는 개별적인 숫자를 포함한 거의 모든 것이 객체입니다. 숫자는 Interger라는 클래스를 사용하는 객체인 것이죠. 그리고 methods라는 이름의 메서드를 호출하면 그 객체가 가지고 있는 메서드의 배열이 리턴됩니다(루비는 대괄호를 이용하여 배열을 표시함). 점만 찍으면 객체의 어떤 메서드라도 마음껏 호출할 수 있습니다. 아래는 문자열에 대한 객체 정보입니다. - 결정(Decision) / boolean expression 프로그램은 어떤 결정을 내리기 위해 존재하며, 결정을 내리는 과정은 우리가 코딩하고 생각하는 방.. 2020. 7. 29.
[Ruby] 루비 설치하기(Windows 10/윈도우 10) / 예제 맛보기 - Windows/윈도우에서 루비 설치하기 루비 설치는 아래 홈페이지에서 RubyInstaller를 다운받으면 설치가 가능합니다. https://www.ruby-lang.org/en/downloads/ 오른쪽에 보면 Ruby+Devkit 2.6.x 버전을 추천한다고 하며, Devkit은 수 많은 Gem을 제공하며 C 확장 모듈이 있는 Gem을 즉시 컴파일 할 수 있다고 합니다. 당장 필요한 내용은 아닌 것 같고, 웹 프레임워크인 루비 온 레일즈까지 사용하게 되면 알아봐야겠습니다. (개발을 위해서 여러 환경을 구성하려면 with devkit버전으로 받아서 설치하면 될 것 같습니다.) 그래서 저는 Ruby+Devkit 2.6.6-1(x64)을 다운받아서 설치했습니다. 라이센스 동의를 하고 Next 클릭. -.. 2020. 7. 28.
[Ruby] 루비란 ? - 루비는 어떤 언어인가 루비는 1993년 마츠모토 유키히로에 의해서 만들어졌습니다. 루비는 인터프리트되고, 객체지향적(OOP)이며, 동적 타이핑 시스템을 사용하는 언어입니다. 인터프리트가 된다는 말은 컴파일러에 의해서 코드가 기계어로 번역되는 것이 아닌, 원시코드가 인터프리터에 의해서 한 줄씩 읽어서 실행할 수 있다는 것입니다. (참조 : 인터프리터 - 위키백과) 동적 타이핑을 사용한다는 것은 자료형(type)이 컴파일 시간이 아닌 실행 시간에 결정된다는 의미입니다. 위 두 가지 방식은 유연성을 위해 안전성을 포기한 트레이드오프라고 할 수 있습니다. - 객체지향프로그래밍(Object-Oriented Programming)이란? 나무위키에는 아래와 같이 설명하고 있습니다. 프로그램 설계방법론이자 개념의 .. 2020. 7. 28.