본문 바로가기

전체 글

(60)
유니티 초보의 개발 일지 시작 [0] 나는 어려서 부터 항상 게임을 하는것보다는 " 내가 직접 만들면 더 재밌겠는데? " 라는 생각을 가지고있었다스타크래프트의 유즈맵을 만든다거나 사설 메이플 서버를 만들어서 여러가지 퀘스트를 만들면서 놀아본다거나RPG Maker 라는 쯔꾸르 게임풍의 제작툴을 이용해서 인터넷에 올려보기도 하고 나름 많은것을 해보았다 시간이 흘러 일에 치이고 살던중...어느날 문득 항상 내 마음 한켠에 있던 게임 개발이라는 욕망이 발현되는 시기가 오게되는데.. 바로 뱀파이어 서바이버...비록 포스팅 시점기준에서 오래된 게임이지만 처음 이 게임을 접했을땐 거의 하루가 3시간이라 느껴질만큼 푹빠져 했던걸로 기억.. 하는데..간단한 게임규칙을 가지고 이렇게 몰입감있게 재미있게 만들수 있구나 라고 생각을 하게해준 게임이라고 볼..
유니티(Unity)와 Cursor IDE 연동하기 유니티와 Cursor IDE를 연동하기 전에 필수로 깔아야하는 프로그램은 아래와 같습니다 1. 유니티(Unity)2. Cursor IDE3. Git 1. 유니티(Unity) 다운로드 유니티 다운로드 : https://unity.com/kr/download Unity Hub 다운로드 및 새로운 프로젝트 시작 | Unity세 가지 간단한 단계를 따라 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 시작해 보세요.unity.com 유니티를 다운로드 하기전에 우선 Unity Hub를 먼저 다운로드 해야한다Hub안에서 유니티 엔진을 설치한다 유니티 허브를 다운로드 받아서 프로그램을 실행시킨 뒤Installs탭에 들어가서 Ins..
OpenTelemetry(Otel)을 이용한 로그 수집 Feat. docs OpenTelemetry 일명 Otel을 추적, 메트릭, 로그와 같은 원격 측정 데이터를 계측하고생성하고 수집하고 내보내는 오픈소스 Observability 프레임워크 입니다   Otel은 기본적으로 다른 플랫폼에서 receivers로 데이터를 수신받고 수집된 데이터를 1차가공하여exporters로 다른 플랫폼으로 전송하게 된다 Microservices 뿐만아니라 Infra, Client 등 여러 데이터를 받아 OTel에서 하나의 통합된 로그 포맷으로 만든뒤Grafana, Prometheus 등 여러 곳으로 데이터를 전송하게 된다중간에서 데이터를 송, 수신하는 중계 역할을 하게된다  높은 확장성과 다른 플랫폼과 호환되는 호환성으로 간단하고 쉽게 계측이 가능하다    Otel을 이용한 계측 데이터를 수집하..
단방향 알고리즘(SHA256) 그리고 양방향 알고리즘(AES256) 단방향 해시 알고리즘(SHA256)특징주어진 입력에 대해서 고정길이(256Bit)의 해시값을 출력주어진 입력에 대해서 고정길이(256Bit)의 해시값을 출력SHA256으로 암호화된 해시 값은 복호화 할수없으며 원본 데이터를 알 수 없습니다해시값 생성속도는 매우 빠른편이며, 작은 데이터에 대해서 효율적이게 처리사용처평문 데이터를 안전하게 저장할때 사용하며, 대표적으로 사용자의 비밀번호를 저장할때 주로 사용됩니다파일이나 데이터가 변경되지 않았는지 확인할때 사용 (ex. 다운로드 한 파일의 해시값과 서버에서 제공한 해시값 비교)  Java에서는 MessageDigest 클래스를 이용해서 SHA-256 암호화 방식을 지원합니다 public class SHA256Example { public static v..
@SpringBootApplication의 동작 방법 @SpringBootApplication 기능 Spring Boot에서는 개발자들의 편의성을 위해서 자동 구성, 구성 요소 스캔 등을 사용하게 됩니다 @AutoConfiguration을 통해서 Spring Boot에 자동 구성 기능을 활성화 하게되고,@ComponentScan, @Component 애플리케이션에 있는 패키지를 스캔하여 스캔 대상에 포함시키고,@Configuration을 통해 ApplicationContext에 빈을 등록하거나 추가 구성 클래스를 가져오는것을 허용할수 있습니다 위에서 언급한 기능들을 모두 합친것인 @SpringBootApplication 입니다 @SpringBootApplication // @Configuration @EnableAutoConfiguration @Compon..
데이터베이스 외래키를 안쓰는 이유 처음 데이터베이스 관련 공부를 할때 테이블 사이에 연관관계를 맺어주는것을 진행할때,외래키(Foreign key)를 만들어 관계를 형성해주었습니다 하지만 실무에서 테이블을 설계할때 외래키는 제외하고 쓰는경우가 많은데 어떤이유떄문인지 알아보겠습니다  외래키(Foreign key) 외래키는 데이터 무결성(Data integrity)을 위해서 사용된다 예를들어, 위 사진에 보이듯이 학생(부모) 테이블과 수강(자식) 테이블이 있다고 가정할때,학생 테이블에 학번과 수강 테이블에 학번을 외래키로 설정해주게 되면학생 테이블중 학번 칼럼에 없는값은 수강 테이블에 등록할수 없다 무조건 부모테이블에 외래키로 설정된 칼럼에 값이 있어야만 자식테이블에도 변경 작업이 가능한것입니다데이터의 무결성을 지키는것은 비즈니스적인 측면에서..
MySQL vs PostgreSQL 어떤 차이점이 있을까? 오늘날 가장 대중적으로 쓰이는 DBMS는 단연코 MySQL 이라고 할수있다빠른속도와 접근성이 좋기떄문에 공부하는 DBA나 프로젝트에서 데이터관리 목적으로 자주 쓰이곤 한다 데이터가 계속해서 누적될때마다 대량의 데이터 작업은 필연적으로 느려지기 마련이다MySQL에서 제공되는 방식은 대량에 데이터를 처리하기에는 한계가 있었는데 이에 따라 대용량 데이터 처리에 특화되있는 PostgreSQL를 도입하기위해 어떤 차이점이 있을까  선호도  Stack Over Flow에서 설문조사한 결과 세계적으로 자주 사용되는 데이터베이스가 어떤것이 있는지 투표를 진행하였다2022년에는 MySQL이 46퍼센트로 PostgreSQL보다 근소하게 앞서있는것을 확인할수있다 점점 대용량 데이터 처리에 중요성을 느끼는 기업들은 MySQL..
Spring(스프링) Bean을 통해 효율적으로 코딩 하기 new 연산자를 통해 객체 생성 장점ObjectMapper objectMapper = new ObjectMappeer(); 우선 new 연산자를 통해서 객체를 생성하면 아래와같은 장점을 얻을수 있습니다 단순함과 명확성: new 연산자를 통해 객체를 생성하게 되면 별도의 설정없이 필요한 객체를 바로 생성 가능합니다경량성: 별도의 Spring 컨테이너를 사용하지 않기떄문에 오버헤드가 적고 애플리케이션 시작속도가 더 빠를수 있습니다의존성 낮음: 타 프레임워크에 의존하지 않고 순수한 Java 코드를 작성할수 있어 프레임워크에 대한 종속성이 낮아집니다 간단하게 객체를 생성할수 있기떄문에 특별한 제약조건이 없으면 사용하게 됩니다클래스가 실행되면 매 순간 객체가 만들어져 Heap에 저장되고 소멸하는 특징을 가지고있습..