목록분류 전체보기 (49)
오늘부터 공부한다
이번 포스팅에는 간단하게 git에 webHooks 연동하는 방법을 정리해본다. 1. 디스코드 채널의 채팅방에서 [우클릭] 후 [채널 편집] 선택 2. [연동] 이동 후 [웹후크 만들기] 클릭 3. 이름 변경 및 git 적용시킬 채널 선택 웹후크 URL 은 나중에 사용해야하니 복사해둔다 4. Git 페이지 접속 레포지토리 생성 후 Setting > Webhooks로 이동 Add webhook을 통해 웹 훅을 생성한다. 5. 설정 Add webhook 버튼 클릭시 아래 화면이 나오는데 Payload URL 부분에 디스코드에서 복사한 URL을 사용한다. 복사한URL/github 로 해야함. 복사한 URL 뒤에 꼭 /github를 붙여야함. 그 밑으로는 본인이 취향 것 고르면 된다. 바꾸기 싫으면 굳이 안바꿔도..
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..
1. 기본 라우팅 라라벨 라우터는 URI와 클로저를 허용하므로 복잡한 라우팅 구성 파일 없이도 간단하고 표현적인 방법을 제공합니다. use Illuminate\Support\Facades\Route; Route::get('/greeting', function () { return 'Hello World'; }); a. 기본 경로 파일 모든 라우터의 경로는 App\Providers\RouteServiceProvider에 의해 자동으로 로드 되며 routes\web.php 파일은 웹 인터페이스용 경로를 정의합니다. 이러한 경로에는 웹 미들웨어 그룹이 할당되어 세션 상태 및 CSRF 보호와 같은 기능을 제공합니다. routes/web.php에 정의된 경로는 브라우저에서 정의된 라우트의 URL을 입력하여 액세스..
웹 개발을 하다보면 의미없는 노동을 할 때가 있습니다. 대표적인 예시로 자바의 Getter, Setter가 있습니다. 캡슐화를 위한 필수적인 작업이지만 저희는 IDE를 통해 직접 입력하지 않고 쉽게 생성합니다. 이런 단순한 노동을 없애주는 것을 보일러 플레이트(Boiler Plate)라고 합니다. 보일러 플레이트의 사전적인 뜻은 아래와 같습니다. 최소한의 변경으로 여러곳에서 재사용되며, 반복적으로 비슷한 형태를 띄는 코드를 말한다. 자바가 익숙하지 않은 사람들은 getter, setter로 인한 공감을 하기 힘들 수 있기에 또다른 예시를 내봅니다. import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; impor..
Javascript 개발자라면 한 번쯤은 v8엔진이라는 단어를 들어보셨을 겁니다. Nodejs에 관한 내용이 아니지만, 마땅히 적을 카테고리가 없어서 이곳에 작성합니다. 사실 저희가 자바스크립트를 사용할 떄, 로우 레벨(Low Level) 단계까지 신경 쓰지는 않습니다. 그러나 정말 자바스크립트로 뽑아낼 수 있는 최적의 성능을 사용하고 싶다면 내 코드가 어떤 식으로 실행되는 지에 대한 이해가 어느 정도 필요합니다. 때문에 본 포스팅에는 v8이 우리의 자바스크립트 코드를 어떻게 해석하고 실항하는지에 대한 설명을 하겠습니다. v8엔진을 간단하게 소개하자면 Google이 개발한 오픈소스 C++로 구성, 개발 Nodejs 런타임, Chrome Browser에서 사용됩니다. 대략적인 설명은 위와 같은데, Java..
Nodejs를 사용할 때 자주 볼 수 있는 파일이 있습니다. package.json과 package-lock.json입니다. 자주 보고, 자주 건드려 보지만 둘의 차이와 사용 목적을 잘 모르는 경우가 있습니다. 이번 포스팅에서는 둘의 차이점과 사용 목적, 사용 방법 등을 작성하겠습니다. Nodejs을 조금 사용하신 분들은 npm init과 npm install package.json을 통해 작성된 패키지 모듈을 설치해 본 경험이 있을 것입니다. 그게 아니라면 scripts 부분의 빌드 부분을 만져보셨을 겁니다. supervisor 또는 nodemon 등등.. 빌드와 실행 구문을 수정해본 경험이 없으신가요? 없더라도 여기서 알아가면 됩니다. ^^ 1. package.json 이란? 가장 먼저, packag..
Passport.js는 인증 요청을 처리해주는 Node.js의 인증 미들웨어입니다. 기본적인 로그인 방법은 username과 password를 일치하여 확인하는 방식이지만, 최근 SNS의 증가로 Facebook과 Twitter에서 OAuth를 제공함에 따라 SNS들의 계정을 가지고 서비스를 가입하고 인증하는 방법이 생겼습니다. OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보를 접근 권한으로 부여할 수 있는 개방형 표준이다 Passport.js는 이러한 기본적인 로그인과 OAuth 인증방법을 제공하는 패키지로, 인증 과정을 Strategy이라는 이름으로 관리합니다. 전체 코드는 글 가장 아래 첨부합니다. 1. Passport.js 사용법 기본적으로 express 프..
ORM Object Relational Mapping(객체-관계 매핑)이라 불리는 이것은 객체와 관계형 데이터베이스의 데이터를 자동으로 연결(매핑)해주는 것을 말한다 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 객체 모델과 관계형 모델 간에 불일치가 존재한다 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. 데이터베이스 데이터 Object 필드 이것은 Persistant API라고도 할 수 있다 Ex) JPA, Hibernate 등 ORM의 장점 완벽한 객체지향적인 코드 ORM을 이용하면 SQL문이 아닌 클래스의 메서드를 통해 데이터베이스를 조작할 수 있어서 객체 모델만 이용해서 프로그래밍을 하는데 집중할 수 있게 한다. SQL..
기초 1을 기반으로 조금 더 진도를 나가보았다. 1. 코드 작성 using namespace std; using namespace cv; int main() { Mat img_color; img_color = imread("이름.jpg", IMREAD_COLOR); if (img_color.empty()) { cout
이번 포스팅에는 Visual Studio, OpenCV에 대한 설치를 생략하고, 공부한 내용을 위주로 작성한다. 사용한 OpenCV 버전은 4.1.1 Visual Studio는 2019이다. 1. 이미지 프로젝트에 저장 작성자는 프로젝트 이름을 OpenCV_PJT로 하였고, 아무런 이미지들을 넣어봤다. 2. 코드 작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 using namespace std; using namespace cv; int main() { Mat image; image = imread("이름.jpg", IMREAD_COLOR); if (image.empty()) { cout