전체 글

코딩 블로그 입니다.
운영체제/Linux

라즈비안에 도커와 도커 컴포즈 설치하기

이 글에서는 라즈비안 운영체제에 도커와 도커 컴포즈를 설치해 본다. 도커 설치하기 도커는 일반적으로 레포지토리를 사용한 방식으로 설치된다. 하지만 라즈비안의 경우 아직 레포지토리를 사용한 방식이 지원되지 않아 편의 스크립트를 사용한 방식으로 설치해야된다. 또한 docker를 사용하기 위해선 root 또는 sudo권한이 필요하다. 전체 패키지를 업데이트한다. apt-get update curl을 통해 get.docker.com에서 스크립트를 다운로드한다. curl -fsSL https://get.docker.com -o get-docker.sh 다운받은 스크립트파일을 실행하여 Docker의 최신 릴리즈를 설치한다. sh get-docker.sh sudo 없이 docker 명령어를 사용하기위해 현재 사용자의..

프로그래밍/.NET

.net core 설치 in terminal

1. dotnet core runtime 설치 wget download.visualstudio.microsoft.com/download/pr/06a5020e-0419-44e4-a0f7-8626c3395745/6cfef3a75663a3c27ea57fe6db7386bb/dotnet-runtime-3.1.12-linux-arm.tar.gz 2. 닷넷코어를 저장할 폴더 생성 mkdir -p /usr/share/dotnet 3. 압축풀기 tar xvfz dotnet-runtime-3.1.12-linux-arm.tar.gz -C /usr/share/dotnet 4. 환경변수등록 sudo nano /etc/bash.bashrc 맨밑에 아래 구문추가 export DOTNET_ROOT=/usr/share/dotnet e..

ETC

SD 카드 용량 인식 오류 해결

라즈베리파이에 사용하던 SD카드에 새로운 운영체제를 다운로드하려고 포맷을 하였는데 32GB 용량이던 SD카드가 248MB로 나오고있다. 1. 윈도우의 검색창에 diskpart를 검색하거나 C:\Windows\System32\diskpart.exe를 실행한다. 2. list disk 명령어를 입력하면 목록이나오는데 32GB SD카드는 디스크2번인것을 알 수 있다. 3. sel disk 2 명령어를 입력해서 디스크 2번을 선택해준다. 4. clean 명령어를 사용하여 디스크를 정리한다. 5. 윈도우 검색창에서 컴퓨터 관리를 실행시키고 저장소-디스크 관리를 들어가서 디스크2에서 새 단순 볼륨을 선택한다. 6. 단순 볼륨 만들기 마법사에서 모두 다음을 눌러 마법사를 마치면 SD카드는 정상적인 용량을 표시하게된다.

프로그래밍/.NET

람다 (Lambda)

람다란? 람다는 익명 메서드를 만들기 위해 사용되는 형식이다. 델리게이트로도 익명 메서드를 만들 수 있지만 람다를 사용하면 코드가 훨씬 간결해진다. 람다에는 두가지 형태가있는데 람다식과 람다문이다. // 람다식 (파라미터) => 식; // 람다문 (파라미터) => { }; 람다는 => 연산자로만 이루어지며 형식 유추라는 기능을 제공하기때문에 데이터 타입을 입력하지않아도되고 파라미터의 개수가 한개일 경우 괄호( ) 를 생략해도 된다. delegate int Calc(int x, int y); /* 실행 : Clac Plus = (int x, int y) => x + y; Console.WriteLine(Plus(10, 20)); Clac Minus = (x, y) => { return x - y; } Co..

프로그래밍/.NET

델리게이트 (Delegate)

델리게이트란? 델리게이트는 메서드를 참조하는 형식(Type)이기때문에 객체를 만들어 사용한다. 델리게이트를 호출하면 델리게이트가 참조하고있는 메서드를 호출하게된다. 한정자 delegate 반환형식 델리게이트명(파라미터); 델리게이트에 메서드를 참조시키기위해선 참조시키려는 메서드와 델리게이트의 형식이 같아야한다. private delegate bool judgement(int x); public bool Two(int value) { return value % 2 == 0; } /* 실행 : judgement judge = Two; if(judge(2)) Console.WriteLine("짝수입니다."); */ 델리게이트는 메서드에서 값이 아닌 코드 즉, 메서드를 넘기고 싶을때 사용한다. 아래의 예제처럼 ..

