분류 전체보기
-
UNIX 1강 정리STUDY/방통대 2021. 12. 6. 18:38
UNIX (유닉스) 다중 사용자 방식의 대화식, 시분할처리 시스템 운영체제. UNIX 특징 다중 사용자, 다중 작업에 용이. LINUX (리눅스) UNIX의 표준을 준수하여 만들어진 무료 공개버전 운영체제 리눅스 특징 뛰어난 이식성 CUI와 GUI 지원 모듈화로 업그레이드, 업데이트에 용이 소스코드 공개 여러 종류의 파일 시스템 지원 효율적 하드웨어 활용 다양한 개발 환경 제공 GNU 프로젝트 목적 소프트웨어 상업화에 반대. 목적에 상관없이 프로그램을 실행할 수 있는 자유 프로그램을 복제하고 공유할 수 있는 자유 소스코드를 개작할 수 있는 자유 개작된 프로그램을 배포할 수 있는 자유 리눅스 배포판 리눅스 커널을 기반으로 시스템 유틸리티, 응용 프로그램, 설치 프로그램 등을 포함한 완전한 운영체제 패키지...
-
[Unity] 시네머신 (Cinemachine) 기초Code/Unity 2021. 11. 24. 16:20
회사 업무로 사용하게 되면서 공부한 것을 정리한다. 시네머신이란? 시네머신은 영화 촬영을 하는 것처럼 씬을 촬영하여 게임 화면상에 비추어주는 유니티 패키지라고 생각하면 된다. 시네머신 추가하기 에셋 스토어 혹은 패키지 매니저에서 Cinemachine 이라고 검색하면 찾을 수 있다. (추가하면 하단처럼 시네머신 도구함이 보임.) 시네머신의 이해 시네머신은 기본적으로 유니티상의 카메라 오브젝트를 생성하지 않고 가상 카메라를 이용한다. 가상 카메라는 유니티상에 생성된 카메라를 오브젝트를 이용하여 다양한 각도에서 비추어줄 게임상의 씬을 보여주도록 도와준다. 또한 가상 카메라는 각각 서로에게 영향을 끼치지 않으며, 유니티 카메라에도 영향을 받지 않기 때문에 자유로운 카메라 구성이 가능하다. 그러므로, 가상 카메라..
-
[디자인패턴] 추상 팩토리 패턴 (Abstract Factory)카테고리 없음 2021. 11. 22. 18:12
추상 팩토리 패턴 (Abstract Factory) 서로 관련이 있는 객체들을 묶어 팩토리 클래스로 만들고, 이들 팩토리를 조건에 따라 생성하도록 다시 팩토리를 만들어 객체를 생성하는 패턴. 관련이 있는 카테고리별로 추상 클래스를 생성해서 객체를 구현하는 클래스들을 손쉽게 생성할 수 있도록 한다. 장점 연관성이 있는 여러 종류의 객체 생성에 유용하다. 서브 클래스 생성을 최소화하기 위한 방법. 1. 객체가 생성되는 방식 혹은 과정과 책임을 사용자가 모르도록 한다. 2. 제품군간 교체가 쉽다. 3. 제품군들이 실수로 섞여 사용되는 것을 방지한다. 예시 #pragma once #include #include using namespace std; // 추상 클래스 class IDao { public: // 추..
-
[디자인패턴] 싱글톤 패턴 (Singleton)Code/디자인패턴 2021. 11. 22. 17:34
싱글톤 패턴 전역변수를 사용하지 않고 객체를 하나만 생성하도록 하여, 생성된 객체를 어디든지 참조할 수 있도록 하는 패턴. 객체의 인스턴스를 오로지 1개만 생성하여 사용한다. 장점 1. 메모리 낭비 방지. 2. 원활한 데이터 공유. 단, 여러 클래스의 인스턴스에서 싱글톤 인스턴스의 데이터에 동시 접근하면 동시성 문제가 발생할 수 있다. 예시 public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { // 생성자는 외부에서 호출못하게 private 으로 지정해야 한다. } public static Singleton getInstance() { return instance; } public..
-
[디자인패턴] 디자인패턴 종류카테고리 없음 2021. 11. 22. 17:16
디자인 패턴이란? 소프트웨어 개발 방법으로 사용되는 코드 패턴으로, 효율적인 코드를 만들기 위한 방법론이라고 할 수 있다. 디자인 패턴의 종류 생성패턴(Creational Patterns) 객체 생성에 관련된 패턴으로, 객체 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다. 1. 싱글톤 패턴 (Singleton) 클래스의 인스턴트가 하나임을 보장하고 접근할 수 있는 전역적 접근점을 제공하는 패턴. 2. 추상팩토리 패턴 (Abstract Factory) 구체적인 클래스를 지정하지 않고 관련성이 있거나, 독립적인 객체들을 생성하기 위한 인터페이스를 제공하는 패턴. 3. 빌터 패턴 (Builder) 복학 객체의 생성 과정과 표현 과정을 분리시..
-
[Git] Git 사용법Code/그 외 2021. 11. 22. 15:35
GitHub 소프트웨어 개발 프로젝트를 위한 소스코드 관리 서비스. 소스 코드 열람, 간단한 버그 관리, SNS 기능 등을 갖추고 있다. 관련 용어 커밋 (Commit) : 파일을 추가하거나 변경 내용을 로컬 저장소에 저장하는 작업. 푸시 (Push) : 파일을 추가하거나 변경 내용을 원격 저장소에 업로드하는 작업. 리모트 (Remote) : 서버 자체를 의미. 오리진 (Origin) : 주로 리모트 서버의 이름을 Origin으로 사용. 레파지토리 (Repository) : 리모트 서버 내에 구분되는 프로젝트 단위. 저장소라는 뜻을 가지고 있다. 브랜치 (branch) 시간의 흐름을 나누어 기록하는 방식의 작업 공간 개념이라고 보면 된다. 버전 유지를 하며 새로운 기능을 추가 및 버그 수정을 할 수 있는..
-
[JAVA] JVM / JRE / JDKCode/그 외 2021. 11. 22. 12:13
위의 그림에서 알 수 있듯, JRE는 JVM을 포함하고 JDK는 JVM을 포함한다. JVM (Java Virtual Machine) 자바가상머신 JVM은 자바 소스 코드로부터 만들어지는 자바 바이러니 파일(.class)을 실행할 수 있게 해준다. 플랫폼에 의존적이므로 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다. JVM이 하는 역할 바이너리 코드를 읽는다. 바이너리 코드를 검증한다. 바이너리 코드를 실행한다. 실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파일) 그러므로, JVM은 자바 프로그램이 어느 기기나 운영체제 상에서도 실행될 수 있도록 만들어주며, 메모리를 효율적으로 관리하고 최적화..