728x90
반응형

DevOps 52

[소켓]C / C ++의 소켓 프로그래밍

[소켓]C / C ++의 소켓 프로그래밍 시스템 프로그래밍을 배우면서 c/c++ 기초로 소켓 프로그램을 이용한 많이 이용했습니다. 네트웍 통신과 데이터를 입력하고 저장하는 가장 기본적인 포인트라든지 네트웍으로 주고 받는 변수에 대한 정의들을 하는 것을 볼수가 있습니다. 소켓이라는 개념으로 TCP/IP 네트웍의 가장 기본적인 기술 매커니즘은 시스템 개발에서 가장 기본적인 내용입니다. 소켓 프로그래밍이란 무엇입니까? Socket 이라는 의미에는 전원 소켓 처럼 쓰고 싶을때 연결해서 사용한다는 의미가 있습니다. 서버와 클라이언트간 필요할때 정의해서 TCP/IP로 통신하는 방식을 소켓프로그램 이라고 하며 소켓프로그램의 구성은 서버와 클라이언트로 나누어 집니다. 소켓프로그램의 작동방식 1) 소켓프로그램 서버 소켓..

DevOps 2020.12.08

■(꿀팁)-웹서비스 성능 최적화 - 브라우저 prefetch,preconnect

웹서비스 성능 최적화는 브라우저의 성능 개선과 관계가 있습니다. 이 방법은 성능을 최적화 한다기 보다 브라우저가 처리하는 일의 우선 순위를 분산하고 미리 실행하도록해서 응답속도를 높이는 방법입니다. 아래와 같이 브라우저에서 많은 웹 리소스 로딩을 위해서 우선 순위를 조정하도록 하는 방법을 정리하여 보았 습니다. 서버의 IP 주소에 대한 DNS 요청을 미리 작성하도록 브라우저에 지시합니다. 이것은 짧은 시간에 리소스 (CDN, Google Fonts 등)가 필요하다는 것을 알고 리소스가 호스팅되는 도메인을 알고 있지만 정확한 경로를 모르는 경우에 유용합니다. 이 경우 서버의 IP 주소를 미리 확인하면 50ms~ 300ms 시간을 줄일 수 있습니다. 브라우저에 미리 서버에 대한 연결을 수행하도록 지시합니다...

DevOps 2020.11.08

■(꿀팁)-웹서비스 성능 최적화 - dns-prefetch

웹서비스 성능 최적화 - dns-prefetch 웹서비스를 구성하는데 웹서비스를 제공하는데는 가장 기본적인 것인 웹페이지 입니다. 우리가 흔히 알고 있는 HTML과TEXT, 이미지, 화면의 구조를 다루는 CSS, 그리고 웹페이지 내의 데이터와 이벤트를 핸들링하는 자바스크립트 등입니다. 이들을 웹페이지의 리소스 또는 오브젝트 들이라고 말을 합니다. 이런 웹페이지의 리소스 들을 사용자의 브라우저로 전송하는 일을 여러대의 웹서버를 통해서 제공합니다 10~20년 전 보다 웹과 모바일을 이용하는 사용자도 많아 졌지만 하나의 페이지를 구성하는 리소스도 작게는 수10개에서 많게는 수백개의 이미지와 CSS 들로 구성되고 있습니다. 웹페이지의 내용이 많거나 여러 도메인의 컨텐츠를 리소스로 가져오려면 DNS호출도 많아 집..

DevOps 2020.11.08

■(꿀팁)-통신사별 DNS 서버 IP 목록

DNS ( Domain name server)의 역할과 필요성 DNS는 www.domain.com 과 같은 도메인 주소를 IP 주소로 변환하여 조회하고 응답하는 역할을 합니다. 일반 사용자가 웹브라우저에 입력한 URL을 해당 웹서버에 통신하기 위해서는 해당 도메인의 IP주소가 필요합니다. 웹브라우저는 주소창의 URL에서 도메인 이름을 각 DNS서버를 통해 IP를 조회하여 서버와 통신을합니다. 서버와 서버간의 통신도 마찬가지로 DNS를 통해서 서버의 우편 번호와 같은 IP를 찾아서 데이터를 원하는 목적지에 전송을 하도록 합니다. [가정용 PC의 경우 DNS 역할] PC의 환경은 주로 KT, SK등 통신사(ISP사업자)를 통해 가설된 네트웍 망을 이용하므로 해당 통신망을 관리하는 통신사의 DNS를 이용하여 ..

