반응형

전체 글 47

PHP2Shell이란?

1.PHP2Shell이란?PHP 엔진(php-src) 자체의 메모리 안전성 버그 두 개다. 워드프레스나 라라벨 같은 애플리케이션 코드가 아니라 PHP 런타임의 문제라서, PHP로 웹 요청을 처리하는 서버라면 어떤 애플리케이션을 쓰든 해당될 수 있다.CVE공식 이름한 줄 설명CVSS v4.0CVE-2026-109618RCE via OOM corruption메모리 부족(OOM) 처리 중에 요청 내부 데이터가 깨진 상태로 남는다9.2CVE-2026-109619RCE via stale global state끝난 요청의 상태가 해제된 메모리를 가리킨 채 다음 요청까지 남는다9.2유출 당시에는 CVSS 10.0으로 알려졌지만 PHP 공식 점수는 9.2다. 공격 복잡도가 High로 잡혀 있어서 한 번에 성공하지 않을..

깨작깨작 2026.10.23

[git] 디스코드 webHooks 연동

이번 포스팅에는 간단하게 git에 webHooks 연동하는 방법을 정리해본다. 1. 디스코드 채널의 채팅방에서 [우클릭] 후 [채널 편집] 선택 2. [연동] 이동 후 [웹후크 만들기] 클릭 3. 이름 변경 및 git 적용시킬 채널 선택 웹후크 URL 은 나중에 사용해야하니 복사해둔다 4. Git 페이지 접속 레포지토리 생성 후 Setting > Webhooks로 이동 Add webhook을 통해 웹 훅을 생성한다. 5. 설정 Add webhook 버튼 클릭시 아래 화면이 나오는데 Payload URL 부분에 디스코드에서 복사한 URL을 사용한다. 복사한URL/github 로 해야함. 복사한 URL 뒤에 꼭 /github를 붙여야함. 그 밑으로는 본인이 취향 것 고르면 된다. 바꾸기 싫으면 굳이 안바꿔도..

깨작깨작 2023.05.02

1. React 스터디 1일차

create-react-app 모듈을 통해 리액트 앱을 생성할 수 있다. 위 사진은 스터디에 index.css같은 필요없는 파일들을 제거하고 react 구동에 있어서 필수적인 파일들로 구성했으며, 주로 src 폴더의 App.js, index.js를 수정하게 됩니다. react는 App.js에서 컴포넌트를 정의하고 정의된 컴포넌트에서 html을 반환하여 index.js의 ReactDOM.render() 모듈을 통해 컴포넌트를 import하여 사용한다. ReactDOM.render({컴포넌트}, {id or class}) 이때, id와 class는 public 폴더 안의 index.html의 태그들로 결정됩니다. src/App.js function App() { return ( hello!!!! ); } s..

카테고리 없음 2022.01.30

보일러 플레이트(Boiler Plate)란?

웹 개발을 하다보면 의미없는 노동을 할 때가 있습니다. 대표적인 예시로 자바의 Getter, Setter가 있습니다. 캡슐화를 위한 필수적인 작업이지만 저희는 IDE를 통해 직접 입력하지 않고 쉽게 생성합니다. 이런 단순한 노동을 없애주는 것을 보일러 플레이트(Boiler Plate)라고 합니다. 보일러 플레이트의 사전적인 뜻은 아래와 같습니다. 최소한의 변경으로 여러곳에서 재사용되며, 반복적으로 비슷한 형태를 띄는 코드를 말한다. 자바가 익숙하지 않은 사람들은 getter, setter로 인한 공감을 하기 힘들 수 있기에 또다른 예시를 내봅니다. import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; impor..

깨작깨작 2021.10.07

3. [Nodejs] v8엔진이란?

Javascript 개발자라면 한 번쯤은 v8엔진이라는 단어를 들어보셨을 겁니다. Nodejs에 관한 내용이 아니지만, 마땅히 적을 카테고리가 없어서 이곳에 작성합니다. 사실 저희가 자바스크립트를 사용할 떄, 로우 레벨(Low Level) 단계까지 신경 쓰지는 않습니다. 그러나 정말 자바스크립트로 뽑아낼 수 있는 최적의 성능을 사용하고 싶다면 내 코드가 어떤 식으로 실행되는 지에 대한 이해가 어느 정도 필요합니다. 때문에 본 포스팅에는 v8이 우리의 자바스크립트 코드를 어떻게 해석하고 실항하는지에 대한 설명을 하겠습니다. v8엔진을 간단하게 소개하자면 Google이 개발한 오픈소스 C++로 구성, 개발 Nodejs 런타임, Chrome Browser에서 사용됩니다. 대략적인 설명은 위와 같은데, Java..

