분류 전체보기
Git/GitHub Commit 수정하기 :: Author / Contributor 수정하기
Git/GitHub Commit 수정하기 :: Author / Contributor 수정하기
2019.10.14잘못된 commit 메시지나 다른 사람 이름으로 올라간 commit 수정하기공용 컴퓨터에서 작업을 하면 다른 사람의 이름으로 commit 되는 경우가 자주 발생합니다.그럴 때는 git commit --amend라는 명령어를 사용하시면 쉽게 되돌릴 수 있습니다.위의 명령어를 어떻게 사용하는지 이번 포스트에서 설명하겠습니다.방금 한 commit의 메시지를 수정하고 싶은 경우git commit --amend아래의 상황에서 commit a786dd의 메시지를 한번 수정해 봅시다.1. git commit --amend 명령어를 칩니다. 그러면 수정할 텍스트가 열립니다. (저는 EDITOR 환경 변수가 vim이라서 vim으로 열립니다. - 참고)2. 원했던 commit 메시지로 메시지를 수정합니다. 가장 최근의 c..
Git CLI를 시작하기 위한 튜토리얼
Git CLI를 시작하기 위한 튜토리얼
2019.10.14앞으로 이 Git Tutorial 카테고리에서는 Git과 GitHub를 사용해서 파일의 버전을 관리하고 공유해서 협업하는 법에 대해서 설명해줄 예정입니다. Git, GitHub. 이 두 단어는 비슷해서 많이 혼동하지만 전혀 다른 것을 뜻합니다. 우리는 앞으로 Git으로 파일을 관리하고 GitHub에 그 관리되는 파일들을 올립니다. 이 차이에 대해서 정확하게 알아봅시다. Git이란 무엇일까요? Git은 분산형 버전 관리 시스템(Distributed Version Control System)입니다. 쉽게 말해서 파일들의 버전을 관리해주는 파일 관리자입니다. 어려워 보이는 이름과 달리 직접 사용하면서 익히면 쉽게 이해할 수 있습니다. 개인적으로 사용 설명서(man)도 너무 어려웠는데 제가 삽질하면서 익힌 내용..
[Julia] 줄리아 입문하기 4 :: 표준 모듈(Standard Module)에 대한 이해
[Julia] 줄리아 입문하기 4 :: 표준 모듈(Standard Module)에 대한 이해
2019.09.09Julia에게는 3개의 중요한 Standard Module이 있습니다. Standard Modules Main: Julia를 실행했을 때, 상위-계층(top-level)이 되는 모듈, 현재 작업 중이게 되는 모듈 Core: 언어에 내장된 모든 기능이 포함된 모듈 Base: 대부분의 상황에서 유용한 기능들이 포함된 모듈 이번 포스트에서는 위의 표준 모듈에 대해 설명하겠습니다. Main Module C언어의 main함수처럼 줄리아를 실행했을 때 가장 기본으로 사용하게 되는 작업 공간은 Main Module입니다. Core Module Core Module은 말 그대로 Core입니다. 이 언어에 내장된 모든 식별자들을 담고 있습니다. 이 모듈이 없으면 아무것도 못하기 때문에 모든 모듈은 암시적으로 using ..
[Julia] 줄리아 입문하기 3 :: 모듈(Module)에 대한 이해
[Julia] 줄리아 입문하기 3 :: 모듈(Module)에 대한 이해
2019.09.04Julia의 Module이란? 관련된 함수들과 (변수와 같은) 정의들의 그룹을 저장하는 곳 분리된 작업 공간 == 새로운 전역 변수의 공간 == 다른 사람들이랑 작업할 때, 이름 충돌을 걱정할 필요가 없다 다른 모듈의 특정 식별자(함수명 or 변수명)만 노출할지 정할 수 있다. (== Importing 하는 것) module ThisIsNewModule ...여기 안에 줄리아 코드를 작성... end Module을 사용하는 방법 앞의 포스트([Julia] 줄리아 입문하기 2)에서, 현재 세션에서 Module에 있는 함수를 사용하기 위해서는 Julia에게 해당 Module을 사용하겠다고 전달을 해야 한다고 했습니다. Module을 사용한다고 하는 것은 Module을 Load 한다고 합니다. Module을 ..
[Julia] 줄리아 입문하기 2 :: 줄리아 파일의 종류, 패키지 매니저, 모듈 사용하기
[Julia] 줄리아 입문하기 2 :: 줄리아 파일의 종류, 패키지 매니저, 모듈 사용하기
2019.09.03먼저, Julia에서 쓰는 파일들에 대해서 알아봅시다. Julia의 Code는 File, Module, Package로 관리됩니다. Julia File: 줄리아 소스코드가 저장되는 Julia File은 .jl 확장자를 씁니다. Module: 관련된 함수들과 변수들을 모아놓은 분리된 작업 공간입니다. Package Manager Package Manager는 무엇인가요? 먼저 줄리아에 공식적으로 등록된 Package들은 https://pkg.julialang.org에서 확인할 수 있습니다. 줄리아는 이러한 패키지들을 Package Manager를 통해서 아주 쉽게 가져오고 삭제할 수 있습니다! (물론 패키지 매니저 말고 수동으로 가져올 수도 있습니다) Julia Package Manager를 사용해보면 정..
[Julia] 줄리아 입문하기 1 :: 줄리아 설치 및 실행
[Julia] 줄리아 입문하기 1 :: 줄리아 설치 및 실행
2019.08.21Window에서 줄리아를 시작해봅시다! 먼저 줄리아를 어떤 환경에서 할지 선택해볼까요? 줄리아는 아래의 방법들 중 자기가 편한 방법을 선택해서 사용하면 됩니다. Julia Box Julia Pro Julia Shell or REPL(Read Evaluate Print Loop) Juno (Julia사용자에게 가장 인기가 많은 IDE) Vim, Visual Code, ... 그 외 방법 1. Julia Box Julia Box 링크: https://www.juliabox.com/ Julia Box를 사용하면 Cloud 환경에서 Julia를 사용할 수 있습니다. 주피터 노트북 인터페이스도 제공해주고 패키지들도 지원을 해줘서 여러 가지로 편할 것 같습니다. 하지만 역시 Cloud 환경에서 실행하는 것이라서 느..
[Julia] 줄리아 소개와 특징 :: 빠르고 배우기 쉬운 프로그래밍 언어
[Julia] 줄리아 소개와 특징 :: 빠르고 배우기 쉬운 프로그래밍 언어
2019.08.20Introduction to JuliaC / C++ / Fortran매우 빠르다(good performance), Compute-Intensive한 task에 좋은 언어이다, 오픈소스 컴파일러가 있다, 배우기 어렵다Python / R느리다(bad performance), 오픈소스, 배우기 쉽다Matlab상대적으로 빠르다, 비싸다, 배우기 쉽다Julia빠르다, 오픈소스, 배우기 쉽다줄리아는 파이썬처럼 문법이 간결해서 배우기 쉬우면서도 성능이 좋은 언어이다. 계산을 위한 여러 가지 배려도 볼 수 있었다. 고성능 컴퓨팅(High Performance Computing, HPC)에 포트란이 많이 쓰이는데 요즘 포트란을 배울 수 있는 곳이 별로 없기도 하고 문법도 쉽지 않다. 이러한 상황에서, 쉽게 배우고 사용할..
[Julia] 줄리아 교육 :: KISTI SuperComputing Education Center에서 배운 Julia
[Julia] 줄리아 교육 :: KISTI SuperComputing Education Center에서 배운 Julia
2019.08.17KISTI에서 줄리아 입문하기 대구에서 오전 5시에 일어나서 대전으로 달려가서 KISTI - SUPERCOMPUTING EDUCATION CENTER에서 하루 동안 줄리아를 배우고 왔습니다. 9:30 ~ 17:00 이 짧은 시간 동안 줄리아에 관해서 매우 많이 배웠습니다. 정말 알찬 강의여서 후회하지 않았습니다! 제가 들은 강의는 이 링크의 강의입니다. 강사님이 강의 커리큘럼을 앞으로 줄리아를 배우면서 어렵지 않도록 하는 목적으로 구성하셔서 그런지 크게 어려운 내용이 없이 수월하게 배웠습니다. 그래서 그런지 다양한 개념들과 기초적인 문법들 그리고 거기에 쓰이는 용어들을 꼼꼼하게 배워서 앞으로 줄리아를 공부할 때 훨씬 수월할 것 같습니다. 슈퍼 컴퓨터를 사용해서 줄리아를 실행해보는 신기한 경험도 해봤습니다..
[파이썬] 리스트 변형 :: 리스트를 원하는 형태로 바꾸기, 리스트 형변환
[파이썬] 리스트 변형 :: 리스트를 원하는 형태로 바꾸기, 리스트 형변환
2019.08.15어떤 리스트를 원하는 형태로 변형하기 파이썬은 list 안의 모든 원소를 내가 원하는 형태로 변형하기 쉽다. 나는 문자열 list를 int형 리스트로 변환할 때 많이 사용한다. 특히, 백준 문제를 풀 때 input함수나 readline함수를 사용하여 숫자를 입력 받았을 때 많이 사용한다. 그 외에도 기존 list의 원소들을 모두 제곱할 때나 원하는 형태로 바꾸고 싶을 때 유용하다!! 방법 1: map 함수 사용하기 첫 번째 방법은 map내장 함수를 사용하는 것이다. map함수는 저번에 작성한 글([파이썬] 리스트 필터링)에서 설명한 filter함수의 사용법과 비슷하다. map함수는 한 원소에 대해 원하는 대로 변형한 것을 반환하는 함수와 변형할 대상인 list가 필요하다. map함수는 다음과 같이 사용하..
[파이썬] 리스트 필터링 :: 리스트에서 원하는 요소만 추출하기
[파이썬] 리스트 필터링 :: 리스트에서 원하는 요소만 추출하기
2019.08.10어떤 리스트에서 원하는 요소만 추출하기(필터링하기) 파이썬은 list에서 아주 쉽게 원하는 요소만 추출해서 새로운 list를 만들 수 있다. 방법 1: filter 함수 사용하기 첫 번째 방법은 filter내장 함수를 사용하는 것이다. filter함수를 사용하기 위해서는 bool을 반환하는 함수와 추출할 대상인 list(또는 Iterable)가 필요하다. filter함수는 다음과 같이 사용하면 된다. 예를 들어서, 내가 originalList = [1, 2, 44, 52, 61, 7, 28, 92, 10] 위와 같은 list에서 5보다 큰 수만 뽑아내고 싶다고 해보자. 먼저, 5보다 크면 True를 반환하는 함수를 만든다. def isBiggerThanFive(x): return x>5 다음, isBig..
[Compiler] 1. Lexical Analyzer :: 소개와 용어 정리
[Compiler] 1. Lexical Analyzer :: 소개와 용어 정리
2019.07.30Compiler의 첫 번째 단계는 Lexical Analysis로 가장 먼저 Lexical Analyzer를 실행합니다. Lexical Analyzer는 어떤 일을 할까요? Lexical Analyzer는 Input 문자열들을 스캔하면서 의미가 있는 단위로 문자열을 묶습니다. (그래서 Scanner라고도 불립니다). 그리고 일련의 Token들을 생성해 내고 Syntax Analyzer에게 보냅니다. 이 과정을 진행하면서 Token들에 대한 정보들을 Symbol Table에 저장합니다. Lexical Analyzer의 동작 방식을 알아보기 전에 앞으로 쓸 용어들에 대해 알아봅시다. Lexical Analyzer에서 쓰는 용어들: Token, Lexeme, Pattern Token A token is a p..
제네릭 프로그래밍의 정의
제네릭 프로그래밍의 정의
2019.07.25제네릭 프로그래밍이란? 데이터 형식과 관련 없이, 알고리즘이나 자료구조를 효율적으로 설계하는 프로그래밍 방식을 뜻한다. 나중에 정의가 되는 데이터 형식 type(int, float, double, string, ... , 등 모두될 수 있다)을 매개변수로 하는 메서드나 클래스나 인터페이스를 만드는 것과 같다. 제네릭 프로그래밍은 코드의 효율을 넓히기 위해 쓰인다. 어떤 함수를 모든 자료형이 통하도록 설계하면 자료형이 바뀔 때마다 오버로딩해서 새로 만들 필요도 없고 재사용성도 높다! Generic C# Max Method using System; class Program { //IComparable인 자료형 모두에 대해 동작한다. private static type Max(type a, type b) wh..