소행성이야기 37

엘라스틱 서치 + 키바나 설치 및 설정

엘라스틱 서치 + 키바나 설치 및 설정 1.엘라스틱 서치 설치1234567 cd /home/계정명https://www.elastic.co/kr/downloads/elasticsearch 최신버전 확인 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.tar.gztar zxvfp ./elasticsearch-6.3.1.tar.gz cd elasticsearch-6.3.1/cd bin/./elasticsearchColored by Color Scriptercs주의할점 : ./elasticsearch 실행시에는 root 가 아닌 일반 계정으로 실행해야 합니다.123456 방화벽 설정firewall-cmd --permane..

소행성이야기 2018.07.09

코드이그나이터에서 JWT 사용하기

코드이그나이터에서 JWT 사용하기 php 의 firebase/php-jwt 사용하여 JWT 를 사용해봅시다.루트 경로에 third_part 를 만들고third_part 에서 아래 명령어를 입력합니다. 123 composer require firebase/php-jwtcs 그러면 아래와 같이 설치됩니다. 이제 로그인 시스템에 붙여야겠죠?해당 controllers 의 상단에 아래와 같이 추가해주시구요.12345require_once APPPATH."third_party/vendor/autoload.php";use Firebase\JWT\JWT;define('JWT_SECRET', 'this-is-the-secret');cs 아이디와 패스워드를 검증확인이 되었으면토큰을 발급해줍니다. 1234$jwtResult..

소행성이야기 2018.07.09

JWT의 구조는 어떻게 생겼을까?

JWT의 구조는 어떻게 생겼을까? JWT의 구조JWT는 API 인증 등에 사용하는 토큰이므로 스펙에 인증하는 방법에 대한 내용은 적혀있지 않고토큰을 어떻게 만들고 검증하는지에 대해서 나와 있습니다. 일단 JWT 로 만들어진 토큰은 아래와 같습니다.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyaWQiOiJrZXJpYXMiLCJpYXQiOjE1MzEwOTQ0MDMsImV4cCI6MTUzMTA5NDQ2M30.aq-Y2xsjljM72LIqCz8i1Tm4FSTqdnGZ_OBtOkbuA3A 자세히 보면 마침표(.)를 구분자로 세 부분으로 나누어져 있는데 이 3가지 부분을 각각 JOSE 헤더(JSON Object Signing and Encryption)JWT Claim SetSi..

소행성이야기 2018.07.09

JWT 왜 사용할까요 ?

JWT 왜 사용할까요 ? 항상 새로운 개념이 생길때 이런게 왜 생겼을까?무었때문에 만들어졌을까를 먼저 생각하게 됩니다.그러면 쉽게 이해할수 있으니깐요. JWT 는 회원인증/API 여러곳에서 사용할수 있습니다.예를 들어 쿠키/세션을 사용하는 한대의 머신이 있다고 생각해봅시다.그 한대의 머신에서는 로그인 시스템이 있습니다.즉 허락된 사용자만 접근할수 있는 페이지가 있습니다.그런데 한대의머신에서 또하나의 머신이 추가됩니다.도메인도 다르게 추가가 됩니다.그러면 첫번째 머신에서 로그인한 사람이 두번째 머신 접속시 로그인하게 하려면 어떻게 해야될까요 ?여러가지 방법을 생각해봐야 겠지만 이러한 환경에서 JWT 를 사용하면 좋습니다. 1. 유저가 아이디와 비밀번호로 로그인합니다.2. 첫번째 머신에서 계정정보를 검증합니..

소행성이야기 2018.07.09

[part 3] PHP로 좋은 객체 지향(OOP) 습관을 가집시다. 부제: 메두사를 바라 보지 마라

[part 3] PHP로 좋은 객체 지향(OOP) 습관을 가집시다. 부제: 메두사를 바라 보지 마라 OO 개념을 처음 배울 때 인터페이스가 정말 도움이되었는지 의심스러웠습니다.머 아직도 계속 공부중이구요.어떤분은 인터페이스를 사용하지 않는 것이 메두사의 머리를 보는 것과 같은 비유를 이끌어 냈습니다.그리스 신화에서 메두사는 머리카락에 뱀이있는 여성 캐릭터였습니다. 그녀를 직접 본 사람은 돌로 변했습니다.메두사를 죽인 페르세우스는 자신의 방패를 들여다 보면서 그녀와 마주 할 수 있었고 돌로 변하는 것을 피할 수 있었습니다. 인터페이스는 메두사를 다루는 당신의 거울입니다.구체적이고 구체적인 구현을 사용하면 구현 코드가 변경되면 코드가 변경되어야합니다.구현을 사용하면 본질적으로 클래스를 돌로 만들었 기 때문에..

소행성이야기 2018.07.09

[part 2] PHP로 좋은 객체 지향(OOP) 습관을 가집시다. 부제: 각 모듈은 자체 오류를 처리

[part 2] PHP로 좋은 객체 지향(OOP) 습관을 가집시다. 부제: 각 모듈은 자체 오류를 처리 클래스를 만들면 자체 오류를 적절하게 처리해야합니다.클래스가 오류를 처리하는 방법을 모르는 경우 클래스는 호출자가 이해하는 형식으로 패키지해야합니다. 또한 널 (NULL)이거나 유효하지 않은 상태의 오브젝트를 리턴하지 마십시오. 여러 번, 인수를 확인하고 제공된 인수가 유효하지 않은 이유를 나타내는 특정 예외를 throw 하여이를 간단하게 수행 할 수 있습니다.이 습관을 구축하면 코드를 유지 관리하거나 사람들을 사용하는 사람들이 많은 시간을 절약 할 수 있습니다. 나쁜습관 : 오류 처리 안함 아래 예제를 살펴보면, 인수를 받아들이고 일부 Person값이 채워진 객체를 리턴합니다. 그러나 parsePer..

소행성이야기 2018.07.06

[part 1] PHP로 좋은 객체 지향(OOP) 습관을 가집시다.

[part 1] PHP로 좋은 객체 지향(OOP) 습관을 가집시다. 아래의 내용들은 객체지향을 공부하면서 필요한 내용을 개인적으로 보기쉽게 정리한것입니다.잘못된 부분이 있을수도 있으니 만약 더 좋은 방법이 있다면 환영합니다. 나쁜습관 : public 노출 아래 예제에서 Person 객체의 필드는 접근자가 public 으로 직접 노출됩니다. 123456789101112131415

소행성이야기 2018.07.06