목록전체 글 (314)
ecsimsw
FileStream / Board filestream - node.js에서 filestream을 사용하는 방법을 공부하였다. 예제로 pug 템플릿을 이용하여 파일을 생성하고 읽는 게시판을 만들어보려고 한다. - filestream을 이용하기 위해 다음처럼 fs 모듈을 require하였다. var fs= require('fs'); read directory - files라는 폴더 안에 들어있는 데이터 목록을 가져오기 위해 readdir 메소드를 이용했고, 콘솔로 출력하므로써 파일 목록을 배열로 가져온다는 것을 확인하였다. "board.js" app.get('/board',function(req,res){ fs.readdir('./files',function(err, FileList){ console.log..
is / as is - is 는 캐스팅이 가능한지를 확인하는 키워드이다. 캐스팅이 가능하면 true, 불가능하면 false를 리턴하는 것으로 객체와 참조 변수의 관계만을 확인 시켜준다. class Program { static void Main(string[] args) { Car myCar = new benz(); if(myCar is benz) { Console.WriteLine("casting"); } } } class Car{} class benz : Car{} as - as 는 캐스팅이 가능하다면 바로 캐스팅을 시켜주고 아니라면 null을 리턴한다. (Car_benz as Benz).print()와 같이 캐스팅 후 다른 참조 변수 대입없이 바로 메소드 호출이 가능하다. class Program ..
Casting Introduction - Dev korea에 c# 상속/ casting에 대한 질문을 보게 되었고, 사용법 자체를 중요시 했던 처음 c# 공부와 다르게 이번에는 그게 객체지향 측면에서 왜 중요한지, 실제 어떤 개념을 구현할 때 필요할 지를 고민하면서 Casting과 상속에 대해서 공부하였다. - 이번 캐스팅 관련 공부 목표는 다음 두가지이다. 1. 'Up casting / Down casting' 을 왜 사용하는가 2. 'Parent objectName = new Child()' 가 의미하는 바가 정확히 무엇인가. Up casting / Down casting Example _ up casting - 다음의 예시를 생각해보자. 3가지 경주용 자동차가 있고, 자동차의 시동을 거는 방법은 차..
Game Object Game object is.. - Game object는 캐릭터, 아이템, 광원, 카메라, 특수 효과 등 게임에 존재하는 모든 오브젝트이다. 하지만 게임 오브젝트 자체로는 컨테이너에 불과하고 기능을 위해선 관련 components를 추가해야한다. Components - component는 오브젝트를 기능하게 하는 기본 구성 요소이다. 앞서 말했 듯 게임 오브젝트는 단순히 컴포넌트의 컨테이너이고 해당 객체의 기능이나 속성은 컴포넌트에 의해 추가된다. Accessing _ same object - 우선 같은 게임 오브젝트의 컴포넌트를 엑세스하기 위해선 GetComponent 메소드를 사용해야한다. Rigidbody rb = GetComponent(); rb.mass=10f; rb.Add..
Unity Unity Screen Configuration - Hierarchy view : 게임을 구성하는 요소들을 확인할 수 있다. - Scene view : 요소의 배치 상태를 확인하고 변경할 수 있다. - Game view : 게임 화면의 시선을 확인 할 수 있다. - Inspector view : 게임 구성 요소의 속성을 확인할 수 있다. - Projector view : 프로젝트를 구성하는 이미지, prefab, 스크립트 파일 등을 확인 할 수 있다. - Console view : 게임 실행 중의 로그를 확인 할 수 있다.
Class & Struct Class & Struct 앞서 참조와 값 형식의 차이에 대해서 공부하였고 struct와 class를 비교하여 공부하면 더 명확하게 이해 할 수 있을 것이라고 생각하였다. 두 형식 모두 같은 기능이나 속성을 갖은 것들을 캡슐화하기 위한 장치인 것과 형식적인 차이점은 알고 있으나, 두 개가 어떤 차이가 있는지, 만약 그 쓰임이 같거나 한쪽이 우월하다면 다른 쪽 도구는 왜 존재하는지가 궁금하여 공부하였다. Class & Struct _ Usage aspects - 우선 사용 측면에서의 다른 점은 다음과 같다. 1) struct는 값 형식, class는 참조 형식이다. : struct는 new 연산자 없이 생성해도 자체 호출이 되서 생성이 가능하다. : 개체 복제 시 struct는 ..
Serving static files in Express - 이전 포스팅에서 html을 pug 템플릿으로 옮겨 렌더링 하는 법을 공부하였다. 하지만 이렇게 변환한 페이지는 이미지 파일이나 다른 html/css와 같은 파일을 로드 할 수 는 없을 것이다. - 이런 정적 파일을 제공하기 위해선 express의 미들웨어인 static을 사용해야한다. app.use(express.static('public')); - 다음처럼 static 미들웨어에 폴더명(public)을 인자로 넘김으로서 정적파일을 ./public 폴더에서 로드할 수 있게 되는 것이다. http://localhost:3000/images/kitten.jpg http://localhost:3000/css/style.css http://localh..
Template engine / Pug Template Engine - 지금까지 포스팅한 내용으로 HTML을 이용하여 웹 페이지를 만드려고하면 html의 파일을 읽어 정적으로 사용 해야 할것이다. 이런 html 파일에서 변수에따라 출력을 달리하거나 반복을 만드려면 어떻게 해야할까. 아마 JS의 변수나 반복문이 너무나 그리울 것이다. - 템플릿 엔진은 이러한 상황에서 자바스크립트를 사용하여 html을 렌더링 할 수 있게 해준다. 대표적인 템플릿 엔진 PUG(jade)에 대해서 공부해왔다. Pug _ Set - Pug - getting started - 다음을 터미널에서 프로젝트 폴더에 입력하는 것으로 pug 모듈을 설치한다. npm install pug --save - 아래는 초기 설정을 위한 코드이다. ..