프로그래밍/.NET

메서드 (Method)

메서드란? 메서드는 객체 지향 언어에서 사용하는 용어로, C/C++에서는 함수라고 불린다. (Method는 영어 발음이기 때문에 메서드, 메소드 등 비슷한 이름으로 불린다.) 메서드는 여러 코드 들을 하나의 이름 아래에 묶어놓는 역할을 하는데 이렇게 묶인 코드들은 메서드의 이름을 호출하여 실행할 수 있다. class 클래스명 { 한정자 반환형식 메서드명(파라미터) { /* 여러 코드들.. */ return 반환값; } } 위의 소스코드는 메서드에 대한 선언형식이며, 메서드는 클래스 안에 선언되어야 한다. 왜 메서드가 클래스 안에 선언되어야 하는지와 같은 내용은 객체지향에 대해 알아보면 된다. 한정자 : 메서드의 범위, 정적, 동적 등을 결정하는 것으로 클래스에 대해 배우면 알 수 있다. 반환 형식 : 메..

프로그래밍/.NET

Startup Class

Startup 클래스는 앱의 서비스와 요청 파이프라인을 구성한다. Startup Class ASP.NET Core 앱은 관례상 Startup 이라고 불리는 Startup 클래스를 사용하며 이 이름은 Program.cs 에서 WebHostBuilderExtensions.UseStartup 메서드를 호출할 때 이름을 다르게 지정할 수 있다. Startup 클래스는 기본적으로 아래의 두 메서드를 가진다. Startup Constructor : 생성자로 선택적으로 사용된다. ConfigureServices Method : 앱에서 사용할 services를 등록하는 메서드로 선택적으로 사용한다. Configure Method : 앱의 요청을 처리하는 파이프라인을 생성하는 메서드로 필수적이다. ConfigureSer..

프로그래밍/JavaScript

[ES6] JavaScript 문자열 ( string )

startsWith const str = "Hello, What is your name?"; console.log(str.startsWith("Hello")); // return => true console.log(str.startsWith("Helloo")); // return => false startsWith 는 문자열이 인자로 준 값으로 시작되는지 확인할 수 있는 함수이다. endsWith const str = "Hello, What is your name?"; console.log(str.endsWith("?")); // return => true console.log(str.endsWith("!")); // return => false endsWith 는 문자열이 인자로 준 값으로 끝나는지 확..

프로그래밍/JavaScript

[ES6] JavaScript 스코프 ( scope )

let function FuncA() { for(var i = 0; i < 5; i++) { console.log(i); } console.log(i); } 위의 코드를 실행했을 때 C#이나 C++과 같은 다른 프로그래밍 언어에서는 7번 줄에서 소멸된 변수인 i 를 사용하기 때문에 오류가 난다. 하지만 JavaScript 에서는 변수의 범위를 함수의 블록 범위로 보기때문에 오류가 나지 않고 5라는 값이 출력이 된다. 이와 같은 문제를 해결하기 위해서 도입된 변수 선언 방법이 let이다. let 은 C# 또는 C++ 같은 언어에 와 같은 범위의 변수를 선언하게 된다. 그래서 아래의 소스코드에서는 오류가 출력된다. function FuncA() { for(let i = 0; i < 5; i++) { cons..

프로그래밍/JavaScript

JavaScript 클로저 ( Closer )

function funcA() { var text = "Hello"; return function () { console.log(text); } } var funcB = funcA(); funcB(); 위의 예제에서처럼 자바스크립트에서는 함수를 객체로 표현하기 떄문에 함수를 값으로 사용할 수 있고 내부함수에서는 외부함수의 필드에 접근할 수 있다. funcA 함수를 실행하면 text 변수를 출력하는 익명함수가 반환되고 이값을 funcB 에 넣은뒤 실행하면 Hello 라는 값이 console 에 출력된다. 클로저란 내부함수가 외부함수의 필드에 접근할 수 있고, 외부함수는 외부함수의 필드에 접근하는 내부함수가 소멸될 때까지 소멸되지않는 특성을 의미한다.

MAJG
MAJG's Blog