PHP + Circle CI Test Performance 개선 경험 공유

이 포스트는 PHPUnit 테스트 성능 개선에 대한 방법과 노하우를 공유하기 위해 작성했습니다. PHPUnit 테스트가 느리신가요? PHPUnit 은 단위 테스트에 가장 널리 사용되고 있는 PHP 테스트 프레임워크입니다. PHPUnit은 Laravel 기본 테스트 프레임워크로 설정되어 있습니다. Laravel에서 기본적으로 설치되어 있는 PHPUnit 테스트 프레임워크를 통해 테스트를 진행하고 있으며 CI / 배포 툴인 CircleCI 환경에서…

더보기

AWS 환경에서 node 앱 https 서비스 하기

시작 지난 번 포스팅에서 이어 AWS EC2에서 서비스하고 있는 express 어플리케이션을 HTTPS 로 서비스하는 방법에 대해 공유해보고자 합니다. 대부분의 웹 서비스들은 HTTP로 접속하는 경우에도 HTTPS로 리다이렉트되도록 서비스하고 있습니다. HTTP와 HTTPS 의 차이는 데이터 전송 시 secure encoding 여부라 볼 수 있습니다. data를 암호화해서 전송하므로 좀 더 보안에 유리한 측면이 있습니다….

더보기

Express 앱 AWS EC2에 자동배포(CI) 해보기

시작 토이프로젝트 작업 중에 Express 앱을 AWS EC2에 자동 배포해야할 일이 생겼다. 필자가 경험한 삽질을 최대한 녹여 글을 작성해보고자 한다. 준비 Express APP 도메인이 연결된 EC2 (AWS한 서비스에 있는 Route 53 사용) CircleCI 계정 ExpressApp source code가 존재하는 github repo 작업 순서 필자는 아래 순서로 자동 배포를 진행했다. CircleCI 를…

더보기

MiniConda Django 프로젝트 설정하기

시작 필자는 지인들과 개발 지식 습득 목적 (+ 추가적인 광고 부수입 목적?) 웹 기반 토이 프로젝트를 진행 중입니다. 팀원들은 개발 지식 습득이 목적이면서 빠른 속도로 프로젝트를 마무리하고 싶었습니다. 그 결과 선택한 웹 프레임 워크는 python 기반의 Django 입니다. 언어가 python 인 것에 대한 이유가 가장 컸습니다. 배우면 나중에 어딘가는 쓸…

더보기

웹 크롤링 토이 프로젝트 (DB 저장부터 Metabase[BI Tool] 연결까지) – 2

웹 스크래핑 토이 프로젝트 -1 에 이어 다음 과정을 공유하고자 합니다. 지난 포스팅에서 백준 알고리즘 사이트에서 원하는 데이터를 출력하는 것까지 성공했습니다. 이번 포스팅에서는 가져온 데이터를 DB에 저장하고 저장한 데이터를 BI Tool로 시각화하는 것으로 마무리하겠습니다.

더보기

웹 크롤링 토이 프로젝트 (기획부터 스크래핑까지) – 1

알고리즘 스터디를 진행하면서 불편한 점이 있었습니다. 코딩 문제 풀이 사이트가 엄청 많다는 점입니다. 한 곳에서 몰아서 보고 싶은 욕구가 강렬하게 들었습니다. 무언가 만들고 싶다는 생각이 오랜만에 들었습니다. 알고리즘 스터디에서 개별 문제 선정할 때 미약하게나마 도움이 될 것은 느낌이 들어서 웹 크롤링 프로젝트를 계획해 보았습니다.

더보기

[Laravel 기본] 12. Request & Response

라라벨 홈페이지가 이쁘게 업데이트 되었습니다. 2D Logo 에서 3D Logo 로 업데이트 되었는데 개인적으로 너무 마음에 듭니다. 다만 홈페이지 리뉴얼도 좋은데 라라벨 Eloquent ORM 도 세심하게 업데이트해주면 좋겠습니다. 이번 포스팅은 Laravel 에서 Request 와 Response 사용법에 대해 다룰려고 합니다. 라라벨에서는 이 둘 객체에 다양한 기능을 제공하여 사용자에게 편의성을 제공합니다. Request…

더보기

[Laravel 기본] 11. Controller

Laravel Controller Laravel Controller 의 역할은 라우트로 들어온 Closure의 로직을 처리하는 역할을 합니다. 연관된 요청 처리 로직별로 묶어서 하나의 Single Controller Class로 만들어 사용합니다. Laravel 의 Controller 들은 app/Http/Controllers 디렉토리 아래 정의되어 있습니다. 여기서 생각해볼만한 점은 내 라라벨 어플리케이션은 비즈니스 로직을 어디에 두고 사용할 것인가? 입니다. Controller, Model 에 비즈니스…

더보기

[Laravel 기본] 10. CSRF Protection

CSRF 는 Cross Site Request Forgery 의 약자로 크로스 사이트 요청 위조라고 불립니다. 악의적으로 사이트를 요청을 위조해서 서버에 위해를 가하는 웹 사이트 공격 방법입니다. OWASP 에서 선정한 웹 어플리케이션 보안 취약점 10가지 중 하나이다.

더보기