전체 글 62

Sentry 란?

Sentry 자체 호스팅 및 클라우드 기반 오류 모니터링을 제공하여 모든 소프트웨어 팀이 실시간으로 오류를 발견하고 심사하고 우선 순위를 정할 수 있도록 제공하는 통합 관제 솔루션. Exception이나 오류, 로그들을 그룹화해서 빈도수체크, 이벤트 그룹화 및 시각화해서 볼 수 있다는 장점. 즉, 에러 로깅과 모니터링을 동시에 할 수 있는 도구 Sentry는 실시간으로 프로그램 이슈를 트래킹하다가 에러가 발생하면 설정에 따라 특정 사용자나 그룹에 알림을 보낼 수 있는 기능 또한 가지고 있다. (ex : slack) 지원 플랫폼은 java, go, node, php, php(laravel), rust, javascript, 및 frontend framework 는 대부분 지원한다. 자세한 내용은 https..

카테고리 없음 2022.08.22

CI(Continuous Integration) CD(Continuous Deployment) 란?

CI(Continuous Integration) 지속적 통합 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합되는 것 지속적 통합 > 빌드 테스트 자동화 > 개발에서 하는 불일치 최소화 > 품질 관리 * CI 의 핵심목표 버그를 신속하게 찾아 해결 소프트에어 품질 개선 새로운 업데이트의 검증 및 릴리즈의 시간 단축 CD(Continuous Deployment / Continuous Delivery) 지속적 배포 / 지속적 서비스 제공 - Continuous Deployment : Production 레벨까지 자동 Deploy 하는 것 - Continuous Delivery : 공유 레포지토리로 자동 Release 하는 것 개발자의 변경 사항이 레포지토리를 넘어, 고객의 프로..

카테고리 없음 2022.08.21

RTMP 란?

RTMP(Real Time Message Protocol) 어도비(Adobe) 독점 프로토콜로 보통 비디오나 오디오 등을 인터넷 상에서 실시간으로 스트리밍 데이터를 전송해서 불특정 다수들이 받아볼 수 있도록 하는 기술의 규격 기본 1935포트를 사용하지만 통신이 실패하면 RTMPS(434)나 RTMPT(80) 포트를 사용하여 통신하도록 시도한다. RTMP 규격을 거쳐 다른 기기까지 전송이 되는데 데부분 실시간 방송 서비스는 보통 RTMP 를 이용해서 스트리밍 하게 된다. RTMP를 사용하는 서비스는 ? (원본 크기가 커서 흐리게 보이는데 사진 클릭하면 잘 보임,,) *서드파티 : 국내 서비스에서는 개인 사용자에게는 따로 지원이 되지않고 사전 계약된 기업고객에게만 지원해주고 있기 때문에 지원 안됨 표시. ..

카테고리 없음 2022.08.20

포팅(porting) 컨버팅(converting) 이란?

포팅(Porting) 이식의 의미로 소프트웨어를 다른 플랫폼(CPU 및 운영 체제)에서도 동작할 수 있도록 변환하는 것을 말한다. 예를 들어, windows용 프로그램을 만들 때, A언어로 windows 플랫폼에 맞게 개발했을 때, 포팅이란 이 windows 플랫폼을 다른 것으로 바꾼다는 의미. windows에서 돌아가는 프로그램을 리눅스나 맥에서 돌리기 위해서 C++ 로 짠 windows 용 프로그램을 변경해야 하는데 이 것을 포팅이라고 한다. ex) windows 버전 > 리눅스 버전 , Android 버전 > IOS 버전 컨버팅(Converting) A언어로 개발된 프로그램을 B언어로 언어 자체만 바꿔서 같은 플랫폼에서 동작하도록 하는 것 예를 들어, C++ > Java 로 개발언어 변경 https..

시스템 2022.08.19

캐시(cache)를 왜 쓰나 ?

