puzzle-puzzle의 등록된 링크

키자드에 등록된 총 162개의 포스트를 확인하실 수 있습니다.

Tistory

[구글 클라우드 플랫폼] GCP : Load Balancing and Autoscailing

Load Balancing and Autoscailing 목차: 0. Load Balancer 1. Managed Instance groups 2. HTTP(s) Load Balancing 3. SSL Proxy/TCP Proxy Load Balancing 4. Network Load Balancing 5. Internal Load Balancing 6. Choosing a Load Balancer 0. Load Balancer - GCP는 Global 및 Regional의 두 가지 카테고리로 나눌 수 있는 다양한 유형의 Load Balancing을 제공합니다. - Global Load Balancers는 HTTP (S), SSL 프록시, TCP 프록시 부하 분산기입니다. 이러한 Load Balancin..

Tistory

[import] 아임포트 결제 모듈 만들기(코드 포함)

아임포트 결제 모듈 만들기 안녕하세요 이번에 결제 모듈을 만들면서 공부한 내용들을 정리하고자 포스팅합니다. 본인의 서버 환경과 서비스의 특징에 맞게 변경하여 사용하시면 됩니다. 아임포트의 공식 doc을 참고하여 설명합니다. 그림으로 설명되어있는 결제 연동 절차를 알고 가시면, 결제 흐름을 쉽게 파악할 수 있습니다. 아임포트를 사용함으로써 가맹점 서버의 결제 데이터를 동기화하는 방식에 차이가 있습니다. 결제가 발생했을 때, 먼저 아임포트측 데이터베이스에 고객의 결제 데이터가 저장되고, 그 후에 webhook을 통해서 가맹점의 데이터베이스에 결제 정보를 저장합니다. webhook은 네트워크 및 고객 기기의 불안정성에 대처할 수 있는 방법입니다. 결제 고객의 브라우저가 아임포트 서버의 응답을 수신했으나, 결제..

Tistory

[구글 클라우드 플랫폼] GCP : Containers and Kubernetes

