우분투를 깔고, 브라우저를 뭘 쓸까 고민했었는데, 그냥 파이어 폭스를 쓰기로 했다. 하지만, 한/영 키를 누르면 위에 파일(F), 보기(V)... 이렇게 메뉴가 뜬다.이게 무슨 문제였냐하면, 타자를 빠르게 칠 때, 한글이랑 영어를 빠르게 칠때, 위의 메뉴가 실행되는 문제가 발생한다.... 그래서 이에 대한 해결책을 정리해보려고 한다. 1. 파이어 폭스 주소창에 about:config 라고 입력한다.2. 그리고, ui.key.menuAccessKeyFocuses 이 항목을 false로 바꿔준다.3. 그리고 ui.key.menuAccessKey 이 항목을 0으로 바꿔준다. ( 기존은 18임 ) 이러면 해결 될 것이다. ( 그래도 d 키랑 한/영 키를 빠르게 연타했을 때, 여전히 메뉴가 나오긴 하지만, 별로 ..
최근 몇일간 뭔가 혼자서 갈등을 했다.게임 만들고 싶은데, 자바로 gui는 못하나..? 그렇다고해서, swing, javafx는 또 별로 하기 싫고... gui는 만들고 싶고... libgdx? 이것도 좀.... 그래도 실제 게임 개발에 쓰이는 기술을 공부해야지... 하다가 유니티를 공부하게 되었다 ㅋㅋㅋㅋㅋ 그렇게,노트북에 유니티 + vscode + 엣지를 실행시키니, 버티질 못하는 노트북 ram (8GB임) 문제 +유니티랑 vs 깔면서 어찌어찌 하다보니, 30GB 증발 ( 윈도우 정크 파일 문제 ) 때문에X 같아서 리눅스로 갈아탔다 ㅋㅋㅋㅋㅋ 그렇게... 저녁 8시부터 오전 2시까지 Pop!_os 깔았다가, 맘에 안들어서 지우고, 또 윈도우 날려먹어서 복구하려다가, 걍 우분투를 까는 전쟁(?)을 했다..
요즘 gui도 사용하지 않고, 그냥 단순히 게임 로직만을 설계하는, 즉 oop 연습 + 재미로 타워 디펜스 게임을 만들고 있다.근데 너무 어렵다... ㅋㅋㅋ 1주일도 안걸릴 것 같은 이 프로젝트가 거의 10일(?)정도 하고 있다. 뭔가 현타가 오면서도, 주변에 친구들이 하고 있는 게임인 "와일드 리프트", "클래시 로얄", "소울 나이트", "마인크래프트" 등등의 게임을 보면,요즘따라 뭔가 단순히 플레이 하고 싶다는 생각보다는,저걸 만들기 위해서 개발자는 얼마나 컴터에 대해서 잘 알고 있을까? 얼마나 천재일까? 얼마나 노력했을까?라는 생각이 든다... 이런 작은 타워 디펜스 게임도 만들기 어려워하는 내가 미래에 과연 클래시 로얄과 같은 게임을 만들 수 있을까...?I'm just hoping that i..
문제 상황부터 이해해보자.private Tile[][] gameTiles = new Tile[16][9];이렇게 부모 타입인 Tile배열이 있다고 하자.이 배열에는 자식 클래스인 MonsterTile, TowerTile, EmptyTile이 있다. ( ↓ : 자식 클래스들 )public void spawnMonsters(Monster[] waveMonsters) { gameTiles[0][0].spawnMonsters(waveMonsters);}이렇게 Tile 타입의 배열에 들어있는 요소들을 불러온다면, 자식클래스들(TowerTile 등)이 불려올텐데,이 경우, 우리가 이렇게 불러온 요소들에 대해서 사용할 수 있는 메서드들은 부모 클래스(Tile)의 메서드 뿐이다. 즉, spawnMonster(타일..
■ 자바에서 배열은 참조형(reference type)이기 때문에,배열 요소를 비교하기 위해서는 equals메서드를 써야한다. import java.util.Arrays;int[] a = {1, 2, 3};int[] b = {1, 2, 3};System.out.println(Arrays.equals(a, b)); 그리고, 배열 속의 요소가 null인지 확인할 때는 ==를 사용하여야한다. ■ 그리고 배열 속의 null을 비교하기 위해서는, 뭔가, 값 비교를 위하여 equals를 사용하여야 할 것 같지만, == 를 사용하여야한다. 그 이유를 알아보기 위해서, null에 대해서 알아보도록 하자. 자바에는 기본형과 참조형 변수가 있다. ( 자바에서는 기본형 8가지 int, double, boolean 등을 ..
5. KeyHolder6. GeneratedKeyHolder7. namedParameterJdbcTemplate.queryForObject()8. BeanPropertyRowMapper9. namedParameterJdbcTemplate.query()이번 포스팅에서는 저번 포스팅에서 마무리하지 못했던 이 내용들에 대해서 정리해보겠다. Spring JDBC 기본 개념 - DB에 데이터 추가하고, 조회하기 코드 정리(1/2) Spring JDBC 기본 개념 - DB에 데이터 추가하고, 조회하기 코드 정리(1/2)이번 포스팅은 아래 예제를 뜯어보는 포스팅이다.이 예제에 사용된 인터페이스, 메서드, 객체는 다음과 같다.1. namedParameterJdbcTemplate2. SqlParameterSource3...
이번 포스팅은 아래 예제를 뜯어보는 포스팅이다.이 예제에 사용된 인터페이스, 메서드, 객체는 다음과 같다.1. namedParameterJdbcTemplate2. SqlParameterSource3. BeanPropertySqlParameterSource4. MapSqlParameterSource ( 이번 글은 여기까지 )5. KeyHolder6. GeneratedKeyHolder7. namedParameterJdbcTemplate.queryForObject()8. BeanPropertyRowMapper9. namedParameterJdbcTemplate.query()@Repositorypublic class DatabaseProductRepository { private NamedParameter..
우리가 가지고 있는 노트북에는 SSD라는 하나의 하드디스크(저장공간)가 있다.이때, 이 하드디스크가 여러 실행 파일들을 실행하기 위해, 또는 일반 파일들을 저장하기 위해 나뉘어져있는데, 이 나뉘어진 공간을 파티션이라고 한다. 그래서 방금말한 실행 파일들, 또는 일반 파일들을 다룰 수 있는 시스템 파일이 설치되어 파일의 저장, 삭제, 읽기, 쓰기 등의 작업이 가능한 상태가 된 파티션을 볼륨이라고하고,시스템파일이 설치되어 있지않아 파일에 작업을 할 수 없는 공간을 파티션이라고 하는 것이다.여기서 주의할 점은, 볼륨도 단순히 비어있는 공간일 수도 있다. 파티션과 볼륨의 가장 큰차이는 내부가 비어있냐가 아니라, 파일을 저장, 삭제, 읽기, 쓰기 등의 작업을 할 수 있는 시스템 파일이 설치되어 있는지 아닌지이다..