매번 데이터베이스를 조회하게 되면 매번 네트워크를 타야하고 동시접속자가 많아졌을 때 엄청난 부하가 발생할 수 있다. 적합한 해결 방법으로 '캐시(Cache)' 캐시(Cache) 란 자주 사용되는 데이터 또는 계산결과 등을 저장해놓는 저장소 애플리케이션과 데이터베이스 사이에 캐시를 두어, 한 번 조회된 내용을 캐시에 쏙 하고 넣는다. 그러면, 데이터베이스 조회 없이도 캐시를 통해 데이터를 가져올 수 있고 캐시서버 또한 네트워크를 탄다 하더라도 데이터베이스 내에서 조회하는 과정이 생략되고 가져오기만 하면 된다. 직접 조회보다 효과적이다. 캐시의 종류로 Local Cache - 각각의 애플리케이션 서버 자원을 사용하는 캐시 - 서버의 자원을 바로 사용해서 네트워크 트래픽을 유발하지 않아, 처리속도가 빠르다 -..

카테고리 없음 2022.08.18

[JS/jQuery] append(), html()

JavaScript - element.append() - element.innerHTML jQuery - $().append() - $().html() 일반적으로 dom 은 jquery 보다 속도면에서 훨씬 빠르고, jquery는 dom 보다는 표현식이 간단하다는 차이가 있다. append 타겟을 지정하여 데이터를 처리하면 처리한 태그가 추가로 처리되며 innerHTML 은 타겟의 모든 데이터를 덮어씌운다. 그래서 innerHTML += "추가할 데이터" 방식으로 대처한다. 가장 해서는 안되는 방법으로 반복문 내부에 append / innerHTML += 처리 하는 것. //안 좋은 방식 for(i=0; i

PHP 구성

함수형 프로그래밍 php는 자기 스스로 다시 호출하는 재귀 호출(recursion)도 지원하지만, 대부분의 PHP 코드는 재귀보다는 반복(iteration)하는 형태로 작성 메타 프로그래밍 Reflection API와 특수 메서드(Magic Method)같은 메커니즘을 통해서 다양한 형태의 메타 프로그래밍을 지원. __get(), __set(), __clone(), __toString(), __invoke() 등 개발자가 클래스의 동작에 끼어들 수 있도록 해주는 다양한 특수 메서드 존재. 네임스페이스 서로 다른 PHP 라이브러리에 같은 이름의 클래스가 포함되어 있을 수 있다. 두 라이브러리가 같은 네임스페이스를 사용한다면 서로 충돌이 발생하여 문제가 될 수 있음. -> 네임스페이스 기능은 이런 문제를 해..

PHP 2022.08.16

PHP 디자인 패턴

디자인패턴 이란? 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것. 간단히 말해 소프트웨어 설계할 때 또는 프로그램 개발과정에서 특정 부분에서 많이 발생하는 문제를 정리하여 상황에 따라 해결할 수 있는 해결책(패턴) * 패턴 : 다양한 소프트웨어들로 각기 다른 프로그램을 개발하는 과정에서 공통적인 문제점 또는 유사한 문제점이 존재하여 이를 처리하는 과정도 공통점이 있는데 이러한 유사점을 패턴이라고 한다. 더 우아하고 더 빠른 개발을 할 수 있다. 디자인패턴 구조 - 콘텍스트(context) 문제가 발생하는 여러 상황. 즉, 패턴이 적용될 수 ..

PHP 2022.08.15

모던 PHP 란?

모던 : 현대적인 의미로, 과거와 이전의 비교가 필요하다. after & before 가 필요하다는 뜻 PHP 2012.03 composer & PHP WebServer & PSR ( PHP 5.4 ) 2012.10 Laravel 2013.06 MySQL functions ( PHP 5.5 ) 2014.08 constant value ( PHP 5.6 ) 2016.12 class constant ( PHP 7.1 ) 2017.11 Object Type hinting ( PHP 7.2 ) 2012 년 컴포저 등장으로 컴포넌트 기반으로 작업 가능, PSR(표준 권고 추가) 코드 결과를 예측하기 힘들었던 점을 Type Hinting(타입 힌팅)의 강화로 엄격한 코드를 작성하여 예측하기 쉽고 리팩토링이 편하게 ..

PHP 2022.08.14
728x90