Study146 Python을 통한 Simple HTTPS Server 구축 HTTPS Server를 구축하기 위해서는 인증서가 필요한데, 이 인증서는 openssl를 통하여 생성 가능합니다. $ openssl genrsa -out CA.key 2048 $ openssl req -x509 -new -nodes -key CA.key -days 3650 -out CA.pem $ openssl genrsa -out server.key 2048 $ openssl req -new -key server.key -out server.csr $ openssl x509 -req -in server.csr -CA CA.pem -CAkey CA.key -CAcreateserial -out server.crt -days 3650 Python Simple HTTPS Server Code import h.. 2022. 8. 22. URI, URL, URN의 차이점 URI, URL, URN은 비슷한 이름만큼 헷갈리는 개념입니다. 간단히 설명하자면 URI은 URL과 URN을 포함하는 상위 개념입니다. URI (Uniform Resource Identifier) URI는 "네트워크 상에서 리소스를 식별하기 위한 주소" 입니다. 네트워크 상에서 리소스를 식별할 수 있는 모든 주소가 URI이기 때문에 URL과 URN은 자동으로 URI에 포함됩니다. URL (Uniform Resource Locator) URL은 "네트워크 상에서 리소스의 위치를 나타내는 주소" 입니다. 과거에는 사용되는 주소가 리소스의 위치를 나타내는 URL을 주로 사용하였지만, 최근에는 Rewrite 또는 URI Pattern 매칭을 통해 실행되는 서비스(REST 서비스) 등이 새로 생겨나면서 URL 보.. 2022. 8. 17. [Kotlin] 딥링크 (DeepLink) 딥링크 (DeepLink) 딥링크란 단순하게 특정 페이지 또는 특정 콘텐츠에 직접적으로 도달할 수 모든 링크를 의미합니다. 그리고 Android에서 딥링크란 Custom Scheme와 같은 특정 주소를 통하여 앱을 실행하거나 앱의 특정 화면을 호출할 수 있는 기능을 의미합니다. Android에서 DeepLink를 구현하기 위해서는 먼저 Custom Scheme과 host를 설정해야 합니다. Scheme:host:port/path = https://hacksms.tistory.com:443/14 Manifest.xml activity_second.xml SecondActivity.kt class SecondActivity : AppCompatActivity() { override fun onCreate(s.. 2022. 8. 7. [Kotlin] WebView 사용 방법 WebView WebView란 프레임워크에 내장된 웹 브라우저 Component로써 View 형태로 App에 임베딩 하는 것이 가능합니다. 이러한 WebView는 App 안에서 HTML을 호출하여 App을 구현하는 Hybrid 형태의 App을 개발하는데 주로 사용됩니다. 다만, PC환경과 OS가 다르기 때문에 HTML5 호환성 등 일부 기능의 제약을 가지고 있습니다. WebView 사용 방법 먼저 WebView를 사용하기 위해서는 인터넷에 대한 권한을 부여해야 합니다. Manifest.xml 이후, WebView를 사용할 Activity와 해당 Activity의 Layout에 WebView 관련 코드를 추가합니다. activity_main.xml MainActivity.kt val webView = fi.. 2022. 8. 7. Docker 명령어 정리 Mac에서 도커 설치 $ brew install --cask docker Docker Hub에서 이미지 가져오기 docker pull [docker images] 이미지 목록 확인하기 # 일반 명령어 docker images docker image ls # 이미지 id만 보기 docker image ls -q # 전체 이미지 모두 보기 docker image ls -a 이미지 빌드하기 docker build [Options] [Docker File Path] 이미지 삭제하기 docker rmi [Image ID or Repository Name] docker image rm [Image ID or Repository Name] 이미지 세부 정보 확인하기 docker inspect [Image Name] .. 2022. 8. 6. 전자 서명 동작 과정 전자서명 전자서명이란 서명자를 확인하고 서명자가 해당 전자 문서에 서명했다는 사실을 나타내기 위하여 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 의미합니다. - 서명자의 신분 증명 - 서명자가 서명했다는 사실에 대한 부인 방지 - 서명한 데이터의 무결성 검증 전자서명 동작 과정 전자서명의 기본적인 동작 과정은 다음과 같습니다. 1. A의 개인키와 공개키를 생성하거나 기존의 키를 조회함 2. 전자문서(원문)의 데이터를 Hash 함수에 넣어서 Hash 값인 Digest를 획득함 3. Digest 값을 A의 개인키를 이용하여 암호화 4. Encrypt Data, 전자문서(원문), A의 공개키를 검증자에게 전송 5. 전달 받은 Encrypt Data를 A의 공개키를 이용하여 복호화 6. 전달받은 전자문서(.. 2022. 8. 6. [Android] 4대 Component Android에는 앱을 구성하는데 필요한 4개의 구성 요소(Component)가 존재하는데 이를 4대 Component라고 부릅니다. 4대 Component는 Activity(액티비티), Service(서비스), BroadCast Receiver(방송 수신자), Content Provider(콘텐츠 제공자)로 구성되며 각 Component는 독립적인 형태로 존재하고 고유한 기능을 수행하며 Intent(인텐트)를 통해 상호작용 합니다. Activity (액티비티) Activity는 사용자에게 보여주는 UI 화면을 구성하는 Component로써 앱의 화면을 나타낸다고 볼 수 있습니다. Application에서 Activity가 하나도 존재하지 않을 경우 사용자와 상호작용을 할 수 없기 때문에 적어도 하나 이.. 2022. 8. 5. Kotlin에 대하여 알아보자 Kotlin이란 간결한 문법과 높은 안전성을 보장하는 Java와 100% 호환이 가능한 오픈 소스 기반의 프로그래밍 언어 입니다. 2017년 Google에서 Android의 공식 언어로 Kotlin을 추가하였으며, 현재는 구글 내부의 안드로이드 프로젝트에서도 Java 대신 Kotlin을 사용하고 있을만큼 영향력이 커져가고 있습니다. Kotlin의 특징 정적 타입 언어 (Static Typed Language) Kotlin의 경우 컴파일 시점에 변수의 타입이 결정되는 정적 타입 언어입니다. 정적 타입 언어는 타입 에러로 인한 문제를 컴파일 시 해결할 수 있기 때문에 안정성이 높다는 장점과 컴파일 시 미리 타입을 결정하기 때문에 실행 속도가 빠르다는 장점을 가지고 있습니다. // Kotlin 코드(정적 타입.. 2022. 8. 1. Spring과 Spring Boot의 차이점에 대해 알아보기 Spring Spring Framework는 Java 생태계에서 가장 대중적인 응용 프로그램 개발 Framework 이며, IoC(Inversion of Control: 제어의 역전), DI(Dependency Injection: 의존성 주입), AOP(Aspect Oriented Programming: 관점 지향 프로그래밍)라는 특징을 가지고 있습니다. IoC(Inversion of Control: 제어의 역전) 메서드나 객체의 호출 작업을 개발자가 결정하는 것이 아닌 프레임워크 내부의 Container가 제어하기 때문에 이를 IoC(제어의 역전)라고 부릅니다. 보다 자세한 내용은 아래의 포스팅에서 확인해주세요. [Spring Boot] Bean 이해하기 (With Spring Container) Be.. 2022. 7. 26. 이전 1 2 3 4 5 6 7 ··· 17 다음