본문 바로가기

2018/01

마인크래프트 기차 모드 ( RTM Real Train Mod ) 마인크래프트에 기차가 있다면.. 상상해 보셨나요? 지금까지 마인크래프트에 레일을 이용한 운송수단 하면, "마인카트" 밖에 생각이 나시지 않았을 겁니다. 하지만 이 기차 모드에서는 각종 기차들을 추가해주고 덤으로 다른 운송수단까지 추가해 준답니다. 마인크래프트 안에서 기차라.. 어떨지 한번 보시죠. 기차모드 설치하기모드를 설치하는 것은 간단합니다. ( 포지를 깐 뒤 마인크래프트를 한 번 실행한 상태여야 진행할 수 있습니다. )먼저 %appdata%\.minecraft\mods 를 쳐서 모드들이 있는 폴더에 들어가 줍니다. 그리고, 다운받은 두 개의 모드 파일들을 압축해제 하지 말고 그대로 넣어 줍니다. 실행이 잘 됩니다. 그리고 맵에 들어가 보면, 이런식으로 위에 주의 문구가 하나 뜰 겁니다. "Pleas.. 더보기
JAVA 접근 제한자 JAVA에는 접근 제한자, 또는 접근 제어자 라고 불리곤 하는 특별한 요소들이 있습니다. 이들은 프로그램에서 실제로 작동되는 코드가 아니면서도, class 안에서나 외부에서 영향을 많이 끼치는 녀석들입니다. 접근 제한자는 말그대로 무언가를 어디까지 접근할 수 있게 하겠냐를 정의해주는데요. 각각 접근 제한자의 사용법과, 어디까지 제한하는지 그리고 어떤 것들을 제한해줄수 있는지 알아봅시다. JAVA 접근 제한자 사용법 접근 제한자들을 알아보기 전에, 각종 접근 제한자를 실제로 사용하는 법에 대해 알아 봅시다. 접근 제한자들은 final 혹은 static 처럼 변수 또는 함수명 앞에 붙어서 사용됩니다.12345678910 public class classOne { public classOne() { } pri.. 더보기
ㅅㅇㅌㅁ 더보기
자바스크립트 비트 연산자 자바스크립트는 모든 것이 다 10진수 단위로 처리되며, 2진수 처리를 보기는 힘듭니다. 사실 저도 2진수 단위에서까지 처리를 하고 계산하는 코드를 별로 짜고 싶어 하지 않을 뿐더러.. 성능 문제가 심각하지 않다면 일반적 숫자 개념만 있어도 충분히 프로그램을 짤 수 있고 하기 때문에 지금까지 영 많이 쓰지는 않았습니다.일단 사용할 이유가 별로 많지 않기 때문이죠. 이렇게 보다보면 JS에 2진수 처리가 있긴 한걸까 생각할만도 한데.. 그렇다고 2진수 처리가 없는 것은 아니랍니다. 생각보다 JS에는 여러가지 비트 연산자들이 있는었습니다. 간단한 논리 비트 연산자부터 비트를 몇칸씩 움직이는 연산자, 그리고 비트들의 값을 뒤집어버리는 연산자도 있답니다. 물론 이런 연산자들이 무한한 2진수에서 계산을 하는 것은 아.. 더보기
자바스크립트 32 비트 정수 구조, 음수 int 자바스크립트에 사용되는 타입들 중에서 우리가 흔히 말하는 '정수'는 number입니다. C와 같은 시스템 계열 언어들은 대부분 값의 범위가 정해져 있고 소수점도 정해져있을 뿐더러 변수 하나를 계속 동적으로 바꾸는 일도 생각보다 힘듭니다. 하지만 JS는 그런 언어들이랑 거리가 멀기에 사실 동적으로 크기도 바뀌고, 소수도 마음대로 넣을 수 있으며 최대 범위도 엄청나게 크기에(최대크기 실험 링크), 사실상 거의 제한이 없다고 보면 되는데요. 하지만 이런 JS도 이 연산을 할때 만큼은 형식이 아주 제한적으로 바뀝니다. 바로 "비트 연산" 이죠. 그럼, 비트 연산에서 사용되는 정수형인 32비트 정수의 구조를 알아봅시다. 32비트 정수 구조먼저 당연하지만 기본 구조는 2진수 형식(2진수는 여기에서)을 띠고 있습니다.. 더보기
10진수 2진수 변환 계산법 / 원리 10진수와 2진수. 10진수는 우리가 평소에 사용하는 숫자이고, 2진수는 2가 되면 다음 자리로 넘어가는 특이한 방식의 숫자 체계입니다. 그런데 이 둘을 서로 변환하는 방법은 무엇이고, 어떤 원리로 그렇게 되는지 아시나요? 이 글에서는 10진수와 2진수의 기본 원리와, 계산법에 대해 이야기합니다. 10진수, 2진수, x진수의 원리 "진수". 뜻이 무엇일까요? 바로 특정 숫자가 되면 다음 칸으로 나아간다는 뜻입니다. 10진수는 10이 되면 다음 칸으로 넘어가고, 2진수는 2가 되면 다음 칸으로 넘어가는 것이지요. 간단히 우리가 생각하는 10진수로 생각을 해 봅시다. 우리가 10을 표현하기 위해서는 어떻게 해야 될까요? 10을 표현하기 위해서는 1과 0을 붙여서 쓸 필요가 있습니다. 총 두개의 숫자를 말이죠.. 더보기
자바스크립트 정규식 RegExp 사용법 웹주소인지 판별하기, 특정한 틀 안에 있는지 확인하기 등등.. 여러가지 문자열들을 자바스크립트에서 처리하다 보면, 정규식이라는 기능이 필요하곤 합니다. 특정 상황에 맞는 문자열인지 검사하거나 특정 부분만 추출해내기 위해서 이 정규식처럼 편한 기능이 따로 없기 때문이죠!정규식이 하는 일은, 혼자서는 못 쓰이며 String과 같이 쓰일 시 문자열에서 특정 형식에 맞는 부분이 있는지 검사하거나 정규식에 맞는 문자열의 부분을 추출하는 정도입니다. 또한 일반적인 함수에서 불가능한 것들을 가능하게 만들어 주죠. 예를 들자면, 문자열의 replace 함수에서 포함된 '모든' 문자열들을 바꾼다던지 하는 것이죠. 아니면 HEX 코드가 맞는지 체크할 수도 있구요. 그럼, 이런 정규식들을 어떻게 사용하는지 알아봅시다. 정규.. 더보기
Node.js agar.io 서버 열기 예전에 한창 유행했던 게임인 Agar.io를 아시나요? 국내에서는 '세포키우기' 라고 불리며 많은 사람들의 사랑을 받았는데요. 그걸 보고, 저도 한번 세포키우기 서버를 열어볼까 하는 마음에 찾아봤습니다. 역시나, 찾아보니까 agar.io를 똑같이 복제해둔 프로젝트들과 여러 문서들이 나오더군요. 그중에 가장 기본이 되는 프로젝트는 Ogar였습니다. Node.js 로 이루어진 서버 프로그램이었는데, 이 Ogar라는 프로젝트가 가장 쉽고 간단하고 빠르고 원래의 agar.io 서버에 가까운 것 같더군요.하지만, 우리는 이제 저런 것에 계속 매달릴 필요는 없습니다. 왜냐하면 게임은 그저 재미있고 빠르고 우리에게 편리하면 되기 때문이죠. 기존에 있던 것들을 무조건 고집할 필요는 없다고 생각했기에, 저는 조금 더 찾.. 더보기
Bitnami WAMP 비트나미 설치하기 PHP 서버를 운영하기 위해서는 어떤 과정이 필요할까요? 대표적으로 Apache가 필요하겠고.. MySQL 같은 데이터베이스도 깔아야 되고.. 두개를 또 연동시켜야되고.. 그저 간단한 과정 같지만 다시 생각해 보면 상당히 귀찮은 것 같기도 합니다. 이거저거 깔아야 되지, 연결시켜야되지.그래서 제가 오늘은 이런 귀찮음을 날려 버릴 수 있는 프로그램인 Bitnami를 가져왔습니다. Bitnami는 Mysql과 Apache 모두를 한번에 깔수도 있고 관리도 편리하게 할 수 있는 프로그램입니다. 그럼, 설치해봅시다. Bitnami WAMP stack 사이트https://bitnami.com/stack/wamp위 사이트에 들어간 후, 오른쪽에 있는 설치파일을 받아 주면 됩니다. 누른 뒤에 무슨 창이 뜬다면, 그냥.. 더보기
JAVA 디스코드 봇 챗봇 만들기 - 2. 개발하기 저번 글에 이어서 이번에는, 디스코드 봇을 직접 만드는 법에 대해 알려드리려 합니다. 혹시라도 이전 글을 안보신 분들은 여기를 먼저 읽으신 후 다시 오시길 바랍니다.그럼, 시작해 보죠.JAVA로 디스코드 봇 만들기 어떤 JAVA 프로젝트던, 자바의 모든 것을 이루는 '클래스'는 필요합니다. 먼저 기본 클래스(메인 클래스)를 생성합시다. 현재 우리가 해야 되는 일은 특별한 뭔가를 상속받거나 한 class를 만드는 것은 아니고, 그냥 코드가 실행되게 하기 위한 클래스를 만드는 것이기 때문에 그냥 아무것도 없는 클래스를 만들거나 main 함수가 있게 해 주는 기능이 있다면, 그걸로 만들어 주면 됩니다. 그럼, 간단한 예제와 함께 시작해볼까요? API 사용하기 1234567891011121314151617181.. 더보기