NodeJs 2021.08.10

2. [Nodejs] package.json과 package-lock.json은 무엇일까?

Nodejs를 사용할 때 자주 볼 수 있는 파일이 있습니다. package.json과 package-lock.json입니다. 자주 보고, 자주 건드려 보지만 둘의 차이와 사용 목적을 잘 모르는 경우가 있습니다. 이번 포스팅에서는 둘의 차이점과 사용 목적, 사용 방법 등을 작성하겠습니다. Nodejs을 조금 사용하신 분들은 npm init과 npm install package.json을 통해 작성된 패키지 모듈을 설치해 본 경험이 있을 것입니다. 그게 아니라면 scripts 부분의 빌드 부분을 만져보셨을 겁니다. supervisor 또는 nodemon 등등.. 빌드와 실행 구문을 수정해본 경험이 없으신가요? 없더라도 여기서 알아가면 됩니다. ^^ 1. package.json 이란? 가장 먼저, packag..

NodeJs 2021.07.22

1. [Nodejs] Passport.js 사용하기

Passport.js는 인증 요청을 처리해주는 Node.js의 인증 미들웨어입니다. 기본적인 로그인 방법은 username과 password를 일치하여 확인하는 방식이지만, 최근 SNS의 증가로 Facebook과 Twitter에서 OAuth를 제공함에 따라 SNS들의 계정을 가지고 서비스를 가입하고 인증하는 방법이 생겼습니다. OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보를 접근 권한으로 부여할 수 있는 개방형 표준이다 Passport.js는 이러한 기본적인 로그인과 OAuth 인증방법을 제공하는 패키지로, 인증 과정을 Strategy이라는 이름으로 관리합니다. 전체 코드는 글 가장 아래 첨부합니다. 1. Passport.js 사용법 기본적으로 express 프..

NodeJs 2021.07.15

ORM이란?

ORM Object Relational Mapping(객체-관계 매핑)이라 불리는 이것은 객체와 관계형 데이터베이스의 데이터를 자동으로 연결(매핑)해주는 것을 말한다 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 객체 모델과 관계형 모델 간에 불일치가 존재한다 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. 데이터베이스 데이터 Object 필드 이것은 Persistant API라고도 할 수 있다 Ex) JPA, Hibernate 등 ORM의 장점 완벽한 객체지향적인 코드 ORM을 이용하면 SQL문이 아닌 클래스의 메서드를 통해 데이터베이스를 조작할 수 있어서 객체 모델만 이용해서 프로그래밍을 하는데 집중할 수 있게 한다. SQL..

데이터베이스 2021.06.24

스택, 큐

스택과 큐는 자료구조에서 가장 먼저 배우는, 가장 기본적인 자료구조이다. 알고리즘에서 많이 쓰인다는 자료구조들이 점차 배열로 해결가능해지자 자료구조를 이해하지 않고 코딩을하는 사람이 늘기 시작했다. 하지만 자료구조의 개념을 인지하고 활용하면 분명 코드와 개발에 도움이 될것이라 생각하기에 이 글을 작성해본다. 스택, 큐 대부분의 사람들 모두가 스택과 큐의 차이점을 말하라고 하면, 스택은 후입선출(LIFO), 큐는 선입선출(FIFO)라고 말한다. 후입선출은 가장 늦게 넣은 데이터가 가장 빨리 나가는 것. 선입선출은 가장 빨리 넣은 데이터가 가장 빨리 나간다는 뜻이다. 아마 이보다 더 쉽게 설명할 수 있는 글은 없는 것 같다. 하지만 작성자는 여기서 조금 더 설명해 보겠다. 1. 스택 스택은 객체들의 집합소로..

손실 압축, 무손실 압축

압축은 데이터 크기를 줄여서 저장공간을 더욱더 잘 활용하기 위한 기술이다. 파일을 압축할 때에는 압축 알고리즘을 사용하여 압축을 하게 되는데, 압축된 파일을 손상 없이 원래대로 되돌릴 수 있다면 이를 비손실 압축(Lossless Data Compression)이라 하고, 원래대로 복원할 수 없다면 손실 압축(Loss Data Compression)이라 한다. 쉽게 생각하자면 .zip, .7z와 같이 파일을 바꾸더라도 내용이 변하지 않는 것을 무손실 압축이라고 하고 .avi, .jpg, .gif와 같이 바꿀 수 있는 멀티미디어들을 손실 압축이라고 한다. 1. 무손실 압축 무손실 압축은 앞서 설명한 압축 프로그램 (알집, 7zip, 반디집)같은 프로그램으로 압축하는 프로그램을 뜻한다. 압축을 하더라도 원본 ..

반응형