언어 10

go 언어의 Web framework인 gin을 사용하여 초간단 웹서버 만들기

📜 gin 이란? go 언어로 작성된 Web Framework (go언어 web framework중 가장 유명하다.) ‘빠르고’ ‘경량화’ 된 것이 특징이다. 고성능 웹 어플리케이션을 개발할 수 있도록 지원한다. 더보기 Fast, 빠른 속도 Radix tree based routing, small memory foot print. No reflection. Predictable API performance. 기수 트리(Radix tree)를 기반으로 한 라우팅, 적은 메모리 사용량. 리플렉션 미사용. 예측 가능한 API 성능. Middleware support, 미들웨어 지원 An incoming HTTP request can be handled by a chain of middlewares and th..

언어/go 2023.03.26

python api 서버에서 파일 다운로드 구현하기 (flask / fastapi)

1. flask로 구현한 api 서버에서 파일 다운로드 send_file 로 구현 from flask import Flask, send_file from waitress import serve app = Flask(__name__) IMAGE_ROOT_DIR = './' @app.route('/images/', methods=['GET']) def getImage(filename): targetFile = IMAGE_ROOT_DIR + filename print(f"File Download : {targetFile}") return send_file(targetFile) if __name__ == '__main__': serve(app, host='0.0.0.0', port=9911) 2. fastapi..

언어/python 2022.04.17

python json 실습 - json.load(), json.loads(), json.dump(), json.dumps() 차이

python json를 사용할 일이 많아서 정리하고 넘어간다! 1. json.load() json 파일을 읽어서 json object를 python dictionary로 가져옵니다. 2. json.dump() python dictionary 타입의 객체를 json 파일로 씁니다. 3. json.dumps() python dictionary 타입의 객체를 string 타입으로 가져옵니다. dictionary와 string을 출력했을 때 값이 다른 것을 확인할 수 있습니다. 4. json.loads() string 타입의 객체를 dictionary 타입으로 가져옵니다. 아래에서는 dictionary로 가져온 후 name과 age라는 key 에 해당하는 value를 수정하여 저장하였습니다. 전체 코드 impo..

언어/python 2022.04.05

[go] 왕초보 go언어 스터디 - 산술연산자(Arithmetic Operators)와 수학 처리 패키지 Math

산술연산자(Arithmetic Operators) : +, -, *, /, % (더하기, 빼기, 곱하기, 나누기, 나머지) 산술대입연산자 (assignment operators) : +=, -=, *=, /=, %= (더한뒤 대입, 뺀뒤 대입, 곱한뒤 대입, 나눈뒤 대입, 나머지 대입) 1. 산술 연산자의 사용 빼기. 8-4=4 나머지 구하기. 9%4=1 2. 자료형이 맞지 않으면 산술 연산자를 사용할 수 없다. float32와 int를 연산하려고 하면 invalid operation 에러가 발생한다. 아래와 같이 선언할 때의 자료형이 다르더라도 연산할 때에는 자료형을 맞춰줘야한다. int(num1) 같은 연산이라도 자료형이 다르면 결과가 다를 수 있다. int로 9 / 2 를 한 경우, 결과는 4.5가..

언어/go 2022.02.06

[go] 왕초보 go언어 스터디 - 반복문 for와 break, continue

이번 시간에는 반복문 for가 go언어에서 어떻게 쓰이는 지 보자. 1. 반복문 for의 사용 동일한 문구를 다섯번 출력하려고 할 때 아래처럼 쓸 수 있다. 복사+붙여넣기 하는 경우 사람의 실수가 발생할 수 있고, 이보다 많은 반복되는 형태를 수행하는 경우에는 언제까지 복사+붙여넣기를 할 수 없는 노릇... 그래서 키워드 for 를 사용하여 코드의 양을 확 줄이고, 효율적으로 사용할 수 있다. 첫 번째, 변수가 이미 선언된 경우 아래와 같이 쓸 수 있다. x가 1로 이전에 할당되었고, x가 5보다 작으면 for를 계속 반복하여 실행한다. for가 한 번 실행 될 때마다 내부 마지막 줄에 x++ 로 x의 값이 1씩 더해진다. 따라서 for 내부 코드는 총 5번 실행된다. 두 번째, 변수를 선언하면서 for..

언어/go 2022.02.06

[go] 왕초보 go언어 스터디 - 조건문 switch

