전체 글

1. 개요 이번에는 데이터 타입을 다루려고 합니다, 이전에 쓴 변수 메커니즘은 보지 않아도 이해는 되지만 보는 걸 추천합니다. https://seung.tistory.com/entry/JavaScript-%EB%B3%80%EC%88%98-%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98-2 [JavaScript] 변수 메커니즘 2 1. 개요 이전글을 보시지 않았다면 보는게 좋습니다. https://seung.tistory.com/entry/JavaScript-%EB%B3%80%EC%88%98-%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98 [JavaScript] 변수 메커니즘 1. 개요 JavaScript라고.. seung.tistory.com 2. 데이터 타입 JS의 ..
1. 개요 이전글을 보시지 않았다면 보는게 좋습니다. https://seung.tistory.com/entry/JavaScript-%EB%B3%80%EC%88%98-%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98 [JavaScript] 변수 메커니즘 1. 개요 JavaScript라고 하였으나 개념의 일부는 컴퓨팅 공학에서 통용되는 개념이기에 아무나 보셔도 상관없습니다. 2. 메모리 저장 JavaScript에서 선언된 모든 값들은 메모리에 데이터를 저장하여 seung.tistory.com 2. 값에 저장 개발자 중에 값을 모르는 사람을 없을 것 입니다. 하지만 값을 설명해보라고하면? 대부분 값이 값라고 할꺼라 생각합니다. 값(value)은 표현식(expression)이 평가(evaluat..
· PHP/Laravel
1. 개요 PHP에는 다양한 테스트 도구들이 존재합니다. (PHPUnit, 목커리, PHPSpec, SimpleTest 등등) 하지만 우리가 다룰 것은 Laravel Framework이므로 Laravel Framework 내장되어있는 테스트 기능을 해보려고합니다. Laravel에는 기본적으로 PHPUnit, 목커리, 페이커 등이 포함되어있습니다. Laravel 테스트 기능을 통해 URL에 테스트 POST, GET을 전달한 후 응답 HTTP 상태코드를 확인하거나 JSON 응답 값을 검증할 수 있습니다. (프론트 JS를 위한 더스크라는 테스팅 프레임워크도 제공함) 2. 테스트 용어 1. 유닛 테스트 (Unit Test) 일반적으로 코드양이 적고, 상대적으로 독립적인 단위(클래스, 메서드)를 대상으로 테스트 ..
1. 개요 JavaScript라고 하였으나 개념의 일부는 컴퓨팅 공학에서 통용되는 개념이기에 아무나 보셔도 상관없습니다. 2. 메모리 저장 JavaScript에서 선언된 모든 값들은 메모리에 데이터를 저장하여 사용합니다. 즉 10+20=30을 실행할 경우 메모리에는 10,20,30 전부 2진수화 되어 메모리에 저장되는 것입니다. 위 그림에서처럼 30은 0x12300004의 주소 값에 저장되고 우리가 30을 쓰기 위해서는 0x12300004에 접근하는 방법 외에는 없는 것입니다, 또한 변수는 한번 선언되면 메모리가 해제되기 전까지 아무도 그 공간을 사용할 수 없도록 안전하게 보호합니다. 하지만 이런 내용은 JS가 알아서 처리하기에 우리는 이런 게 있다고만 알면 됩니다. 우리가 사용하는 변수는 실제 값이 아..
· Java
generic 영어 뜻과 마찬가지로 "포괄적인"이라는 의미를 지닌다. 이걸 데이터 타입에 대입한다면? 포괄적인 타입 = 모든 타입이 될 수 있는 타입이다. JDK(Java Development Kit)에 포함된기능으로 대충 위 문장을 알면 다 끝났다고 생각합니다. 인생은 실전이니 바로 예제를 보겠습니다, 다음은 제네릭을 이용한 클래스이다. // 제네릭은 아래처럼 클래스에서 자료형을 매개변수화 할 수 있다, 뿐만 아니라 인터페이스도 가능 class Data { private T t; public void set(T t) { this.t = t; } public Object get(){ return t; } } public class Main { public static void main(String arg..
· PHP/Laravel
라라벨 API를 만들어보면서 패스포트를 알게 되었는데, 진행이 안돼서 개념부터 차근차근 정리해보려고 합니다. 1. OAuth 2.0 OAuth는 다른 서비스의 회원 정보를 안전하게 사용하기 위한 방법입니다. (편하게 2.0을 생략하겠음) 쇼핑을 사용하다 보면 물건을 사기 위해 구글로 로그인을 해야하거나 네이버 로그인을 해야 할 일이 필요한 경우가 있을 것입니다, 그것이 OAuth 입니다. 즉 다른 서비스의 정보를(구글, 네이버) 해당 사이트에(쇼핑 사이트)에 토큰을 통해 안전하게 넘기는 방법입니다. OAuth는 토큰을 통해 안전하게 데이터를 넘길 수 있기 때문에 RESTful API에서 가장 많이 쓰이는 인증 시스템입니다. API에서 인증은 브라우저에서 세션을 통해 자동 로그인을 해주는 세션 기반 인증을..
· PHP/Laravel
라라벨 프로젝트 내에서 리액트나, 뷰의 컴포넌트를 사용하는 방식입니다. 우선 공통으로 프론트엔드 스캐폴딩을 해주는 패키지인 laravel/ui 설치합니다. composer require laravel/ui 1. React.js 아래 명령어를 통해 React를 프로젝트 내에 추가합니다. php artisan ui react 그러면 다음과 같은 명령어를 하라고 권할 겁니다. npm install && npm run dev windows에 vagrant로 vm 위에서 홈스테드를 돌리고 있다면 에러가 발생할 수 있습니다. 윈도우의 vagrant는 보안 문제로 symlink을 막아뒀기 때문인데, 해결하려면 vagrant를 관리자로 접속 후 Shared-Folders-Enable-Symlinks-create을 활성..
· PHP/Laravel
1. 개요 더보기 리액트에서 나오는 컴포넌트와 같은 개념입니다. 기존에 라라벨에 있던 레이아웃과 같이 컴포넌트는 템플릿에서 템플릿을 불러오는 방법이고 슬롯은 레이아웃의 세션과 같이 컴포넌트에게 값을 넘기는 방법입니다. 컴포넌트의 정의는 아래의 네이버 지식인이 말해주는 그대로 모듈이이고, 슬롯은 그 모듈에 넘기는 일종의 파라미터로 보시면됩니다 2. 라라벨6 더보기 라라벨 6 버전까지는 컴포넌트를 아래 방식으로 사용합니다. 컴포넌트 파일을 아래와 같은 방법으로 선언합니다, 이때 다음에서 템플릿에서 넘긴 $슬롯명과 $slot을 사용할 수 있습니다. {{ 슬롯명 }} {{ $slot }} 생성한 컴포넌트를 사용할 블레이드 파일에서는 아래와 같이 선업합니다. @component('폴더명.파일명(경로)') @slo..
· PHP/Laravel
Kernel 컴퓨터에 커널은 보안, 자원관리, 하드웨어 추상화 등 운영체제의 핵심적인 역할을 합니다. 이와 마찬가지로 라라벨에서의 커널도 마찬가지로 중요한 역할을 수행합니다. 역할 사용자의 요청을 미들웨어에 전달하고 예외가 발생 시 알맞은 응답으로 처리합니다. 미들웨어를 거친 후 라우터로 전달된 요청은 해당 라우터에 연결된 로직을 처리합니다. 클로저나 컨트롤러에 반환되는 최종 응답을 클라이언트에게 제공합니다. 라라벨의 커널의 특징 커널을 2개가 있지만 HTTP 커널과 Console 커널로 이름과 같이 서로의 쓰임새도 다릅니다. 요청을 처리하기 전 준비 작업에서 환경(dev, production, local)을 판단하고 서비스 프로바이더를 준비합니다. HTTP 커널 bootstrappers(시작 코드)을 ..
· PHP/Laravel
라라벨 애플리케이션은 아파치 .htaccess 파일이나 Nginx의 서버 설정 같은 웹 서버의 설정을 가지고 있는데 이 설정은 url에 상관없이 모든 앱의 요청을 가로채서 public/index.php로 보냅니다. 즉 모든 요청에 대한 시작점은 pulbic/index.php 입니다. Public/index.php 의 주요 주요 기능 모든 의존성을 등록해주는 컴포저 오토로드 파일을 불러옵니다. require __DIR__.'/../vendor/autoload.php'; 애플리케이션의 컨테이너를 만들어주고 핵심 서비스를 등록해줍니다, 또한 커널 인스턴스를 만들어 사용자의 보내는 Request 객체의 인스턴스를 만들어 커널로 넘기고 커널은 일루네이트 Response 객체를 클라이언트(주로 브라우저)에 반환하고..
DSeung
Dev log