본문 바로가기

전체 글64

람다식 로컬 변수 - Effectively Final Effectively Final Java8에서 final이 붙지 않은 변수의 값이 변경되지 않는다면, 그 변수를 Effectively final이라고 합니다. 람다에서는 사용할 수 있는 로컬 변수는 Effectively Final만 사용이 가능하다. public class EffectivelyFinal { public static void main(String[] args) { new Pint().go(); } } class Pint { void go() { int baseAnInt = 111; Function function = (num) -> num + baseAnInt; System.out.println(baseAnInt+"baseAnInt"); System.out.println(function.a.. 2023. 1. 28.
함수형 프로그래밍 & 람다 😶‍🌫️함수형 프로그래밍 Java는 객체지향 언어이기 때문에 기본적으로 함수형 프로그래밍이 불가능하다. 하지만 JDK8부터 Stream API와 람다식, 함수형 인터페이스 등을 지원하면서 Java를 이용해 함수형으로 프로그래밍할 수 있는 API 들을 제공해주고 있다. First Class Citizon First Class Citizon 은 아래의 속성들을 모주 만족해야 합니다. • 변수에 값을 할당할 수 있어야 합니다. • 함수의 파라미터로 넘겨줄 수 있어야 합니다. • 함수의 반환값이 될 수 있어야 합니다. https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html Function (Java Platform SE 8 ) doc.. 2023. 1. 28.
설치없이 Docker를 이용한 Mysql https://pos04167.tistory.com/90 WSL2 다운로드 https://learn.microsoft.com/ko-kr/windows/wsl/install WSL 설치 wsl --install 명령을 사용하여 Linux용 Windows 하위 시스템을 설치합니다. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine 등 원하는 Linux 배포판에서 실행되는 pos04167.tistory.com 전에 내용의 연장선입니다. 만약에 wsl2 설치가 끝났으면 다음은 docker-desktop을 설치를 합니다. https://www.docker.com/products/docker-desktop/ Download Docker Desktop | Docker Doc.. 2023. 1. 16.
WSL2 다운로드 https://learn.microsoft.com/ko-kr/windows/wsl/install WSL 설치 wsl --install 명령을 사용하여 Linux용 Windows 하위 시스템을 설치합니다. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine 등 원하는 Linux 배포판에서 실행되는 Windows 머신에서 Bash 터미널을 사용할 수 있습니 learn.microsoft.com 기본적인 설명은 위에 링크를 보면서 도움이 됩니다. 저도 다른사람의 블로그를 통해서 설치를 했습니다. 많은 도움이 되어서 혹시 제 블로그를 보시는 분들을 위해서 기록을 했습니다. wsl2를 설치한 이유 도우에 리눅스를 설치해서 사용하려는 이유는 여러가지가 있겠지만 나의 경우는 W.. 2023. 1. 16.
2022년 회고록 2022년에는 엄청 많은 일들이 있었다. 대학교 졸업 국비지원을 수료했다. 개발자를 결심하고 첫 1년 열심히 했고 노력했다. 그 노력에서 많은 것을 배웠고 배우면서 부족한 부분을 알게되었다. 2023년에 더욱 성장하는 개발자가 되기 위해 지난 1년을 회고를 해봤다. 🐝 Good Bye 2022 ⛪️대학교 졸업 2016년도에 16학번으로 입학하여 23년 2월에 졸업예정이다. 고향인 포항에서 대학교가 있는 대전에 20대에 많은 시간을 보냈다. 입학의 목표는 졸업 때까지 꿈을 찾는 거였고 개발자라는 꿈을 찾게 되었다. 다양한 학과의 수업을 통해 다양한 콘텐츠를 만들었고 자연스럽게 개발자를 생각하게 되었다. 🏬국비지원을 수료했다. 22년 5월에 국비지원을 신청하게 된다. 그 당시에는 개발자가 나랑 잘 맞는지에 .. 2023. 1. 2.
SPRING 쿼리를 2개를 1개로 줄이는 Merge 이용하기 Merge방법을 사용하면 코드를 줄이고 가독성을 높일 수 있다. 아직 생소하지만 계속 노력을 해야되겠다. 1.일단 쿼리에 대해서 작성한다. sql --1 SELECT PROD_NAME prodName , SUM(PROD_SALE * CART_QTY) money FROM PROD, CART WHERE PROD_ID = CART_PROD GROUP BY PROD_NAME HAVING SUM(PROD_SALE * CART_QTY) >= 10000000; --merge : LPROD테이블을 LPROD2테이블로 복제해보자 --2 CREATE TABLE LPROD2 AS SELECT * FROM LPROD; --MERGE --3 MERGE INTO LPROD2 A --대상 테이블 USING DUAL ON (A.LP.. 2022. 11. 26.
타워 디펜스(Tower Defence) 타워 디펜스 이번 미니 프로젝트를 하면서 새로운 내용을 학습한 내용을 정리한다. 뱅크 시스템을 추가해서 타워를 만들면 돈이 줄어든다(적이 아군의 성으로 도착하면 돈이 줄어든다.). → 적을 죽이면 골드를 얻어서 타워를 설치가 가능하다. 이것을 이용하여 적을 막으면 승리한다. 적의 hp가 죽으면 1씩 증가한다. 그래서 시간이 지나면 난이도가 증가한다. 타워는 적을 가장 가까운 유닛을 공격한다. 적 , 아군의 성에는 타워를 설치가 불가능하다. ——————————————————————————————————————————— 간단하게 배운 내용 정리 [ExecuteAlways] → 스크립트가 play모드 뿐만 아니라 edit모드에서도 실행되도록 한다. → Edit모드에서는 Scene 변경이 있을 경우에만 Upda.. 2022. 11. 9.
Airplane 게임 https://github.com/KMGeon/GameEngine/tree/main/Airplane GitHub - KMGeon/GameEngine: C# Unity를 이용한 게임엔진 만들기 C# Unity를 이용한 게임엔진 만들기:herb:. Contribute to KMGeon/GameEngine development by creating an account on GitHub. github.com - Scene GameObject를 배치하는 곳 기본값 : 카메라 + 빛 + 객체를 포함 - GameObject(GO) 물체 , 배경 , 캐릭터 , 빛 , 소리 등 Go는 혼자서는 아무것도 할 수 없음 ->**컴포넌트**를 추가해야 기능이 생김 - 컴포넌트란? 일단 기본적인 컴포넌트는 Tranform을 가짐.. 2022. 11. 5.
로켓 날리기 https://github.com/KMGeon/GameEngine/tree/main/Rocket GitHub - KMGeon/GameEngine: C# Unity를 이용한 게임엔진 만들기 C# Unity를 이용한 게임엔진 만들기:herb:. Contribute to KMGeon/GameEngine development by creating an account on GitHub. github.com 2022. 11. 5.
첫 unity 간단한 게임 만들기 https://github.com/KMGeon/GameEngine/tree/main/Sec%20Project 2022. 11. 5.
Unity 시간 지연 주는 방법 ▪유니티에서 sleep()이 없다 방법 : time.deltatime , destroy , invoke , coroutine 1.Time.deltaTime이용 waitingTime 경과 후 특정 작업을 반복 실행함 2. Destory() 개체가 생성된 이후 특정 시간이 경과한 뒤에 제거하기 3.Invoke() 특정 시점 이후 함수 호출하기 4.Coroutine함수 이용하기 시간이 오래 걸리는 작업을 비동기(asynchronous)로 처리에 사용 ▪ 한 컴포넌트 내에서 Update 함수와 따로 일시적으로 돌아가는 서브 동작을 구현할 때 사용 ▪ 어떤 다른 작업이 처리되는 것을 기다리는 기능을 구현하는데 사용 ▪ Coroutine은 별도의 쓰레드와 같이 동작함 (실제 별도 쓰레드는 아님) ▪ Coroutin.. 2022. 11. 5.
[Github]Git Bash를 이용한 clone , add , commit , push(기초) Git 왕기초 사용법 국비지원을 다니면서 여러 사람들이 다들 git을 upload 방식만 이용하여 아주 쉽게 설명하기 위해서 간단하게 설명을 하겠다. 일단 폴더를 하나 만든다. 내가 원하는 Repo의 주소를 복사한다. 폴더에 git bash를 열기 처음에 git init을 한다. git init git clone하기 git clone 복사한 주소를 넣기 git clone clone을 했다면 github에 Repo에 있는 파일이 생긴다. 그러면 내가 추가하고 싶은 파일을 넣는다. 그 후에 git add . git add . git commt -m “원하는 메시지” git commit -m "commit" git push origin -u main 여기서 마지막 main은 branch를 봐야되는데 처음 br.. 2022. 10. 17.