이전 시간에 go 언어에서 조건문 if, else if, else을 사용하는 방법에 대하여 학습하였다. 이번 시간에는 좀 더 복잡한 조건이 있을 때 사용하기 좋은 switch문을 go 언어에서 어떻게 사용하는지 학습해보았다. 1. switch문 사용 case에 아무 것도 해당하지 않을 때 default를 사용한다. 2. switch 다중 조건 case 조건문에 콤마를 사용하여 여러개를 비교할 수도 있다. 두 조건 중 하나만 만족하더라도 해당 case 가 실행된다. 3. 비교하는 자료형이 안 맞을 때 -> 에러 발생 age라는 변수를 integer로 생성하고, case 문에서 string type과 비교하면 에러가 발생한다. 4. String형으로 비교 비교하는 변수가 String일 때에는 case문에 모..

언어/go 2022.02.02

[go] 왕초보 go언어 스터디 - 조건문 if, else if, else

오늘은 go의 조건문 첫번째 시간 if, else if, else 에 대하여 스터디를 하였다. 너무나 간단한 내용이지만 기본중에 기본이니 지루함을 견디고 듣고 실습해보았다. 역시나 go가 익숙하지 않아 아직도 print 문에서 에러가 난다. ㅋ if, else를 익히기 보다는 go에 익숙해지는 것을 의의로 하자..ㅎ 1. if의 기본 사용 간단한 if의 사용 hello 라는 String 변수를 할당하고 출력해본다. if 조건문 이전, 안, 밖이 모두 출력되었다. 조건문을 통과하지 못 하도록 설정하여 프로그램을 실행해본다. name != "hello" if 안쪽의 Print문은 출력되지 않았다. 논리연산자 || (or)을 사용하여 조건문을 만들었다. 둘 중에 하나라도 참이라면 조건문을 통과한다. 그 결과 ..

언어/go 2022.01.03

[go] 왕초보 go언어 스터디 - 변수와 데이터형, 명시적 선언과 묵시적 선언

왕초보 go언어 스터디. 오늘은 변수와 데이터형, 명시적 선언(explicit declaration)과 묵시적 선언(implicit declaration)에 대하여 스터디를 하였다. 변수와 데이터형 go에서는 아래와 같이 변수를 선언한다. var 변수명 자료형 변수명의 규칙 : 첫번째 문자로 숫자는 불가. 공백 불가. 특수문자 불가. 약속된 예약어 불가. (예를 들어 import) 자료형 저장범위 설명 uint8 0~255 부호 없는 8비트 정수형 uint16 0~65,535 부호 없는 16비트 정수형 uint32 0~4,294,967,295 부호 없는 32비트 정수형 uint64 0~18,446,744,073,709,551,615 부호 없는 64비트 정수형 uint 32비트 시스템..

언어/go 2021.10.29

[go] go언어 설치하여 VSCode로 hello world 출력하기

구글, 우버, 핀터레스트 등 많은 기업들에서 사용하고 있는 go언어 내가 재직하고 있는 회사의 신규 프로젝트가 go 언어로 작성된다고 하여 나도 go를 접해보기로 했다. go 언어는 python 보다 성능이 좋고 C보다 쉬운 장점이 있다고 한다. 한번 얼마나 쉬울지... 두고봐보자.ㅎㅎ 1. golang 컴파일러 다운로드 : https://golang.org/dl/ Downloads - The Go Programming Language Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, fol..

언어/go 2021.10.18

python3 rsa public key 사용하여 encrypt 하기

RSA 암호화란.. 더보기 RSA 암호화는 Public key(공개키)로 메시지를 암호화 하고, Private key(개인키)로 메시지를 복호화 하는 방법이다. public key는 누구에게나 공개된 '공개키' 이고, 암호화 된 텍스트를 만드는 것은 누구나 (마음만 먹으면) 가능하다. 그리고 private key로만 이 암호화 된 텍스트를 복호화 가능하다. - 아래는 위키백과 내용 메시지와 공개키 모두를 알 수 있다면 변조된 메시지를 보낼 수 있기 때문에, 실제로는 수신측의 공개키만을 사용하여 암호화하는 경우는 드물다. 송수신 양측의 키쌍을 사용하는 방법으로는 A의 개인키로 암호화 -> B의 공개키로 암호화 한 메시지를 전달하고 복호화 과정은 B의 개인키로 복호화 -> A의 공개키로 복호화로 구성된 방식..

언어/python 2021.07.18
반응형