Containers and Kubernetes 목차 1. Introduction to Containers 2. Introduction to Kubernetes 3. Introduction to Google Kubernetes Engine 4. Computing options 1. Introduction to Containers 예전에는 애플리케이션을 배포하는 기본 방법은 자체 물리적 컴퓨터에 있었습니다. 서버 하나를 설정하려면 물리적 공간, 전력, 냉각, 네트워크 연결을 찾은 다음 운영 체제, 소프트웨어 종속성, 마지막으로 애플리케이션을 설치해야 했습니다. 더 많은 처리 능력, 중복성, 보안 또는 확장성이 필요한 경우 컴퓨터를 더 추가하기도 하였습니다. 또한 각 컴퓨터가 하나의 목적 (예 : 데이터베이스..

Tistory

작년 여름

요즘 하늘을 보는 시간이 많이 줄었다. 시야에 벽들이 많아 답답하다. 보이지 않아서 못 보는 걸까 안 보는 걸까 작년 여름에 있었던 구름들이 생각난다. 그 구름들은 나에게 상상력을 가져다주었다. 저건 뭘 닮고, 색깔은 이렇고 나중엔 구름 이상의 차원으로 상상을 펼쳐 나간다. 이젠 시선이 내려와 사람들과 땅만 본다 그러다 땅에 있는 물 웅덩이에서 비치는 하늘을 볼 때면 작년 여름으로 돌아간다 그때가 생각나고 어제 일인 듯 그해의 여름이 생생하다. 추억으로만 남겨둘 수밖에 없어서 힘들다.

Tistory

[Strapi] strapi로 api 쉽게 만들기

안녕하세요~ 이번엔 strapi로 api를 만드는 포스팅을 시작하겠습니다. 목차: 0. Strapi? 1. strapi 프로젝트 생성하기 2. 프로젝트 시작하기 3. REST API 만들기 4. 만든 REST API 확인하기 Strapi? strapi는 node.js 기반으로 GUI를 사용하여 보다 쉽게 REST API를 제작할 수 있습니다. 백엔드 서버 제작 시 다른 부가적인 설정들을 하지 않고 바로 사용할 수 있게 해 주는 게 큰 장점입니다. 요약 : Strapi는 오픈 소스 Node.js 기반 headless CMS입니다. 100 % 자바 스크립트로 이루어져 있고, 설계자의 의도에 따라 맞춤 설정할 수 있으며 개발자가 사용하기에 편리합니다. strapi 공식 홈페이지에 들어가시면 아래의 기업들이 s..

Tistory

[Strapi] GCP에 mongoDB Atlas설치하기

GCP에 mongoDB Atlas 설치하기 안녕하세요! 저번에 생성한 strapi api의 db를 local SQLite가 아닌 gcp에 mongoDB를 호스팅 하여 사용하려고 합니다. 그전에 먼저 mongoDB Atlas를 생성하고 호스팅 하는 작업을 진행하겠습니다. MongoDB Atlas의 자가 회복 클러스터가 지리적으로 분산된 데이터베이스 인스턴스로 구성되어 단일 장애 지점이 없도록 구성합니다. Region 간 복제 기능을 활성화하여 Multi-Region의 장점을 활용할 수 있습니다. 또한 MongoDB Atlas에는 지속적인 백업 및 특정 시점 복구와 같은 미션 크리티컬 프로덕션 데이터베이스의 안정성을 향상하는 기능이 포함되어 있습니다. 목차: 1. Google Cloud Platform에 m..

Tistory

[Strapi] strapi api와 mongoDB Atlas 연결하기

Strapi와 MongoDB Atlas 연결하기 Strapi는 프로젝트에 가장 적합한 데이터베이스를 선택할 수있는 옵션을 제공합니다. PostgreSQL, MongoDB, SQLite, MySQL 및 MariaDB를 지원할 수 있습니다. 이러한 데이터베이스를 로컬 및 다양한 호스팅 또는 클라우드 서버에 설치할 수 있어 사용하기에 편리합니다. 이번 포스팅에서는 strapi api가 사용하는 db를 mongoDB Atlas로 전환하여 사용하겠습니다. strapi의 기본 db설정은 SQLite로, 프로덕션에서는 다른 DB로 바꾸는걸 추천드립니다. SQLite는 로컬 개발에서 추천드리는 방법으로 프로덕션에는 추천드리지 않습니다. 목차: 1. MongoDB Atlas 연결 설정 2. Strapi 프로젝트 연결 설..

Tistory

[JavaScript] 자바스크립트 Date() 객체 사용법

안녕하세요~ 이번에 javascript를 사용하여 Date 객체에 대해 자세히 다룰 일이 있었어요. 그래서 경험했던 것을 기록하고 나누고자 이번 포스팅 시작하였습니다. Date() 객체와 관련 함수들은 앞으로도 정말 많이 사용할 거 같아요. 목차: 1. Date() 객체 생성하기 2. Date.now() 3. getTime() 4. setTime() 5. toLocaleString() Date 객체 생성하기 Date()를 사용하는 방법을 다음과 같습니다. 생성자 안에 넣은 인자의 성질과 개수에 따라 반환하는 것이 다릅니다. Date() Date(milliseconds) Date(datastring) Date(year, month, date, hours, minutes, seconds, ms) 1. Dat..

Tistory

[스타트업] 0.실패에서 오는 경험들

실패 처음에 앱 스타트업을 시작할 때를 생각해보면, 아이디어 하나만 가지고 뛰어들었습니다. 우리의 아이디어가 실현된다면, 모두가 좋아할 만한 아이디어였다고 생각했어요. 그러나 아이디어만 좋으면 성공할 것 같은 꿈들은 서서히 금이가고 철저하게 가루로 남았네요. 검증조차 시도하지 않았던 많은 세부 구현들, 사용자를 생각하지 않은 프로세스 등 여러 칼날들이 우리의 희망을 찢고 철저한 현실을 보여줬어요. 있으면 좋겠다 하는 아이디어였지만 비즈니스적으로 매력 있는 모델은 아니었던 것이었다고 생각합니다. 포기라는 걸 생각해볼 여유도 없는 상황에서 또 아이디어를 찾기 시작했어요. 이번에도 실패할 수 있다. 하지만 전에 했던 실수를 반복하지는 말았으면 한다고 다짐하고서, 그러기 위해 더 공부하고 경험하고 있습니다. 하..

Tistory

[스타트업] 1. NSM : 지속적인 성장을 위한 핵심

우리 기업의 NSM은 무엇인가? NSM이란 North Star Metrix의 약자로, 제품이 고객에게 제공하는 핵심 가치를 잘 포착하는 '단일 측정 항목'입니다. 즉, 정말 중요한 단 하나의 지표가 NSM인 것입니다.(하나 이상일 때도 있다고 합니다. 하지만 예시를 찾지는 못하였습니다.) NSM = 고객이 프로덕트를 사용하면서 얻게 되는 핵심 가치를 정확히 측정하는 지표 North Star(북극성)이라는 단어에서도 느낄 수 있듯이, 해당 지표를 통해 기업의 핵심 가치를 명확히 파악할 수 있는 지표여야 합니다. 그리고 단기적인 성장을 넘어서 장기적이고 지속적인 성장에도 도움이 되는 지표여야 합니다. 다들 생각하시기엔 매출이 기업의 가장 큰 핵심 지표라고 생각하실 수 있습니다. 하지만 매출은 후행지표 및 핵..

Tistory

[Google Services] 구글 번역기 사용법

구글 번역기 사용법 이번에는 많은 분들이 사용하시는 구글 번역기에 대해서 설명드리겠습니다. 구글 번역기는 간단한 문장부터 파일 번역 및 웹 문서 번역 기능을 제공합니다. 그래서 이번 포스팅에는 텍스트 번역과 문서 파일 번역 및 웹 번역 사용 방법에 대해서 알려드리고자 합니다. 텍스트 번역보다 문서 파일을 번역하고 싶으신 분들은 목차 2번, 웹 페이지를 번역하고 싶으시면 목차 3번으로 이동하시면 됩니다. 목차: 1. 텍스트 번역하기 2. 문서 파일 번역하기 3. 웹 페이지 번역하기 다들 구글 번역기를 언제 사용하시나요? 저는 한글 번역자료를 구할 수 없을 때, 영어 문장의 뜻을 정확히 알고 싶을 때 사용하는 편이에요. 처음에는 파파고 번역기를 사용하다가 뭔가 해석이 부족하고, 의미 연결이 매끄럽지 않아 구..

Tistory

[Google Service] 영어 번역기

구글 번역기 바로가기 구글 번역기 바로가기를 다들 언제 사용하시나요? 많은 분들이 영어를 한국어로 번역할 때 많이 사용하실 거 같아요. 하지만 100개 이상의 언어도 번역을 제공한다고 해요. 번역 가능한 언어를 확인했을 때 제가 모르는 언어들도 있었습니다. 그만큼 구글 번역기가 다양한 언어를 제공하고 있어요. 구글 번역기가 처음 나왔을 때는 번역 정확도도 높지 않았고 오역을 하는 경우가 많았어요. 하지만 지금은 전보다 월등한 성능을 보여주고 있습니다. 구글 번역기를 통해 많은 분들이 번역기를 사용하고 계신데요. 데스크톱 및 모바일 등 다양한 기기로도 해당 서비스를 사용하실 수 있습니다. 아래의 링크를 통해 사용법 등 더 많은 정보를 얻으실 수가 있어요. 여러분들도 한 번만 이용하시면 구글 번역기에 대해서..

Tistory

[네트워크 용어] SSL 이란?

안녕하세요~ 이번에는 http와 https를 공부하다 보니 SSL에 대해서도 궁금해지더라고요. 그래서 포스팅하면서 공부한 것을 정리해보고자 합니다. 목차: 1. SSL에 대해서 2. HTTPS와 SSL의 차이점 3. SSL 인증서란? 4. 공개키와 대칭키 5. SSL을 이용한 통신 방법 SSL에 대해서 넷스케이프에서 처음 만들어진 SSL(secure socket Layer) 프로토콜은 사실 현재 TLS(Transfer Layer Security)라고 불립니다. SSL은 과거에 사용했던 명칭이라고 하네요. 또한 컴퓨터 네트워크에 통신보안을 적용하기 위해 설계된 암호 프로토콜입니다. 이 프로토콜은 TCP/IP 네트워크를 사용하는 통신에 적용되며, 웹 서버와 브라우저 사이의 종단 간 보안과 데이터 무결성을 보..

Tistory

[네트워크 용어] CIDR(사이더)란? IPv4

CIDR(Classless Inter-Domain Routing) 클래스 없는 라우팅 기법이며 IP를 좀 더 유연하게 사용할 수 있습니다. 기존의 네트워크 클래스 방법을 대체하고 1993년에 도입되기 시작하였습니다. 또한 빠르게 고갈되고 있는 IPv4를 보다 효율적으로 사용할 수 있습니다. IPv4에 대해서 먼저 IPv4에 대해서 까먹으신 분들을 위해 다시 한번 짚고 넘어가겠습니다. IPv4는 패킷 교환 네트워크 상에서 데이터를 교환하기 위한 프로토콜입니다. IPv4의 주소체계는 총 12자리로 구성되어 있으며 점을 기준으로 네 부분으로 나뉩니다. 또한 각 부분은 0~255까지 3자리의 수로 표현됩니다. 또한 IPv4 주소가 고갈되는 상황에서 4배의 비트 수를 가지고 있는 132비트의 IPv6가 등장하였습..

Tistory

[네트워크 용어] 게이트웨이(Gateway), 게이트웨이와 라우터 차이점

저는 게이트웨이와 라우터에 어떠한 차이점이 있는지 헷갈리는 경우가 많았습니다. 그래서 이번에 정리하면서 확실히 하고자 합니다. 이번 포스팅에서는 게이트웨이를 설명하고 마지막으로 라우터와 게이트웨이의 차이점에 대해서 설명하도록 하겠습니다. 먼저 라우터에 대해 다시 한번 보고 싶으신 분들은 아래의 링크를 참고해주세요. [네트워크 용어] 라우터란?(Router) 라우터(Router) 라우터는 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치입니다. 이때 최적의 경로는 일반적으로 puzzle-puzzle.tistory.com 게이트웨이란? 게이트웨이는 이종 프로토콜 및 네트워크 간에 통신을 가능하게 하며 다른 네트워크로 들어가는 문 역할..

Tistory

[네트워크 용어] 프록시에 대해서

목차: 1. 프록시? 2. 프록시의 종류 3. 프록시의 목적 4. 사용 시 유의하실 점 5. 우리 주변에서 볼 수 있는 예시 프록시? 네트워크 용어 시리즈로 포스팅하면서 다시 한번 개념을 정리하고 있습니다. 현재 클라우드 서비스에 대해서 공부하고 있어서 다시 요약 및 정리할 필요성을 느껴 작성하고 있습니다. 프록시는 클라이언트와 서버 사이에서 데이터를 전달해주는 컴퓨터 시스템 및 응용프로그램입니다. 즉, 중계기 역할을 합니다. 주로 보안 강화, 트래픽 병목 방지, 캐시 기능을 위해 사용할 때가 많습니다. 특히 웹 프록시 서버로 많이 쓰입니다. 이렇게 캐시로 저장해둘 경우, 동일한 정보를 요청 시 캐시에 저장되어있는 정보를 가져오게 됩니다. 이로써 전송시간을 절약할 수 있고 불필요한 외부 연결을 줄여 네트..

Tistory

[네트워크 용어] HTTP, HTTPS 에 대해서

안녕하세요~ 이번에 포스팅할 내용은 HTTP입니다. 현재 네트워크에 대해 다시 공부하면서 정리하고자 합니다. 또한 프론트엔드, 백엔드 개발자들 모두 잘 알고 있어야 할 분야라고 생각합니다. HTTP(Hyper Text Transfer Protocol) HTTP는 텍스트 기반의 통신 규약인 Hyper Text Transfer Protocol의 줄임말로 인터넷에서 정보를 서로 주고 받을 수 있게 하는 프로토콜입니다. 또한 신뢰성 있는 데이터 전송 프로토콜로써 데이터가 전송 중 파괴되거나 중복되거나 왜곡되는 것을 방지할 수 있습니다. 웹에서만 사용하는 프로토콜이며 TCP/IP 기반으로 서버와 클라이언트 요청과 응답을 전송합니다. HTTPS(Hyper Text Transfer Protocol over Sercu..

Tistory

[Flutter] 플러터 앱 런처 아이콘 수정하기

플러터 앱 런처 아이콘 수정하기 안녕하세요~ 이번에는 저희의 앱을 다른 앱과 다르게 만들어줄 아이콘을 수정해보겠습니다. 저는 아이콘 수정하는 방법 찾는데 검색을 잘못했는지 찾는데 시간이 오래 걸렸어요. 그래서 다른 분들이 쉽고 정확하게 참고하실 수 있게 포스팅을 게시하게 되었습니다. 도움이 되었으면 좋겠어요. 앱 런처 아이콘을 iOS와 android 모두 수정하는 것은 정말 귀찮은 일이며, 조금이라도 이미지가 수정되어 아이콘이 바뀔 때마다 해야 하는 수작업은 상당한 시간이 소비됩니다. 그래서 플러터에서 시간과 리소스를 절약하기 위해 flutter_launcher_icons 패키지를 사용하여 정말 간단하게 수정할 수 있게 만들었어요. 1. 먼저 아이콘을 담을 폴더를 아래와 같이 만드시면 됩니다. 저는 프로..

Tistory

[구글 클라우드 플랫폼] GCP : Regions and Zones

Region and Zones 목차: 1. Regions and Zones 1.2. Zonal resources 1.3. Regional resources 1.4. Multi-regional resources 1. Regions and Zones - Regions은 zones으로 구성된 독립적인 지리적 영역입니다. 지역 내의 위치는 95 번째 백분위 수에서 5 밀리 초 미만의 왕복 네트워크 지연 시간을 갖는 경향이 있습니다. - zones는 Regions 내 Google Cloud Platform 리소스의 배포 영역입니다. zone을 Region 내의 단일 failure 도메인으로 생각하시면 됩니다. 고 가용성으로 falut-tolerant 애플리케이션을 배포하기 및 예기치 않은 오류로부터 보호하려면 한..

Tistory

[구글 클라우드 플랫폼] GCP : Kubernetes and Container

Kubernetes and Container 목차: 0. Introduction 1. Containers 2. Kubernetes and Kubernetes Engine 0.Introduction - 쿠버네티스는 개념적으로 IaaS를 제공하는 compute engine과 PaaS를 제공하는 app engine 사이에 위치하며 둘의 이점을 이용하고 있습니다. - 쿠버네티스에 대해서 간단하게 정리한 포스팅입니다. 참고하세요. 쿠버네티스란? 쿠버네티스란? 쿠버네티스는 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼입니다. 컨테이너 오케스트레이션이 하는 일은 여러 개의 서버에 컨테이너를 배포하 puzzle-puzzle.tistory.com 1. Containers - (첫 번째 그림) ..

Tistory

[Google Services]안드로이드 구글 이미지 검색 방법

안드로이드에서 구글 이미지 검색 방법 이번엔 안드로이드 기기에서 구글 이미지 검색하는 방법에 대해서 알아보겠습니다. 이미지 검색은 가끔 필요하지만 필수적으로 사용될 때가 있습니다. 그래서 자주 사용하지 않는 기능에 아이폰 안드로이드 기기에서 사용법은 비슷합니다. 그래도 헷갈리시는 분들을 위해 포스팅하도록 하겠습니다. 사용하면서 구글 이미지 검색은 어떻게 내부적으로 진행될지 궁금한 적이 많습니다. 또한 정말 빠른 시간 안에 해당 자료들을 보여준다는 게 많이 신기했습니다. 다음 포스팅 때는 어떻게 구글 이미지 검색이 내부적으로 이루어지는지 알아보고 알려드리겠습니다. PC 및 아이폰에서 구글 이미지 검색 방법 혹시 PC 및 아이폰에서 구글 이미지 검색을 하신다면 다음의 포스팅을 참고해주세요. PC: [Goog..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud VPN

Cloud VPN 목차: 1. Cloud VPN 2. Cloud interconnecting and Peering 3. Sharng VPC Networks 1. Cloud VPN - Cloud VPN은 IPsec VPN 터널을 통해 온프레미스 네트워크를 GCP VPC 네트워크에 안전하게 연결합니다. 두 네트워크 사이를 이동하는 트래픽은 하나의 VPN 게이트웨이로 암호화된 다음 다른 VPN 게이트웨이에서 해독됩니다. 이렇게 하면 공용 인터넷을 통해 이동하는 데이터가 보호되므로 Cloud VPN은 소량의 데이터 연결에 유용합니다. - 관리형 서비스인 Cloud VPN은 99.9 % 서비스 가용성의 SLA를 제공하고 사이트 간 VPN, 정적 및 동적 경로, IKEv1 및 IKEv2 암호를 지원합니다. Clou..

Tistory

[구글 클라우드 플랫폼] GCP : Bigtable

Cloud Bigtable 목차: 1. What is Cloud Bigtable? 2. Cloud Bigtable stoage model 3. Processing 4. Choosing Cloud Bigtable 1. What is Cloud Bigtable? - Cloud Bigtable은 페타 바이트 규모의 매우 짧은 지연 시간을 제공하는 완전 관리형 NoSQL 데이터베이스입니다. 처리량에 맞게 원활하게 확장되고 특정 액세스 패턴에 맞게 조정하는 방법을 배웁니다. Cloud Bigtable은 실제로 검색, 분석, 지도, Gmail을 비롯한 여러 Google 핵심 서비스를 지원하는 동일한 데이터베이스입니다. - Cloud Bigtable은 짧은 지연 시간으로 높은 읽기 및 쓰기 처리량을 지원하므로 IoT..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Memorystore

Cloud Memorystore - Redis용 Cloud Memorystore는 Google에서 관리하는 확장 가능하고 안전하며 가용성이 높은 인프라를 기반으로 구축된 완전 관리형 in-memory 데이터 저장소 서비스를 제공합니다. GCP에서 실행되는 애플리케이션은 복잡한 Redis 배포를 관리하는 부담 없이 확장 성과 가용성이 뛰어나고 안전한 Redis 서비스를 활용하여 최고의 성능을 달성할 수 있습니다. 이를 통해 코드를 작성하는 데 더 많은 시간을 할애할 수 있으므로 훌륭한 앱을 만드는 데 집중할 수 있습니다. - Cloud Memorystore는 고 가용성, 장애 조치, 패치 적용, 모니터링과 같은 복잡한 작업도 자동화합니다. 고 가용성 인스턴스는 두 영역에 복제되며 99.9 % 가용성 SLA..

Tistory

[공간리뷰]IF2020 GANGNAM(스타트업 컨퍼런스)을 다녀오다

IF2020 GANGNAM 10월 30일 IF2020 GANGNAM에 다녀왔습니다. 해당 컨퍼런스는 스타트업들을 소개하는 자리로 다양한 아이디어를 가진 스타트업이 참여하였습니다. 스타트업 거리축제로 알고 있었는데 이번엔 코엑스 안에서 행사를 진행하고 있어요. 행사장은 코엑스 동문 쪽에 위치하였는데요. 앞에서 벤츠 행사도 하고 있어서 먼저 경험해보았어요. 있는 줄도 몰랐는데 하지만 뭐 때문에 온지도 까먹고 정신없이 구경했어요. 보시는 것처럼 1층과 2층에 VR 체험장을 운영하고 있어서 직접 이용할 수 있었어요. 해당 VR은 미래 세계의 자동차를 승차하는 느낌을 주고 싶었던 거 같습니다. 컨트롤러도 있어서 차량 문을 열고 닫는 상호작용도 가능했어요. VR기기를 착용하고 이리저리 고개를 돌렸는데 재밌었어요. ..

Tistory

[구글 클라우드 플랫폼] GCP : Resource Management

Resource Managememt 목차: 1. Resource Management 2. Quotas 3. Labels and names 4. Billing 1. Resource Management - Resource management를 사용하면 project, folder 및 Organization별로 리소스를 계층적으로 관리할 수 있습니다. - policy에는 일련의 roles과 member가 포함되고 policy는 resource에 설정됩니다. 이러한 resource는 왼쪽에서 볼 수 있듯이 부모로부터 policy를 상속합니다. 따라서 resource policy는 parent와 resource의 결합입니다. 또한 상위 정책이 덜 제한적이면 더 제한적인 리소스 정책보다 우선한다는 점에 유의하셔야 ..

Tistory

[구글 클라우드 플랫폼] GCP : Virtual Machine(VM)

Virtual Machine VM은 컴퓨터 하드웨어와 유사하지만 동일하지는 않습니다. VM은 가상 CPU, 일정량의 메모리, 디스크 스토리지 및 IP 주소로 구성됩니다. 또한 Compute Engine은 VM을 만드는 GCP의 서비스입니다. 매우 유연하며 물리적 하드웨어에 존재할 수 없는 일부 옵션을 포함하고 많은 옵션을 제공합니다. Virtual Machine 구성요소 1. Compute Engine 2. Compute Options(vCPU and Memory) 3. Images 4. Disk Options 5. Common Compute Engine Actions Compute Engine: - Infrastructure as a Service(IaaS) - predefined 된 머신 타입과 cu..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud SQL

Cloud SQL 목차 : 1. What is Cloud SQL? 2. Cloud SQL instance 3. Cloud SQL services 4. Connecting to a Cloud SQL instance 5. Choosing Cloud SQL 1. What is Cloud SQL? - 패치와 업데이트가 자동으로 적용되지만 이러한 데이터베이스와 함께 제공되는 기본 인증 도구를 사용하여 MySQL 사용자를 관리해야 합니다. - Cloud SQL은 Cloud Shell, App Engine, G Suite 스크립트와 같은 많은 클라이언트를 지원합니다. 또한 표준 MySQL 드라이버를 사용하는 SQL Workbench, Toad 및 기타 외부 애플리케이션과 도구도 지원합니다. 2. Cloud SQL i..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Spanner

Cloud Spanner 목차: 1. What is Cloud Spanner? 2. Characteristics 3. Cloud Spanner Architecture 4. Choosing Cloud Spanner 1. What is Cloud Spanner? - Cloud Spanner는 관계형 데이터베이스 구조의 이점을 비 관계형 수평 확장과 결합하기 위해 특별히 클라우드 용으로 구축된 서비스입니다. - 이 서비스는 페타 바이트 규모의 용량을 제공할 수 있으며 global scale, 스키마, SQL 및 고 가용성을 위한 자동 동기 복제에서 트랜잭션 일관성을 제공합니다. 사용 사례에는 전통적으로 관계형 데이터베이스 기술에서 제공하는 재무 애플리케이션 및 인벤토리 애플리케이션이 포함됩니다. - Multi..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Firebase

Cloud Firebase 목차: 1. What is Cloud Firestore? 2. Choosing Cloud Firestore 1. What is Cloud Firestore? - Cloud Firestore는 빠르고 완벽하게 관리되며 serverless cloud native NoSQL 문서 데이터베이스로, 모바일, 웹, IoT 앱의 데이터를 전 세계적으로 저장, 동기화, 쿼리하는 작업을 간소화합니다. 클라이언트 라이브러리는 실시간 동기화 및 오프라인 지원을 제공하며 보안 기능과 Firebase 및 GCP와의 통합으로 진정한 서버리스 앱 빌드를 가속화합니다. - Cloud Firestore는 ACID 트랜잭션도 지원하므로 트랜잭션의 작업이 실패하고 재시도할 수 없는 경우 전체 트랜잭션이 실패합니..

Tistory

[Google Services]아이폰 구글 이미지 검색 방법

모바일에서 구글 이미지 검색 방법 이번에는 구글 이미지를 모바일에서 검색하는 방법에 대해 알아보겠습니다. 사파리, 크롬 등 어느 웹 브라우저도 가능합니다. 이미지 검색은 비슷한 이미지나 출처를 찾고자 할 때 유용하게 사용되기도 합니다. 아래의 내용은 아이폰 기준으로 작성되었으며 다른 기기에 대해서는 따로 다시 포스팅하도록 하겠습니다. 이미지 검색은 구글, 네이버, 다음 등에서도 서비스하고 있습니다. 하지만 가장 방대한 데이터를 가지고 있는 곳은 구글이며 더 정확하고 많은 검색 결과를 가져올 수 있습니다. 검색 시에는 이미 내 핸드폰에 있는 사진을 가지고 검색할 수도 있고 URL을 입력하여 검색하는 것도 가능합니다. 저도 아이폰을 사용하면서도 가끔 이미지 검색을 어떻게 하나 까먹기도 했었는데, 포스팅을 정..

Tistory

[Flutter]#1. Mac에 플러터 설치하기

맥에 플러터 설치하기 이번 포스팅에는 맥북 또는 맥에 플러터를 설치하는 과정을 보여드릴게요. 혹시 윈도우나 리눅스에서 플러터를 사용하고 싶으시다면 아래의 링크를 참고해주세요! - 윈도우에서 플러터 설치 편 [Flutter]#1. 플러터 설치하기(Install Flutter) for Windows 윈도우에서 플러터 설치하기 저번 포스팅에서는 플러터로 개발하기 첫 단계로 플러터에 대해서 알아보았습니다. 지난 포스팅을 못 보신 분들은 먼저 보고 오시는 걸 추천합니다! 이번에는 실제 puzzle-puzzle.tistory.com - 맥에서 플러터 설치 편 [Flutter]#1. 플러터 설치하기(Install Flutter) for Mac 맥에 플러터 설치하기 이번 포스팅에는 맥북 또는 맥에 플러터를 설치하는 과..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud VPC(Virtual Private Cloud)

Virtual Private Cloud(VPC) Virtual Private Cloud(VPC)는 Compute Engine 가상 머신(VM) 인스턴스, Google Kubernetes Engine(GKE) 클러스터, App Engine 가변형 환경에 네트워킹 기능을 제공합니다. 또한 VPC는 클라우드 기반 리소스 및 서비스에 대해 확장 가능하고 유연한 글로벌 네트워킹을 제공합니다. 목차: VPC 구성 요소 1. Project 2. Network 3. Subnetwork 4. IP addresses 5. Routes and Firewall rules Project: - 프로젝트는 object 및 services를 billing과 연결합니다. - 각 프로젝트의 기본 할당량은 네트워크 5개이지만 GCP co..

Tistory

[네트워크 용어] 방화벽(firewall)

방화벽 규칙 방화벽(firewall)은 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템입니다. 방화벽은 일반적으로 신뢰할 수 있는 내부 네트워크, 신뢰할 수 없는 외부 네트워크 간의 장벽을 구성합니다. 또한 서로 다른 네트워크를 지나는 데이터를 허용하거나 거부하거나 검열, 수정하는 하드웨어나 소프트웨어 장치입니다. 방화벽의 역사 1세대 방화벽: 패킷 필터 패킷 자체만을 보고 미리 설정된 정책에 따라 허용 또는 거부를 결정하는 초창기 방화벽은 1세대 방화벽이라고 한다. 방화벽 내부에서 상태(세션)를 관리하지 않는 기본 형태의 방화벽이다. - 특정 IP를 허용, 거부 가능 - 특정 포트 허용, 거부 가능 2세대 방화벽: 스테이트 풀 인스펙션 패킷..

Tistory

[네트워크 용어] 라우터란?(Router)

라우터(Router) 라우터는 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치입니다. 이때 최적의 경로는 일반적으로는 가장 빠르게 통신이 가능한 경로이므로, 이것이 최단 거리 일수도 있지만, 돌아가는 경로라도 고속의 전송로를 통하여 전달이 되는 경로가 될 수 있습니다. 즉, 라우터(Router)는 이름 그대로 네트워크와 네트워크 간의 경로(Route)를 설정하고 가장 빠른 길로 트래픽을 이끌어주는 네트워크 장비입니다. 또한 라우터의 대표적인 기능은 네트워크와 네트워크를 연결하는 것이지만, NAT(Network Address Translation), 방화벽, VPN(Virtual Private Network), QoS(Qualit..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Functions

Cloud Functions이란? Google Cloud Functions는 클라우드 서비스를 빌드 및 연결하기 위한 서버리스 실행 환경입니다. Cloud Functions를 사용하면 클라우드 인프라와 서비스에서 발생하는 이벤트에 연결되는 단일 목적의 간단한 함수를 작성할 수 있습니다. 함수는 감시 중인 이벤트 발생 시에 트리거 됩니다. 코드는 완전 관리형 환경에서 실행되므로, 인프라를 프로비저닝 하거나 서버를 관리할 필요가 없습니다. 또한 표준 Node.js, python3, Go, Java 환경에서 실행할 수 있습니다. 서버리스 Cloud Functions는 서버 관리, 소프트웨어 구성, 프레임워크 업데이트, 운영 체제 패치 적용 등의 작업을 하지 않아도 됩니다. 소프트웨어 인프라가 Google에서 ..

Tistory

[Qwiklabs Basics]Cloud Functions

이번에는 Cloud Functions을 실습해보는 시간을 가지도록 하겠습니다. 실습을 진행하기 전에 다음의 포스팅을 보고 오시는 것을 추천합니다. [구글 클라우드] GCP : Cloud Functions Cloud Functions이란? Goocle Cloud Functions는 클라우드 서비스를 빌드 및 연결하기 위한 서버리스 실행 환경입니다. Cloud Functions를 사용하면 클라우드 인프라와 서비스에서 발생하는 이벤트에 연결되는 puzzle-puzzle.tistory.com 간단히 Cloud Functions에 대해 설명하고 시작하겠습니다. Cloud Functions는 자바 스크립트로 작성되고 GCP의 Node.js 환경에서 실행됩니다. Cloud 함수를 가져와서 표준 Node.js 런타임에..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Pub/Sub

Cloud Pub/Sub(Cloud PubSub) Cloud Pub/Sub(Cloud PubSub)는 이벤트를 처리하는 서비스에서 이벤트를 생성하는 서비스를 분리하는 비동기 메시징 서비스입니다. 또한 메시징 기준 미들웨어 또는 스트리밍 분석 파이프 라인의 이벤트 수집 및 전송으로 사용할 수 있습니다. Pub/Sub(Cloud PubSub)는 규모에 맞는 고가용성 및 일관된 성능으로 내구성 있는 메시지 스토리지 및 실시간 메시지 전송을 제공합니다. Pub/Sub(Cloud PubSub) 서버는 전 세계 모든 Google Cloud region에서 실행됩니다. 또한 Google Cloud Pub/Sub는 애플리케이션 및 서비스 간에 이벤트 데이터를 교환하는 데 사용되는 메시징 서비스입니다. 데이터 제작자는 ..

Tistory

[Qwiklabs Basics]Cloud Pub/Sub

이번에는 Cloud Pub/Sub을 실습해보는 시간을 가지도록 하겠습니다. 실습을 진행하기 전에 다음의 포스팅을 보고 오시는 것을 추천합니다. [구글 클라우드 플랫폼] GCP : Cloud Pub/Sub Cloud Pub/Sub Pub/Sub는 이벤트를 처리하는 서비스에서 이벤트를 생성하는 서비스를 분리하는 비동기 메시징 서비스입니다. Pub/Sub를 메시징 기준 미들웨어 또는 스트리밍 분석 파이프 라인의 이벤트 puzzle-puzzle.tistory.com Setting up Pub/Sub Google Cloud Shell 콘솔을 사용하여 Google Cloud Pub / Sub에서 작업을 수행할 수 있습니다. Pub / Sub를 사용하려면 데이터를 보관할 주제를 만들고 주제에 게시 된 데이터에 액세스..

Tistory

[Qwiklabs Basics]Cloud Operations(구 StackDriver)

안녕하세요 이번에는 Cloud Operations 기능에 대해 실습해보겠습니다. Cloud Operations을 통해 클라우드 기반 애플리케이션의 성능, 가동 시간 및 전반적인 상태를 파악할 수 있습니다. 또한 구글 클라우드, AWS, Nginx, Apache Web서버, Elastsearch 등 다양한 공통 애플리케이션 구성 요소에서 metrics와 이벤트 및 메타데이터를 수집합니다. 그리고 수집된 데이터로 차트 및 경고를 통해 인사이트를 제공할 수 있어 유용합니다. Cloud Operations에는 다음의 기능이 있습니다. Cloud Monitoring Cloud Logging Cloud Trace Cloud Debugger Cloud Profiler 목차: 1. Compute Engine 생성하기 ..

Tistory

[Google Services]구글 드라이브란?(구글 드라이브 활용법)

구글 드라이브란? 구글 드라이브는 구글 계정만 있으면 이용이 가능하고 음악, 사진, 동영상, 문서 등의 파일을 보관할 수 있는 웹 저장소입니다. 사용자당 15GB의 무료 저장용량이 제공되므로 문서 저장 및 저용량의 파일을 주로 넣어 사용하시면 됩니다. 또한 로컬 컴퓨터와 자동으로 파일이 동기화되어 편리합니다. 혼자서 새 문서, 스프레드시트 및 프레젠테이션을 만들거나 실시간으로 다른 사용자와 공유하고 공동작업을 합니다. 모든 변경사항은 드라이브에 자동으로 저장되기 대문에 저장 버튼이 없습니다. 어느 휴대기기, 태블릿, 컴퓨터에서든 파일과 폴더를 저장이 가능합니다. 또한 이미 팀에서 사용 중인 도구 및 앱과 통합이 가능합니다. 파일 형식을 변환하지 않고도 MS Office 파일로 공동 작업하고, PDF, C..

Tistory

[Google Services]구글 이미지 검색 방법

구글 이미지 검색 구글 서비스 중에서는 이미지를 검색할 수 있는 기능도 있습니다. 내가 알고 있는 이미지의 URL 주소나 해당 파일을 업로드하여 어떤 사이트에서 해당 이미지를 사용하고 있는지 알 수 있습니다. 일상에서 많이 사용하지는 않지만, 꼭 필요할 때 시간을 절약해주는 서비스입니다. 많은 분들이 구글 이미지 검색의 디테일한 기능을 잘 모르시더라고요. 이번 포스팅에서는 구글 이미지 검색 방법에 대해서 자세하게 이야기해보겠습니다. 다들 구글 이미지 검색을 언제 사용하시나요? 평상시에 매번 필요한 기능은 아니지만, 한번 사용할 때 시간을 절약해주는 편리한 서비스입니다. 핸드폰에서 이미지 검색 방법 데스크톱에서 검색하지만 핸드폰에서도 많이 하시더라고요. 아이폰, 안드로이드에서 이미지 검색하는 방법을 자세하..

Tistory

[Qwiklabs Advanced]구글 클라우드에 웹사이트 빌드하기-2부-(Using Google Compute Engine)

1부에서 이어서 설명하도록 하겠습니다. 구글 클라우드에 웹사이트 빌드하기 1부를 못 보고오신 분들은 아래의 포스팅을 보고 오시면 됩니다. -1부- [Qwiklabs Advanced]구글 클라우드에 웹사이트 빌드하기-1부 -(Using Google Compute Engine) 이번 포스팅에서는 Compute Engine을 이용하여 웹사이트를 빌드해볼 거예요. 내용이 많아 1,2부로 나누어서 올릴 예정입니다. 아래 목차에서 4번까지 이번에는 진행하겠습니다.Cloud Build보다 좀 복잡 puzzle-puzzle.tistory.com -2부- [Qwiklabs Advanced]구글 클라우드에 웹사이트 빌드하기-2부-(Using Google Compute Engine) 1부에서 이어서 설명하도록 하겠습니다...

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Operations(구 StrackDriver)

Cloud Operations Google Cloud 환경에서 모니터링하고 문제를 해결하며 애플리케이션 성능을 개선할 수 있습니다. 기본적으로 아래와 같은 기능을 제공합니다. 또한 Google Cloud 뿐만 아니라 AWS 및 On-premiss 솔루션도 Cloud Operations 적용이 가능합니다. Google Cloud 및 애플리케이션 전반에 걸쳐 측정항목, 로그, trace를 수집합니다. 기본적으로 제공되어 즉시 사용이 가능한 대시보드와 뷰를 사용하여 플랫폼 및 애플리케이션을 모니터링합니다. 신호 쿼리 및 분석을 실시합니다. 적합한 성능, 가용성 표시기를 설정할 수 있습니다. 기존 시스템으로 알림 및 알림 규칙을 설정할 수 있습니다. 주요 기능 Cloud Operations에는 다음의 기능을 가..

Tistory

[Qwiklabs Basics]Cloud Storage(클라우드 스토리지 using Cloud Console)

요즘 GCP를 공부하면서 영어로 된 자료가 대부분이라 한글 문서를 보기가 힘듭니다. 그나마 개념적인 문서들은 많이 있지만 실제 GCP를 사용하는 방법에 대해선 자세한 포스팅을 보기가 힘들었어요. 그래서 제가 공부하면서 정리한 것을 한글로 번역하여 포스팅하고자 합니다. 이러한 과정 중에 부족한 부분도 많겠지만 열심히 하려고 해요. 이 포스팅을 보시는 분들 상당수가 GCP를 어떻게 이용하시는지 궁금한 분들이 많으실 텐데 과정 하나하나 자세하게 놓치는 부분 없이 작성해 보겠습니다. Cloud Storage(클라우드 스토리지)는 이미지, 사운드, 비디오 같은 blob, 즉 오브젝트 파일을 저장하기 위한 RESTful 웹 서비스입니다. 오브젝트 파일은 사용자에게 할당된 고유한 key를 가지는 각각의 버킷 내에서 ..

Tistory

[Qwiklabs Basics]Cloud Storage(클라우드 스토리지 using Cloud Shell)

퀵랩을 통해 GCP를 실습해볼 수 있다는 점이 정말 좋습니다. 유료이긴 하지만 구글에서 한 달 무료 쿠폰도 제공해서 이용할 수 있어요. GCP가 AWS에 비해서 한국의 점유율이 낮긴 하지만 더 성장 가능성이 있다고 봅니다. 다들 열심히 공부하시고 모르거나 궁금하신 게 있다면 댓글로 남겨주시면 최대한 빠르게 알려드리겠습니다. 이번 주제는 Cloud Shell을 가지고 Cloud Storage의 Bucket을 생성하는 실습입니다. Cloud Consol로 구축이 가능하지만 CLI를 통한 생성도 가능해야 GCP를 완벽히 알아가겠죠? Cloud Storage(클라우드 스토리지)는 sms 이미지, 사운드, 비디오 같은 blob, 즉 오브젝트 파일을 저장하기 위한 RESTful 웹 서비스입니다. 오브젝트 파일은 사..

Tistory

[Qwiklabs Basics]Cloud IAM(Identity and Access Management)

처음 Cloud IAM을 공부할 때는 이해가 되지 않는 부분들이 많았어요. 하지만 실습을 통해서 어떻게 작동하는지 파악할 수 있었고 결국에는 많은 도움이 되었습니다. 이 포스팅도 여러분들이 최대한 이해할 수 있길 바라면서 포스팅을 시작하도록 하겠습니다. 포스팅을 통해서도 이해가 잘 되지 않는 부분은 댓글로 남겨주시면 답변해드리겠습니다! 이번에는 두 개의 아이디로 IAM이 실제로 어떻게 작동하는지 알아보겠습니다. 시작하기 전에 Cloud IAM 포스팅을 보고 오시는 걸 추천합니다. [GCP] Cloud IAM(Identity and Access Management) Cloud IAM IAM을 사용하면 특정 Google Cloud 리소스에 대한 세부적인 액세스 권한을 부여하고 다른 리소스에 대한 액세스를 방..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud IAM(Identity and Access Management)

GCP : Cloud IAM 목차: 1. Cloud Identity and Access Management(IAM) 2. Organization 3. Roles 4. Members 5. Services Accounts 1. Cloud IAM(Identity and Access Management) 1.1 Identity and Access Management IAM을 사용하면 특정 Google Cloud 리소스에 대한 세부적인 액세스 권한을 부여하고 다른 리소스에 대한 액세스를 방지할 수 있습니다. 또한 IAM은 최소 권한의 보안 원칙을 적용(중요)하여 특정 리소스에 액세스 하는 데 필요한 권한만 부여할 수 있게 해 줍니다. IAM을 사용하면 누구(ID)에게 무슨 리소스에 대한 어떤 액세스 권한(역할)이..

Tistory

[Google Services]구글 클래스룸

구글 클래스룸 코로나19로 인해 대면 강의가 불가능하여 비대면 수업이 많이 진행되고 있는 현재, 구글 클래스룸은 구글 온라인 클래스로 비대면 교육을 가장 효율적으로 끌어올리고 체계적으로 수업을 가능하게 하는 플랫폼입니다. 학교나 비영리 단체에서 수업 및 과제 진행을 위해 많이 사용 중입니다. 또한 구글 클래스룸은 교사와 학생들이 쉽고 간편하게 수업활동을 진행할 수 있으며 웹/앱으로 접속이 가능합니다. LMS(Learning Management System) 즉, 학습 관리 시스템으로 학교단위의 모든 교수학습 콘텐츠 및 교무학사관리 일체를 전산화하는 웹 기반 관리 시스템입니다. 특히 따로 프로그램을 설치하지 않아도 구글의 막강한 클라우드 시스템을 이용하기 때문에 확장성 및 안정성에서 큰 우위를 보이고 있습..

Tistory

[Qwiklabs advanced]구글 클라우드에 웹사이트 빌드하기(Using Google Cloud Build)

Qwiklabs Advanced에서는 Basic보다는 여러 개념들을 조합하여 실습을 진행하겠습니다. 제가 직접 아래의 실습을 진행하다 보니 역시 문서를 읽기보다는 손으로 직접 해보는 게 기억에 많이 남아요. 실습하는데 시간이 좀 들어도 한번 시도해보시는 걸 추천드립니다! 어려운 부분이 있으시거나 궁금한 사항이 있으시면 댓글로 남겨주세요. 이번에는 static website를 Cloud Build를 사용하여 클라우드에 올려보겠습니다~ Cloud Build에 대해 모르시는 분들은 먼저 아래의 포스팅을 읽고 오시는 것을 추천드립니다. [GCP] Cloud Build Cloud Build 애플리케이션을 수정하고 다시 빌드하고 배포하는 작업은 시간 소비가 크며, 수작업으로 지속적으로 수행하기 번거로운 작업입니다...

Tistory

[Google Analytics]#1. 구글 애널리틱스 구조

안녕하세요~ 이번에는 구글 애널리틱스의 구조에 대해 자세히 알아보겠습니다. 구글 애널리틱스에는 크게 네 가지의 틀을 가집니다. Organization Account Property View Organization(조직) Account들의 집합으로, 여러 개의 계정을 사용하는 대기업이나 대행사에 경우 권장됩니다. 하나의 조직으로 여러 개의 계정을 관리할 수 있어 관리하기에 용이합니다. Account(계정) Google Analytics 시작하려면 가정 먼저 생성해야 하는 것이 Account입니다. Account를 생성하면 자동으로 속성과 보기가 각각 하나씩 만들어지고, 하나의 계정에 최대 50개의 속성, 하나의 속성에 최대 25개의 보기가 생성 가능합니다. Property(속성) property는 데이터 ..

Tistory

[Qwiklabs Advanced]구글 클라우드에 웹사이트 빌드하기-1부 -(Using Google Compute Engine)

이번 포스팅에서는 Compute Engine을 이용하여 웹사이트를 빌드해볼 거예요. 내용이 많아 1,2부로 나누어서 올릴 예정입니다. 아래 목차에서 4번까지 이번에는 진행하겠습니다.Cloud Build보다 좀 복잡하고 내용이 길지만 열심히 같이 해봤으면 좋겠어요! 궁금한 사항 있으시면 댓글 남겨주세요~ -1부- [Qwiklabs Advanced]구글 클라우드에 웹사이트 빌드하기-1부 -(Using Google Compute Engine) 이번 포스팅에서는 Compute Engine을 이용하여 웹사이트를 빌드해볼 거예요. 내용이 많아 1,2부로 나누어서 올릴 예정입니다. 아래 목차에서 4번까지 이번에는 진행하겠습니다.Cloud Build보다 좀 복잡 puzzle-puzzle.tistory.com -2부-..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Build

Cloud Build 애플리케이션을 수정하고 다시 빌드하고 배포하는 작업은 시간 소비가 크며, 수작업으로 지속적으로 수행하기 번거로운 작업입니다. 작은 단위의 테스트는 간단히 실행할 수 있지만 더 큰 시스템을 하나하나씩 수행하는 것은 쉽지 않은 일입니다. 이러한 반복 작업들을 자동화하기 위해서 CI/CD(Continuous Integration / Continuous Deployment)라는 도구를 사용해서 파이프 라인을 만들고 자동화 작업을 수행합니다. 이때 Google의 서버리스 CI/CD 플랫폼을 통해 빌드, 테스트, 배포할 수 있습니다. Cloud Build는 GCP의 인프라에서 빌드를 실행하는 서비스입니다. 다양한 저장소 또는 클라우드 스토리지 공간에서 소스 코드를 가져오고, 사양에 맞게 빌드를..

Tistory

[Flutter]#0. 플러터란?(플러터로 앱개발하기 첫단계)

이번에 크로스 플랫폼인 Flutter를 사용해 앱 개발을 진행하고 있습니다. 그래서 더 깊게 알기 위해 내용을 정리하며 앞으로 포스팅하고자 합니다~ 처음에 앱 개발이라고 하면 막연하고, 내가 시도조차 안 할 분야라고 생각했었어요. 그동안 제가 할 수 있는 것에 제한을 두고 가둬왔던거 같아요. 플러터로 개발을 시작하면서 배운 것이 정말 많아요. 역시 실제 서비스를 해봐야 머릿속에만 쌓여있는 지식이 되지 않고 체득이 되네요. 각자 플러터를 시작하게 된 이유는 다르시겠지만, 처음 열정 그대로 같이 개발했으면 좋겠습니다. 파이팅이에요~ 혹시 플러터를 설치하여 바로 사용하고 싶으신 분들은 아래 링크로 가시면 됩니다! [Flutter]#1. flutter 설치하기(Install Flutter) 저번 포스팅에서는 플..

Tistory

[Flutter]#1. 윈도우에 플러터 설치하기

윈도우에서 플러터 설치하기 저번 포스팅에서는 플러터로 개발하기 첫 단계로 플러터에 대해서 알아보았습니다. 지난 포스팅을 못 보신 분들은 먼저 보고 오시는 걸 추천합니다! 이번에는 실제 플러터를 설치하고 실행하는 것까지 해보겠습니다~ - 윈도우에서 플러터 설치 편 [Flutter]#1. 플러터 설치하기(Install Flutter) for Windows 윈도우에서 플러터 설치하기 저번 포스팅에서는 플러터로 개발하기 첫 단계로 플러터에 대해서 알아보았습니다. 지난 포스팅을 못 보신 분들은 먼저 보고 오시는 걸 추천합니다! 이번에는 실제 puzzle-puzzle.tistory.com - 맥에서 플러터 설치 편 [Flutter]#1. 플러터 설치하기(Install Flutter) for Mac 맥에 플러터 설치..

Tistory

[Flutter]#1-1. 플러터 설치오류 해결(Unable to locate adb 및..)

이번 포스팅은 플러터 설치 시 발생한 오류를 정리하면서 공유하고자 합니다. 혹시 아래의 오류 말고 다른 오류가 발생하신 분들은 댓글로 남겨주시면 빠르게 답장해드리겠습니다! 혹시 아래의 포스트에서 설치 시 빠진 단계가 없는지 확인하시고 오세요. 간혹 중간 단계를 빼고 진행하여서 생기는 오류들도 상당하더라고요. [Flutter]#1. flutter 설치하기(Install Flutter) 저번 포스팅에서는 플러터로 개발하기 첫단계로 플러터에 대해서 알아보았습니다. 지난 포스팅을 못보신 분들은 먼저 보고 오시는걸 추천합니다! #0. Flutter(플러터)란?(플러터로 앱개발하기 첫 puzzle-puzzle.tistory.com CASE 1. Android license status unknown 오류 And..

Tistory

[Google Analytics] 구글 애널리틱스

구글 에널리틱스 처럼 구글에서는 스타트업이 쉽게 그리고 비용 부담 없이 쓸 수 있는 도구들이 상당합니다. Google Cloud Platform부터 Analytics까지 사용 가능합니다. 저 역시 스타트업에서 구글 애널리틱스를 사용하고 있으며, 분석에 시간 절약하는데 큰 도움이 됩니다. 확실한 개념을 알고 가시면 제대로 활용할 수 있습니다. 또한 구글 애널리틱스 포스팅 시리즈를 다 읽으신다면 주요 기능 및 보고서를 사용하실 수 있습니다. 구글 애널리틱스(Google Analytics)? 구글 애널리틱스는 디지털 마케팅을 위해 구글이 제공하는 웹로그 분석 도구입니다.(Firebase에서 앱 기반 로그 분석도 가능합니다!) 사이트에 방문한 고객의 행동 데이터를 수집하여 디지털 마케팅에 이용합니다. 어떤 채널..

Tistory

[구글 클라우드 플랫폼] GCP : Cloud Storage

이번 포스팅에서는 Cloud Storage에 대해서 알아보겠습니다~ Cloud Storage 목차: 1. Bucket, Object, Access 2. Cloud Storage Cloud Storage를 이해하기 위해 먼저 Bucket, Object, Access의 개념을 소개하겠습니다. 1. Bucket, Object(버킷, 객체) 1.1 Bucket(버킷) 모든 버킷은 프로젝트와 연결됩니다. 모든 버킷이 단일 Cloud Storage 네임스페이스에 상주하므로 전역에서 고유해야 합니다.(중첩될 수 없습니다.) 버킷 생성 시에 필요한 것 전역에 고유한 이름 콘텐츠가 저장되는 위치 기본 스토리지 클래스 버킷이 저장되는 위치는 end user의 대기시간이 최소화되는 위치로 선정해야 합니다. 1.2 Objec..

Tistory

Lecture 4: Model-Free Prediction

Lecture 4 : Model-Free Prediction -Introduction -Monte-Carlo Learning -Blackjack Example -Incremental Monte-Carlo -Temporal-Difference Learning -Driving Home Example -Random Walk Example -Batch MC and TD -Unified View -TD(λ) -n-Step TD -Forward View of TD(λ) -Backward View of TD(λ) -Relationship Between Forward and Backward TD -Forward and Backward Equivalence Model-Free Reinforcement Learning M..

Tistory

파일 업로드 및 생성시 자동 refresh configuration

코드 실행에 의한 파일 생성 및 다른 경로를 통한 생성이 즉각적으로 eclipse project exploer에 반영되지 않습니다. 따라서, 다음과 같이 설정하여 자동으로 반영되게 해줍니다. 다음의 Preferences 창에서 Workspace로 들어갑니다 그리고 다음의 화면에서 3개의 박스를 모드 체크하여 줍니다. 적용하고 close하면 설정이 완료됩니다

Tistory

웹 검색 엔진

웹 검색 엔진 웹 사이트를 검색하기위한 프로그램이라고 할 수 있습니다. 검색 엔진의 특성에 따라 FTP 서버나 웹 사이트의 파일 검색 결과를 포함할 수도 있으며, 이미지나 토렌트 파일 또는 특정 부류의 웹사이트에 특화된 웹 검색 엔진도 있습니다. 웹 검색 엔진은 보통 웹 서비스로 이용할 수 있습니다. 서버에서는 '로봇(robot)'이라고 불리는 프로그램을 이용해 웹 사이트들을 돌아다니며 웹 사이트들에 대한 정보를 미리 자동적으로 수집합니다. 이후 검색 엔진 사이트에서 특정 검색어를 입력하면 검색 엔진이 수집한 정보 중 그에 맞는 결과를 볼 수 있습니다. 본래 검색 엔진은 컴퓨터 내의 파일이나 회사, 조직 내부 데이터 베이스 등을 검색하기 위한 방법의 연장선상에 있습니다. 다만 웹은 하이퍼텍스트 기반으로 ..

Tistory

Lecture 3: Planning by Dynamic Programming

Lecture 3 : Planning by Dynamic Programming -Introduction -Policy Evaluation -Iterative Policy Evaluation -Example: Small Gridworld -Policy Iteration -Example: Jack's Car Rental -Policy Improvement -Extensions to Policy Iteration -Value Iteration -Value Iteration in MDPs -Summary of DP Algorithms -Extensions to Dynamic Programming -Asynchronous Dynamic Programming -Full-width and sample backups ..

Tistory

라운드 로빈 네임서버(+실습)

라운드 로빈 네임서버 유명한 사이트들의 웹 서버에는 동시에 수십만 이상의 접속이 있습니다. 따라서 웹 서버를 1대가 아닌 여러대의 웹 서버를 운영하여, 웹 서버의 부하를 줄여줍니다. 이러한 방식을 라운드 로빈 방식이라고 부릅니다. 네이버의 웹 서버의 주소를 요청하면 요청할때마다 다음과 같이 바뀔 수 있습니다. 이거나 요청한 순서에 따라 nave.com의 네임서버는 위와 같이 ip주소를 반환합니다. 웹서버의 부하를 줄이기위해 요청할때마다 다른 ip주소를 반환하는 것을 볼 수 있습니다. 실습 기본적으로 만든 ray 마스터 네임서버를 가지고 진행하겠습니다. 먼저 /etc/bind/db.ray.com 파일을 수정합니다. 다음과 같이 webserver에 해당하는 서버의 주소를 다음과 같이 작성합니다. 그리고 작성..

Tistory

메일 서버(+실습)

메일 서버 실습 서로 메일을 주고 받는것을 보기 위해 중간에 네임서버를 두고 두개의 메일 서버가 서로 통신 하는 것을 확인하려합니다. mail.ray.com과 mail.ghost.com 두가지 메일 서버를 client가 주고 받게 해보겠습니다. mail.ray.com과 mail.ghost.com에 아래의 작업을 공통적으로 진행합니다. netplan을 이용하여 고정아이피로 만든후 실습합니다. mail server의 호스트이름을 다음과 같이 변경합니다. /etc/hosts 파일에 mail.ray.com을 추가합니다. 다음으로 /etc/mail/local-host-names에도 mail.ray.com을 추가합니다. 변경한 사항들이 반영될 수 있게 reboot합니다. DNS server한곳에 ray.com과 g..

Tistory

<STL> multiset

multiset 기존 set과 다른 점은 중복된 key값을 여러개 가질 수 있습니다. 나머지 부분은 set과 동일합니다. multiset은 많은 자료들을 저장하고 특정 자료에 대해 검색을 빠르게 해야할때 많이 사용됩니다. set과 multiset 컨테이너는 받은 elements들을 자동적으로 정렬하여 분류합니다. set과 multiset의 다른 점은 multiset이 중복을 허용한다는 것입니다. 내부적으로 이 둘은 balanced binary trees로 구성되어 있습니다. 그리고 multiset 요소의 키 값은 직접 변경할 수 없습니다. 대신, 이전 값을 삭제하고 새 값의 요소를 삽입해야 합니다.

Tistory

게이트웨이

게이트웨이 게이트 웨이는 라우터와 동일한 개념으로 이해할 수 있습니다. 라우터는 네트워크 장비의 일종으로, 패킷을 다른 네트워크로 보내주는 역할을 합니다. 이와 함께 최적의 네트워크 경로를 찾아주는 역할도 함께 수행합니다. 이와같이 라우터도 서도 다른 네트워크를 연결한다는 부분에서 게이트웨이와 동일합니다. 단, 게이트웨이는 라우터보다 좀 더 포괄적인 개념입니다.

Tistory

Lecture 2 : Markov Decision Process(Markov)

Lecture 2 : Markov Decision Process -Markov Processes -Introduction -Markov Property -Markov Chains -MRP -Markov Reward Processes -MRP -Return -Value Function -Bellman Equation -Markov Decision Processes -MDP -Policies -Value Functions -Bellman Expectation Equation -Optimal Value Functions -Bellman Optimality Equation Introduction to MDPs 전에 state에서 배운 내용의 연장선입니다. 거의 모든 강화학습의 문제는 MDP로 만들 수 있습니다...

Tistory

size_t

size_t 서로 다른 signedness를 가진 변수들의 비교로 warring이 뜹니다. 전에는 백터의 인자의 갯수만큼 반복문을 돌릴때 별 생각 없이 int를 썼었다. 하지만 아래의 warning을 보면 그렇게 하면 나중에 다른 오류를 발생할 수 있는다는 것을 말해주는 것같다. 그래서 int i = 0 부분에서 size_t로 자료형을 바꾸어줍니다. for문 안에 auto를 하면 다음과 같은 오류를 피할 수 있기도 합니다.

Tistory

고정 IP설정하기

우분투 17 버전 이상으로는 netplan에서 수정하면 됩니다. 다음과 같이 원하는 설정 정보와 함께 변경합니다. 자신의 gateway는 route -n 으로도 확인 가능합니다. 변경된 사항들을 적용합니다. 그리고 확인합니다.

Tistory

검색기술 트렌드와 네이버의 연구현황(2018.5)

검색기술 트렌드와 네이버의 연구 현황 본 글은 2018.5월에 정보처리학회에서 발표한 '검색기술 트렌드와 네이버의 연구현황'에 대해 쓴 글입니다. 위 자료를 바탕으로 제가 공부하면서 작성하는 글이라는 것을 참고하시고 보셨으면 합니다. Outline 전세계 구글의 검색서비스 점유율 현황

Tistory

에라토스테네스의 체

에라토스테네스의 체 수학자 에라토스테네스가 발견한 소수를 찾는 방법입니다. 2의 배수부터 시작 하여 10의 자리 미만 까지 배수를 체크한 후 나머지 체크가 안된 부분이 소수라고 말할 수 있습니다.(소수는 n의 배수가 아니여야합니다.) 다음과 같이 구현이 가능합니다. 첫번째 for문에서 (i*i

Tistory

명령어 정리

명령어 시스템 재부팅 시스템 종료 로그아웃 ctrl + alt +F1/2 : graphic mode 가상 콘솔 ctrl + alt +F3~6 : text mode 가상콘솔

Tistory

DNS SERVER(+실습)

DNS 도메인 네임 시스템(Domain Name System)은 도메인 이름을 IP로 바꾸거나 IP를 도메인 이름으로 변환 할 수 있도록 역할을 합니다. 분산형 데이터베이스 시스템으로 작동합니다. 도메인 이름 체계 그림과 같은 트리 구조 형태의 도메인 이름 체계가 고안되었습니다. 사용자는 먼저 root DNS 서버에 찾고자하는 도메인을 질의합니다. root DNS 에서 찾고자하는 도메인이 없을 경우 1단계에 해당하는 도메인 서버의 주소를 사용자에게 알려줍니다. 다시 사용자는 1단계 서버에서도 반복하여 해당 도메인를 질의하고 HIT할경우 해당 IP주소를 반환하지만 그렇지 못할경우에는 2단계 도메인 SEVER 주소를 알려줍니다. 위를 반복하여 해당 도메인의 대한 IP주소를 얻을때까지 실행하며, 해당 도메인에..

Tistory

텍스트기반의 웹 브라우저

links 다음과 같이 설치합니다. esc 키를 누르면 다음과 같이 나타납니다. File 목록에서 go to url을 선택하여 원하는 사이트를 볼 수 있습니다. 단 영문 사이트만 지원합니다. www.kernel.org 사이트로 이동해보겠습니다. www.kernel.org 로 연결된 화면입니다.

Tistory

마스터 네임 서버(+실습 ubuntu 18.04)

마스터 네임 서버 예를 들어 ray.com 같은 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에서 www.ray.com이나 ftp.ray.com 등의 컴퓨터 ip주소를 알기 원할 때 해당 컴퓨터의 ip 주소를 알려주는 네임 서버를 말합니다. 그러므로 일반적으로 www.ray.com이나 ftp.ray.com 등으로 접속할 수 있어야 합니다. 실습 저의 네트워크 구성은 다음과 같습니다. SERVER_FRONT 는 마스터 네임서버와 웹 서버를 담당합니다. SERVER_BACK은 FTP서버를 담당합니다. 이렇게 구성후에 마스터 네임서버가 작동하는지 실습 해보겠습니다. BIND server는 port 53을 사용합니다. 또한 BIND 데몬을 named라고 부릅니다. 그리고 bind9utils 패키지에 의해..

Tistory

802.11 packet

802.11 packet IEEE 802.11은 무선랜, Wi-Fi 등의 Local 지역을 위한 컴퓨터 무선 네트워크에 사용되는 기술입니다. 802.11 결합방식 802.11은 passive, active 두가지 결합 방식이 있습니다. passive way Passive 방식은 이전에 연결한 기록(profile)이 없을 경우 이루어지는 결합 과정입니다. AP는 자신을 알리기 위해 Broadcast 방식으로 비콘 패킷을 전달합니다. 일정한 주기로 전송하며 이 패킷에는 AP의 SSID(SubSystem Identification), 채널, 암호화, 전송률 등이 포함됩니다. station이 AP에 접속하기 위한 인증(aUTHENTICATION)을 실시합니다. 인증과정은 개방 인증과 공유키 인증 방식으로 나눠집..

Tistory

gdb 설정파일

gdb 설정파일 gdb를 실행했을때 내가 원하는 환경을 미리 설정하고 싶을때는 다음과 같이 사용자의 홈 디렉토리에 .gdbinit파일에 수정사항을 반영합니다. .gdbinit파일이 없다면 새로 만들면 됩니다. 저는 리버싱보다는 코드 디버깅에 gdb를 사용하므로 layout src만 넣어주고 사용합니다. 나중에 따로 더 추가할 옵션이 있다면 추가할 수 있습니다. 다음과 같이 기본 gdb 화면이 설정에 따라 반영된 것을 확인할 수 있습니다.

Tistory

SSH

SSH(Secure Shell) 원격지에서 호스트로의 접속을 위해 SSH프로토콜을 사용하여 접속합니다. SSH는 CLI 형태로 접속하며 GUI 환경을 위해서는 XRDP, XDMCP, VNC등의 프로토콜을 사용합니다. SSH프로토콜을 사용했을 때는 암호화된 통신을 가능하게 하여 제 3자가 패킷을 탈취했다고 하더라도 쉽게 해석할 수 없습니다. sshd(ssh-server)를 설치하고 22번 tcp포트를 개방합니다. sshd_config 다음으로 ssh-server는 /etc/sshd/sshd_config의 설정 파일을 참고합니다. sshd_config 설정파일은 sshw접속포드변경, 패스워드, 공개키 사용자 인정, 접속 로그, 배너 메세지 등을 설정할 수 있습니다. 위의 파일을 열고 다음과 같이 설정을 변경..

Tistory

NMAP

포트 스캐닝을 불법이며 사용을 권장하지 않습니다. 개인 네트워크를 구성하여 실험하시기 바랍니다. NMAP 포트 스캐너이며, 원격 컴퓨터들의 자세한 정보를 알 수 있습니다. 그 상세 정보에는 운영체제, 장치종류, 운영시간, 서비스에 쓰이는 소프트웨어 제품과 버전, 방화벽 기술의 존재 등을 포함합니다. 기본적으로 전송 계층 포맷팅이 적용되지 않은 raw 패킷을 사용합니다. 따라서 root권한으로만 사용해야 합니다. 기능 호스트 탐지 - 네트워크 상의 컴퓨터들을 확인합니다. 예를 들어 ping 응답이나 특정 포트가 열린 컴퓨터를을 나열합니다. 포트 스캔 - 하나 혹은 그 이상의 대상 컴퓨터들에 열린 포트들을 나열합니다. 버전 탐지 - 응용 프로그램의 이름과 버전 번호를 확인하기 위해 원격 컴퓨터의 네트워크 서..

Tistory

Lecture 1. Introduction to Reinforcement Learning

구글 딥마인드의 David Silver 교수님의 수업 자료를 바탕으로 정리한 RL강의입니다. 목차에 하나씩 추가하며 진행할 계획입니다. Lecture 1 : Introduction to Reinforcement Learning -About RL -The RL Problem -Reward -Environment -State -Inside An RL Agent -Problems within RL Machine Learning 기계학습에는 supervised learning, unsupervised learning, reinforcement learning 세가지가 존재합니다. 밑에 그림에서 공집합의 결과가 ML로 되있는 것처럼 보이는데, 사실 전체 큰 원이 ML이라고 보시면 됩니다. 각자 학습 방법에는 공통..

Tistory

출력 정밀도와 범위

부동 소수점의 정밀도(precision)는 정보 손실 없이 나타낼 수 있는 유의한 자릿수를 의미합니다. 다음과 같이 a을 소수점 10번까지 작성후 출력해보았습니다. 10번째까지 작성하였지만 기본적으로 소수점 6번째까지만 출력하는 것을 보여줄 수 있습니다. 이번에는 소수점 10번째까지 출력해보도록 하겠습니다. 지정한대로 10개의 소수점이 찍히지만, 7번째까지만 정확하게 출력합니다. 나머지는 임의의 값으로 채워진거 같습니다. float 값의 정밀도는 대략 6~9자리, double은 15~18, long double은 얼마나 많은 바이트를 차지하느냐에 따라 최소 15,18,33 의 정밀도를 가집니다.

Tistory

침입 패킷분석2

패킷분석2 statistic을 통해 주로 어떤 패킷을주고 받았는지 확인합니다. http 패킷쪽에서 Media Type의 패킷이 어느정도 분포하고 있습니다. 따라서 웹에서 첨부파일이 있다는 짐작을 할 수 있습니다. packet counter를 보면 2xx번대의 정상적인 패킷들을 제외하고, 4xx대의 오류(없는 페이지 접근)를 주로 발생시키는 것을 확인할 수 있습니다. 4xx대의 오류는 brute force 공격이나 SQL인젝션에서 많이 발생시킵니다. 무차별 대입을 시도하니 당연한 결과입니다. 192.168.206.133에서 8180포트로 접근한 것을 살펴보면 /manager/html/upload와 shell.jsp에 접근한 것을 볼 수 있습니다. 그러므로 피해 서버의 ip는 192.168.206.133이고..

Tistory

Drive-by download

Drive-by download Drive-by download는 악성코드가 유포되는 방식 중 하나로, 인터넷에서 컴퓨터 소프트웨어의 의도되지 않는 다운로드와 관련해서, 각각 다음과 같은 두가지를 의미합니다. target website가 공격도구라고 생각될 수 있습니다. 예를들면, 크립토락커(CryptoLocker), 매트릭스(Metrix), 헤르메스(Hermes)로 알려진 랜섬웨어는 주로 Drive-by download 방식으로 유포되었다고 알려져 있습니다. 또한 최근엔 갠드크랩(GandCrab)이란 랜섬웨어가 Drive-by download 방식으로 유포되고 있다고 합니다.) 1. 결과에 대한 이해가 없는 개인이 허가한 다운로드들(예를 들면 알려지지 않은 위조 실행 파일이나, 액티브X 컴퓨넌트 또는 ..

Tistory

웹 실습환경 구축(VMware)

웹 실습환경 구축(VMware) 서버 구축 먼저 서버 버전으로 구축하지 않고 일반 데스크탑 사용자 버전을 설치하여서 runlevel을 텍스트모드로 바꾸어 줍니다. 현재 아래와 같이 graphical.target이 기본 runlevel로 적용된 것을 확인할 수 있습니다. 다음과 같이 default.target의 링크파일의 위치를 바꾸어 줍니다. 설정을 끝낸 후 reboot 명령을 입력해 시스템을 재부팅하면 적용됩니다. 다음과 같이 text mode로 전환이 되었습니다. 우선, root 계정에 대한 비밀번호를 설정합니다. sudo passwd 명령어를 입력후 진행합니다. 서버 설정 원활한 실습을 위해 많은 사람들이 방화벽 등 많은 보안을 해제하는데, 싫다. 그래서, 웹으로 접근할 수 있게 80 포트만 열어두..

Tistory

2017 Kaggle ML & DS Survey (1)

다음 5개의 파일을 제공합니다. 먼저 schema.csv파일을 살펴봅니다. 설문 스키마가 있는 csv파일입니다. 이 스키마에는 multipleChoiceResponses.csv 및 freeformResponses.csv의 각 열 이름에 해당하는 질문이 포함되어 있습니다. shape 인스턴스 변수로 다음의 csv파일이 총 290행 3열로 이루어진 2차원 배열인 것을 확인하였습니다. 또한, tail(), head() 함수로 다음과 같은 변수가 있다는 것을 볼 수 있습니다. 다음은 multipleChoiceResponse.csv 파일을 살펴봅니다. 16,716개의 행과 228개의 열을 확인할 수 있습니다. columns을 통해 열의 index 값들을 확인합니다. shape로 확인한 총 228개의 값이 있을겁니..

Tistory

Pandas package

pandas package 대부분의 데이터는 시계열(series)이나 표(table) 형태로 나타내는데, pandas 패키지에서는 이러한 데이터를 다루기위해 Series 클래스와 DataFrame 클래스를 제공합니다. 웨스 맥키니가 투자 운용회사인 AQR에 재직중이던 2008년 초에 개발하였고 NumPy기반입니다. Series sereis는 munpy에서 제공하는 1차원 배열과 비슷하지만 각 데이터에 index를 붙일 수 있습니다. 데이터는 value라고 합니다. sereis = index + value 라고 할 수 있습니다.( index가 column화 되있지 않습니다.) Series 생성 Series class 생성자에 넣어서 다음과 같이 객체를 만들 수 있습니다. 인덱스의 길이는 data의 길이와 ..

Tistory

Scipy package

Scipy Scipy는 수치해석 기능을 제공하는 파이썬 패키지입니다. 여러 서브패키지로 구성되어 있으며, stats 서브 패키지는 확률분포 분석을 위한 다양한 기능을 제공합니다.

Tistory

이항 확률/분포

이항분포 연속된 n번의 독립적 시행에서 각 시행이 확률 p를 가질 때의 이산 확률 분포입니다. 이러한 시행은 베르누이 시행이라고 불리기도 합니다. 사실 n = 1일때 이항 분포는 베르누이 분포입니다. 예시로는, 일반적인 주사위를 10회 던져서 숫자 6이 나오는 횟수를 셉니다. 이 분포는 n = 10이고 p = 1/6인 이항분포 입니다. 또 다른 예시는, 아주 많은 인구의 5%가 쌍커풀이 있다고 해봅니다. 그리고 100명을 무작위적으로 선택합니다. 당신이 선택한 쌍커풀을 가진 사람의 수는 n = 100이고 p = 0.05인 이항분포를 따릅니다.

Tistory

html tag

html tag 웹페이지의시작과 끝을 뜻합니다. 웹페이지는 로 시작해서 로 끝납니다. 안에 들어갈 태그들 웹 페이지의 정보, 문서에서 사용할 외부 파일들을 링크할때 사용합니다. 본 문서의 키워드 혹은 제목, 요약을 나타내는 태그로서 활용되게 됩니다. 문자 인코딩 및 문서 키워드, 요약정보 문서의 제목을 나타내는 태그로서 활용됩니다. 주로 css파일을 연결할 때 사용하는 태그입니다. 또는 외부 파일과 연결할 때 사용합니다. 문서나 문서 일부에 대한 스타일 정보를 포함합니다. 코드를 삽입합니다. 실행 가능한 코드를 웹 페이지에 포함 시키거나 참조하기 위해서 사용합니다. 보통 javascript 코드를 넣을때 사용합니다. 안에 들어갈 태그들 html 문서의 내용을 나타냅니다. 한 문서에 하나의 요소만 존재할 ..

Tistory

귀무가설과 대립가설

귀무가설(null hypothesis, H0) 통계학에서 처음부터 버릴 것을 예상하는 가설입니다. 차이가 없거나 의미있는 차이가 없는 경우의 가설이며, 이것이 맞거나 맞지 않다는 통계학적 증거를 통해 증명하려는 가설입니다. 예를 들어, 범죄 사건에서 용의자가 있을 때 형사는 용의자가 범죄를 저질렀다는 추정인 대립가설을 세우게 됩니다. 이때 귀무가설을 용의자는 무죄라는 가설입니다. 대립가설(alternative hypothesis, H1) 보통 모집단에서 독립변수와 결과변수 사이에 어떤 특정한 관련이 있다는 꼴입니다. 어떤 가능성에 대해 확률적인 가설검정을 할때 귀무가설과 함꼐 사용됩니다. 이 가설은 귀무가설처럼 검정을 직접 수행하기는 불가능하며, 귀무가설을 기각함으로써 받아드려지는 반증의 과정을 거쳐 수..

Tistory

point 명령어

point 명령어 p 명령어는 변수 값, 함수의 주소값도 볼 수 있습니다. (gdb) info locals a = {_int = 10, _char = 37 '%', _double = -0.51} //struct my_struct a b = (struct my_struct *) 0x251ff4 //struct my_struct *b (gdb) p a //구조체 a $1 = {_int = 10, _char = 37 '%', _double = -0.51} (gdb) p b $2 = (struct my_struct *) 0x251ff4 //포인터로 선언된 *b 구조체 (gdb) p *b $3 = {_int = 1024, _char = 10 '\n', _double = 3.14 } //포인터를 사용하여 값 확인 ..

Tistory

침입 패킷분석1

패킷분석1 해당 패킷들이 어디서 http, ftp 등 어디서 발생했는지를 확인하기 위해, 먼저 패킷들의 통계를 보면 TCP쪽에 몰려있는 것을 확인할 수 있습니다. 그중에서도 HTTP가 비중이 많이 높게 나타납니다. MIME Multipart Media Encapsulation 패킷은 낮게 나타니기 때문에 용량이 큰 파일들이 왔다갔다 하는 것은 아니라고 볼 수 있지만, 작지만 어느정도 비율을 차지하고 있으므로, 어떤 파일이 이동한다는 것을 확인할 수 있습니다. 또한, Line-based text data가 상당한 비중으로 차지하고 있는걸 볼 수 있는데, 브라우저에서 얻어온 형식들 이라고 생각하면 됩니다. 이러한 MIME Multipart Media Encapsulation과 Line-based text d..

Tistory

평균과 기댓값

평균과 기댓값 평균 우리가 주로 평균이라고 부르는 것은 산술 평균(arithmetic mean)이며, 주어진 수의 합을 수의 개수로 나눈 값입니다. 기댓값 각 사건이 벌어졌을 때의 이득과 그 사건이 벌어질 확률을 곱한 것을 전체 사건에 대해 합한 값입니다. 또한, 기댓값은 선형 연산자입니다. 즉, 다음이 성립합니다. 비교 평균은 확률이라는 개념이 들어가있지 않습니다. 하지만 기댓값은 확률적인 사건에 대해서 어떤 사건이 일어날 것에 대해 기대되는 값입니다.

Tistory

데몬과 인터넷 슈퍼데몬

데몬 데몬(daemon)이란 시스템에 관련된 작업을 하는 후위 프로세스(background process)를 말합니다. 대부분의 데몬들은 시스템이 부팅되면서 시작되고 데몬들에는 우리가 자주 듣고 접하는 telnet, ftp, http, sendmail 등이 있습니다. 대부분의 데몬은 시스템에 관련된 작업을 하게 되는데, 서비스 요청이 없을 때는 후위 프로세스로서 유휴(idle)상태에 들어가 있게 되어 시스템의 CPU를 차지하지 않지만 메모리와 기타 자원을 상당수 차지하게 됩니다. 그렇기에 많은 데몬을 띄울려면 그 만큼 시스템에 자원을 많이 가지고 있어야 합니다. 인터넷 슈퍼 데몬(Internet Super Daemon) xinetd(커널 2.4 이전 버전은 inetd, xinetd는 eXtended In..

Tistory

런레벨(run level)

런 레벨 시스템 관리의 용이함을 위하여 서비스의 실행을 단계별로 구분하여 적용하는 것입니다. 저사양의 PC나 사냥이 좋은 PC를 사용하는경우에도 간단하게 runlevel을 변경하는 것만으로도 메모리 사용률이 줄어들며, 쾌적하게 사용할 수 있습니다. 또한, runlevel의 변경은 root사용자의 경우만 가능합니다. 우분투의 LTS 버전이 16.04로 올라가면서 init이 아닌 systemd가 PID 1번을 부여받게 되었습니다. 따라서 아무리 init 설정을 변경해 run-level을 바꿔도 소용이 없습니다. level 0(halt, DO NOT SET initdefault to this) 시스템 종료를 의미합니다. 즉, 런레벨 0으로 변경하라는 명령을 내리면 시스템을 종료하라는 것입니다. level 1(..

Tistory

4. Link file

inode UFS와 같은 전통적인 유닉스 계통 파일 시스템에서 사용하는 자료 구조입니다. 파일 시스템 내에서 파일이나 디렉토리는 고유한 INODE를 가지고 있으며 inode 번호를 통해 구분이 가능합니다. 사용자가 파일 또는 파일과 관련된 정보에 엑세스 하려고 하면 파일 이름을 사용하지만, 내부적으로 파일 이름은 먼저 디렉토리 테이블에 저장된 inode 번호로 매핑됩니다. 다음으로는 해당 inode 번호를 통해 해당 inode에 액세스 됩니다. inode에 포함된 정보는 아래와 같습니다. -파일 모드(퍼미션), 링크수, 소유자명, 그룹명, 파일크기, 파일 주소, 마지막 접근 정보, 마지막 수정 정보, 아이노드 수정 정보 inode 포인터 구조를 통해 파일의 실제 데이터가 저장된 블록의 정보를 포함하여 파..

Tistory

베이즈 정리

베이즈 정리 베이즈 정리는 1740년대 영국의 목사인 토머스 베이즈가 정립하고 수학자 프에르시몽 라플라스가 수식으로 정리한, 조건부 확률에 대한 수학적 정리입니다.

Tistory

확률변수/분포

확률변수 무작위 실험을 했을 때, 특정 확률로 발생하는 각각의 결과를 수치적 값으로 표현한 변수를 말합니다. 또한 확률변수를 함수라고도 합니다. 대표적인 확률변수의 종류에는 이산확률 변수(Discrete random variable)와 연속확률 변수(Continuous random variable)가 있습니다.이산확률 변수는 확률 변수 X가 어느 구간의 모든 실수값을 택하지 않고, 0,1,2와 같은 고정된 값만 택하는 변수를 말합니다. 상태공간이 유한 집합인 또는 셈할 수 있는 무한집합인 확률 변수를 말합니다. 연속확률 변수는 확률 변수가 취하는 값이 연속된 구간으로 나타나는 확률변수를 말합니다. 즉, 확률변수가 어떤 구간의 모든 실수값을 택할 때 이 변수를 연속적으로 이어진 변수로 이루어져있습니다. 확..

Tistory

베르누이 확률/분포

베르누이 시행 결과가 두 가지 중 하나로만 나오는 실험이나 시행을 베르누이 시행(Bernoulli trial)이라고합니다. 예를 들어 동전을 한번 던져 앞면이 나오거나 뒷면이 나오게 하는 것도 베르누이 시행입니다. 베르누이 확률변수 베르누이 시행의 결과를 실수 0 또는 1로 바꾼 것을 베르누이 확률변수(Bernoulli random variable)라고 ㅎ바니다. 베르누이 확률변수는 두 값 중 하나만 가질 수 있으므로 이산확률 변수(discrete random variable)입니다. 베르누이 확률변수의 표본값은 보통 정수 1과 0으로 표현하지만 때로는 정수 1과 -1로 표현하는 경우도 있습니다. 베르누이 분포(Bernoulli Distribution) 이항분포의 정의는 연속된 n번의 독립적 시행에서 각..

Tistory

그래프 - Flood Fill

Flood Fill 플러드 필 혹인 시드 필은 다차원 배열의 어떤 칸과 연결된 영역을 찾는 알고리즘입니다. 이 알고리즘은 그림 프로그램에서 연결될 비슷한 색을 가지는 영역에 "채우기" 도구에 사용되며, 바둑이나 지뢰찾기 같은 게임에서 어떤 비어 있는 칸을 표시 할 지 결정할 때에도 사용됩니다. 구현 코드 문제 풀이 방법에서 만든 코드이며, 문제 유형에 맞게 사용하면 됩니다.

1 2