React로 Hello World 출력2020. 01. 05.2분Hello, React React로 Hello World를 출력해보자. 기본적인 설치 방법과 사용 방법을 기록하기 위해서 작성한다. How to install npm install -g create-react-app How to make application create-react-app hello-world 위 명령어를 이용하여 애플리케이션을 생성할 수 있다. 생성된 디렉터리 아래 src 내부의 모든 파일을 지운 뒤 index.js와 index.css를 생성하고 index.js에 아래와 같은 내용을 …
Docker 명령어 정리2020. 01. 03.7분Docker 아직 도커를 잘 모르는 상태로 작성하였음을 감안해주시길 바라며 내용은 주기적으로 바뀌거나 추가됩니다. 또한 Ubuntu 20.04 LTS 기준으로 작성되었음을 안내드립니다. *설치를 제외한 모든 명령어를 동일하게 사용할 수 있습니다. 설치 sudo apt-get install docker docker-compose Docker 설치 후 아무런 작업이 안해줬다면 권한의 문제로 sudo를 지속적으로 붙여 사용해야 하는데 이 경우 아래 …
Pythonic이란 무엇인가?2019. 12. 10.4분Pythonic은 파이썬스러운 코드를 의미하며, 가독성을 높이기 위한 가이드라인인 PEP 8을 따르는 것이 중요하다. 코드 구문을 한 줄에 하나씩 작성하고, private 속성은 _(언더스코어)를 사용하여 표현하며, early return 방식을 사용하는 등의 규칙이 있다. 또한 lambda와 filter, map 활용, with open을 사용하는 등의 방식도 추천된다. PEP 8을 준수하는지 확인하기 위해 pep8을 사용할 수 있다.
Rust-Lang의 특징 Hello, Rust!2019. 12. 10.7분Rust가 추구하는 것은 C, C++보다 빠르거나 동등한 속도를 내면서도 Python 혹은 JavaScript 처럼 안정적인 것이었고 현재 러스트는 빠르고 안정적인 언어로 높이 평가 받고있다. 러스트는 어떻게 이러한 목표를 달성할 수 있었을까? 메모리 관리언매니지드 언어컴파일 언어에 속하는 C 혹은 C++는 프로그래머가 메모리를 제어한다. 프로그래머의 역량에 따라 속도 및 안정성에 많은 영향을 받는다. …
프로그래밍 언어란?2019. 10. 23.8분각 프로그래밍 언어의 특징 및 패러다임에 대해서 분석하고 컴파일러와 인터프리터의 작동 원리 및 차이점을 아직 제대로 모르는 것 같아서 다시 복습하고자 한다. 내용들은 대부분 프로그래밍 언어 개념(원유헌), 클린 아키텍처(로버트 C. 마틴)에서 참고하였다. 프로그래밍 언어먼저 프로그래밍이란 무엇이고 프로그래밍 언어란 무엇일까? 필자가 생각하기에 프로그래밍이란 특수한 목적을 달성하기 위한 동작이 모여진 프로그램을 만드는 …
C++ 튜토리얼 3. 전처리기, Define과 Const의 차이2019. 10. 03.6분C++의 전처리기(preprocessor)에 대한 설명과 #include, #define, #if, #ifdef, #ifndef, #else, #elif, #endif 등 다양한 전처리기의 사용 방법에 대해 다루고 있습니다. 또한 #define과 const의 차이점에 대해서도 설명하고 있습니다.
C++ 튜토리얼 2. 함수와 배열 그리고 네임스페이스2019. 10. 03.8분지난번에 C++의 기초적인 문법이나 조건문 반복문에 다해서 다뤘습니다. 이번에는 해당 문법을 좀 더 활용할 수 있는 주제들을 다룹니다. 배열 #include <iostream> using namespace std; int main(void) { int Array1[3] = {0,1,2}; int Array2[3]; Array2[0] = 0; Array2[1] = 1; Array2[2] = 2; cout << "Array1 : " << Array1[0] << …
C++ 튜토리얼 1. 기초 :: 프로그래밍 언어 어떤거부터 배우지?2019. 10. 03.18분프로그래밍은 목적을 달성하기 위한 프로그램을 만드는 것으로, 컴퓨터에서 프로그래밍을 하기 위해 프로그래밍 언어를 학습하여 일련의 동작을 수행하도록 합니다. 이번 튜토리얼에서는 리눅스Debian을 이용하여 소스코드를 작성하고 컴파일 및 구동하는 방법을 알아보았습니다. 이를 통해 Hello, World! 문구를 출력하고, 사용자로부터 입력을 받아 출력하는 예제도 작성해 보았습니다. 프로그래밍을 시작하는데 있어서 쉬운 언어부터 시작하는 것도 좋지만, 어려운 것을 재미있게 시작하면 쉬운 것도 더욱 쉽게 익힐 수 있다는 점을 기억해두세요.
파이썬으로 구현한 자료구조 - 트리2019. 09. 03.30분트리는 계층형 구조를 가진 문제를 해결하기 위한 자료구조로, 리스트나 스택, 큐와는 달리 연결 자료구조로 구성된다. 이진트리, 스레드 이진트리, 이진 탐색 트리, AVL 트리, 히프 등 다양한 종류가 있으며, 각각의 순회 방법인 전위, 중위, 후위 순회를 구현할 수 있다. 스레드 이진트리에서는 후행자를 프로그램이 스스로 알 수 있도록 구현하는 것이 가능하다.
파이썬으로 구현한 자료구조 - 큐2019. 09. 03.17분큐(Queue) 은행에서는 먼저 기다린 손님을 우선으로 일을 처리해 줍니다. 이처럼 삽입 순서와 삭제 순서가 일치하도록 하는 자료구조를 큐라고 합니다. 앞서 익혔던 스택의 경우에는 늦게 들어온게 가장 먼저 나가는 방식인 LIFO 였으나 큐의 경우에는 스택과 다르게 선입선출, FIFO(First In First Out) 방식을 사용한다. 우리의 법치국가 사회에서 가장 많이 볼 수 있는 …
파이썬으로 구현한 자료구조 - 스택2019. 09. 02.8분스택은 후입선출 방식으로 데이터를 처리하는 자료 구조로, 삽입과 삭제를 push와 pop으로 표현한다. 이를 파이썬에서 구현할 때는 단순 연결 리스트를 활용할 수 있다. 스택은 괄호 검사 등 다양한 문제를 해결하는 데 유용하게 활용될 수 있다. 리스트를 스택처럼 활용할 수도 있다.
파이썬으로 구현한 자료구조 - 연결 리스트2019. 09. 02.26분파이썬으로 구현한 단순 연결 리스트입니다. 헤더 노드를 포함하여 노드 삽입, 삭제, 탐색 등의 기본적인 기능을 구현하였습니다. 연결 리스트를 구현하며 파이썬의 장점인 간단한 구문과 메모리 관리의 편의성을 느꼈습니다.
파이썬(Python) - 유전 알고리즘 기본2019. 03. 10.19분유전 알고리즘에 대한 이론적인 내용과 간단한 코드 구현 방법을 소개하며, 0에서 9까지의 유전자를 가진 염색체를 생성하고 1을 우성 유전자로 평가하여 진화하는 과정을 다룬다. 적합도 평가, 세대 교차 및 돌연변이, 다음 세대 적합도 평가 등의 알고리즘 흐름을 설명하며, 코드 작성 시 파이썬의 얇은 복사와 깊은 복사의 차이점에 대한 이슈도 다룬다.