DevOps 2020.11.08

■(꿀팁)-OAuth는 무엇입니까?

(꿀팁) OAuth는 무엇입니까? OAuth가 실제로 무엇인지에 대해 많은 혼란 이 있습니다. 어떤 사람들은 OAuth가 로그인 흐름 (예 : Google 로그인으로 애플리케이션에 로그인할 때)이라고 생각하고 어떤 사람들은 OAuth를 "보안 문제" 라고 생각하며 그 이상을 잘 모릅니다. 저는 OAuth가 무엇인지 보여 드리고, 어떻게 작동하는지 설명하고, OAuth가 애플리케이션에 어떻게 그리고 어디에서 도움이 될 수 있는지에 대해 알려 드리겠습니다. OAuth 란? OAuth (Open Authorization)는 제3자 애플리케이션이나 서비스가 사용자의 인증을 위해 다른 서비스의 인증 정보를 안전하게 사용할 수 있게 해주는 개방형 표준 프로토콜입니다. 주요 목적은 사용자가 자신의 인증 정보(예: 비..

DevOps 2020.10.07

CentOS Docker 꿀팁 - Portainer 이미지 템플릿 사용하기

CentOS Docker 꿀팁 - Portainer 이미지 템플릿 사용하기 도커 관리를 쉽게하는 꿀팁앞서 "CentOS Docker 꿀팁 - Portainer 설치(Docker GUI)하기" 에서 도커를 관리하기 위한 Portainer를 설치하였습니다. couplewith.tistory.com/entry/CentOS-Docker-%EA%BF%80%ED%8C%81-Portainer-%EC%84%A4%EC%B9%98Docker-GUI%ED%95%98%EA%B8%B0 Portainer를 이용하여 도커 이미지를 생성하는 방법은 "Container" 메뉴에서 직접 생성하는 방법과 "App Template"를 이용한 방법이 있습니다. 두가지 방법중에서 "App Template"를 이용하는 방법이 조금 더 용이할 듯..

DevOps 2020.09.29

Open API platform Kong 소개

1. 소개Kong 은 오픈 소스 API 게이트웨이 및 마이크로 서비스 관리 레이어입니다.Nginx와 lua-nginx 모듈 (특히 OpenResty )을 기반으로하는 Kong의 플러그 형 아키텍처는 유연하고 강력합니다.2. 주요 개념코드 샘플을 살펴보기 전에 Kong의 주요 개념을 살펴 보겠습니다.API 객체 - 특정 작업을 수행하거나 일부 서비스를 제공하는 모든 HTTP 끝점의 속성을 래핑합니다. 구성에는 HTTP 메소드, 엔드 포인트 URI, API 서버를 가리키는 업스트림 URL 및 프록시 요청, 최대 회수, 속도 제한, 시간 초과 등을 위해 사용됩니다.Consumer Object - API 끝점을 사용하는 모든 사용자의 속성을 래핑합니다. 추적, 액세스 제어 등에 사용됩니다.상향 객체 (Upstr..

DevOps 2018.09.25

[CentOS&Linux] Daemon management with systemctl (systemd를 위한 nginx 데몬 관리 스크립트)

Linux7 daemon management with systemctl : systemd를 위한 nginx 데몬 스크립트 Systemd가 Linux7에서 데몬을 관리하는 도구로 채택 되면서 그 동안 해왔던 init 명령들이 이제 고물이 되었다. 당장 쓸만한 몇가지만 정리해서 만들어 보았다. (불편한건 둘째) 1. nginx.service 파일 만들기 2. systemctl enable nginx.service : 데몬 자동 구동 등록 3. systemctl status nginx.service : 데몬 상태 확인 4. systemctl stop nginx.service : 데몬 중지 5. systemctl start nginx.service : 데몬 시작 /usr/lib/systemd/system/nxi..

DevOps 2017.08.22

nginx install script ( nginx 자동 설치 스크립트)

nginx 자동 설치 스크립트 * http://www.nginx.org 에서 최신 소스의 버전을 확인하여 기입하고, 아래와 릴리즈 날짜를 같이 남겨 두면 설치 이력을 알기 용이하다.VER="1.13.4" # 2017.8* nginx 내부 Temp 영역을 확인하고 아래 와 같이 디렉토리를 정해 주면 된다.보통 /tmp/아래 만드는 것이 일반적이나 여기서는 /usr/local/nginx/temp로 사용했다. 환경에 맞게 수정해서 사용하면 됩니다. /usr/local/nginx/temp/client /usr/local/nginx/temp/proxy /usr/local/nginx/temp/fcgi 각 파일의 위치는 /usr/local/src/websrc 에서 만들고 실행 하였다. /usr/local/src/we..

DevOps 2017.08.22

php install script (PHP 자동 설치 스크립트)

PHP 자동 설치 스크립트 (php install script ) www.php.net에서 최신의 안정 버전의 버전 정보를 확인 합니다. 그리고 아래와 같이 버전 정보를 수정합니다. 간혹 수정된 내용의 히스토리를 기억 하기 위해서 아래와 같이 릴리즈된 날짜도 같이 기입해서 설치한 버전의 이력을 관리 할 수 있도록 합니다. VER="5.6.19" #20160325 아래 소스를 /usr/local/src/websrc 에 만들고 실행 하면 됩니다. /usr/local/src/websrc/install_php.sh mkdir php_src cd php_src # *************************************** echo " >> GET PHP-SRC " # ******************..

DevOps 2017.08.22

CheerpJ는 자바 응용 프로그램을 웹용 JavaScript로 변환?

CheerpJ는 자바 응용 프로그램을 웹용 JavaScript로 변환? CheerpJ converts Java apps into JavaScript for the webApplications and Java libraries are converted to web applications, so there is no need for plug-ins or Java installations응용 프로그램과 Java 라이브러리는 웹 응용 프로그램으로 변환되므로 플러그 인이나 Java 설치가 필요 없습니다"Java 바이트 코드를 사용하여 Java 소스 필요없이 JavaScript로 변환합니다"http://www.javaworld.com/article/3202399/java-language/cheerpj-convert..

DevOps 2017.06.25

Reactive Programming with JDK 9 Flow API

Reactive Programming with JDK 9 Flow API https://community.oracle.com/docs/DOC-1006738 반응성 프로그램은 무엇입니까? 반응성이 있음 프로그래밍이 발생할 때 어플리케이션의 데이터 아이템에 대응 데이터 항목의 비동기 스트림 처리에 관한 것이다. 데이터의 스트림은 본질적으로 시간이 지남에 따라 발생하는 데이터 아이템들의 시퀀스이다. 메모리 내 데이터의 반복 처리에 비해, 데이터가 스트림으로서 처리되기 때문에 이 모델은 메모리를 더 효율적이다. 반응성 프로그래밍 모델에서 게시자 및 구독자가있다. 게시자 가입자 비동기 등록되는 데이터의 스트림을 발행한다. 이 모델은 또한, 프로세서에 의해 상기 스트림에 작동 고차 함수를 도입하기위한 메커니즘을 제..

DevOps 2017.06.20

Java 101 : 자바 인터페이스 - 재사용 가능한 Java 인터페이스

JAVA 101: FOUNDATIONSJava 101: Interfaces in JavaExtract class interfaces into reusable Java interfaces http://www.javaworld.com/article/3171300/java-language/java-101-interfaces-in-java.html 인터페이스 란 무엇입니까?인터페이스는 두 개의 시스템이 만나 상호 작용하는 점이다. 예를 들어, 자동 판매기 인터페이스는 사용자가 항목을 선택하고, 지불하고, 원하는 음식이나 음료를받을 수있게하는 메커니즘입니다. 프로그래밍 관점에서 인터페이스는 소프트웨어 구성 요소 사이에 위치합니다. 메서드 헤더 (메서드 이름, 매개 변수 목록 등) 인터페이스는 메서드를 호출하는 외..

DevOps 2017.06.20

Android Studio for beginners, Part 4: Advanced tools and plugins (2)

ANDROID STUDIO FOR BEGINNERSAndroid Studio for beginners, Part 4: Advanced tools and plugins (2)A guide to profiling, debugging, and extending your Android Studio applications http://www.javaworld.com/article/3104595/android/android-studio-for-beginners-part-4-advanced-tools-and-plugins.html?page=2이 메뉴 항목을 처음 선택하면 Facebook이나 다른 방법을 통해 로그인해야하는 웹 페이지로 이동하게됩니다. 이렇게하면 그림 18의 대화 상자에 입력해야하는 인증 토큰을 받게됩..

DevOps 2017.06.17

Android Studio for beginners, Part 4: Advanced tools and plugins (1)

ANDROID STUDIO FOR BEGINNERSAndroid Studio for beginners, Part 4: Advanced tools and plugins (1)A guide to profiling, debugging, and extending your Android Studio applications http://www.javaworld.com/article/3104595/android/android-studio-for-beginners-part-4-advanced-tools-and-plugins.html Android Studio는 다양한 개발 도구 팔레트를 제공하며 많은 플러그인과 호환됩니다. 이 시리즈의 처음 3 개 기사는 간단한 모바일 앱 제작을위한 기본 도구에 중점을 둡니다. 이제 ..

DevOps 2017.06.17

Android Studio for beginners, Part 3: Build and run the app

ANDROID STUDIO FOR BEGINNERSAndroid Studio for beginners, Part 3: Build and run the appBuild your app with Gradle, then run it on an Android device emulator or Kindle Fire tablet http://www.javaworld.com/article/3104622/android/android-studio-for-beginners-part-3-build-and-run-the-app.html Part 2 에서는 Android Studio를 사용하여 첫 번째 애니메이션 모바일 앱을 만들었습니다. 이제 Part 3에서 Android Studio로 모바일 애플리케이션 개발에 대한 소개를..

DevOps 2017.06.17

Android Studio for beginners, Part 2: Explore and code the app (2)

ANDROID STUDIO FOR BEGINNERSAndroid Studio for beginners, Part 2: Explore and code the app (2)Use Android Studio's project editor to write your first animated Android app http://www.javaworld.com/article/3104621/mobile-java/android-studio-for-beginners-part-2-explore-and-code-the-app.html?page=2 strings.xml 탐색 및 코딩W2A는 strings.xml다른 위치에서 참조되는 문자열 데이터를 저장 하는 데 의존 합니다. Listing 2를 다시 보면 태그에 속성 이 있다..

DevOps 2017.06.17

Android Studio for beginners, Part 2: Explore and code the app (1)

ANDROID STUDIO FOR BEGINNERSAndroid Studio for beginners, Part 2: Explore and code the appUse Android Studio's project editor to write your first animated Android app http://www.javaworld.com/article/3104621/mobile-java/android-studio-for-beginners-part-2-explore-and-code-the-app.html 이 초보자 용 Android Studio 소개 1 부 에서는 개발 환경에서 Android Studio를 설정하고 프로젝트 작업 영역을 알게되었습니다. 이제 Part 2에서 첫 번째 애플리케이션을 코딩 ..

DevOps 2017.06.17

Android Studio for beginners, Part 1: Installation and setup

Android Studio for beginners, Part 1: Installation and setupInstall Android Studio and start your first Android project http://www.javaworld.com/article/3095406/android/android-studio-for-beginners-part-1-installation-and-setup.html 몇 년 동안 안드로이드 가 모바일 OS 환경을 지배하고 있음이 분명해졌습니다. 이 자바 기반 기술은 프로그래머가 모바일 앱에서 돈을 벌기 위해 경쟁하면서 새로운 금광 을 촉발 했습니다 . Indeed.com을 사용하여 빠르게 구직하는 것처럼 안드로이드 작업도 풍부 합니다.성공하려면 Android..

DevOps 2017.06.17

Java 101 : 필수 Java 언어 기능 둘러보기, 1 부-3장 assertions and generics

JAVA 101: THE NEXT GENERATIONJava 101: The essential Java language features tour, Part 1-3Java programming with assertions and generics http://www.javaworld.com/article/2071216/learn-java/article.html?page=3 'extends'다음에 유형 이름을 지정하여 와일드 카드의 상한을 제공 할 수 있습니다. 마찬가지로 super에 유형 이름을 지정하여 와일드 카드의 하한을 제공 할 수 있습니다. 이 경계는 실제 유형 인수로 전달 될 수있는 유형을 제한합니다.'extends'다음에 유형 이름을 지정하여 와일드 카드의 상한을 제공 할 수 있습니다. 마찬가지로..

DevOps 2017.06.14
728x90
반응형