예전 게시글에서 웹게임을 만드는 토이프로젝트를 시작했다고 밝힌 바 있다. 처음 기획안을 작성하고 토이프로젝트를 시작한지 한달 조금 넘은 것 같은데, 초기에는 개발 실력이 너무 모자라서 손도 대지 못했던 것들을 최근 1-2주 사이에 조금씩 조금씩 구현하고 있다. 1-2주동안 게임상에 필요한 여러가지 기능들을 구현하는 테스트를 진행했었는데(아직은 실력이 모자라 구현하지 못하는 기능이 많다. 지금 실력 상으로는 코드를 아주 복~~~잡하게 짜서 만들 수야 있을 것 같은데 솔직히 성공할 수 있을지 잘.. 모르겠다.), 요 며칠동안은 게임 내에서 몬스터와 전투를 할 수 있는 시스템을 구현하는데 집중했었다. 결과는, 최소한 지금 시점에서는, 아주 긍정적. 그렇다고 구현하는 과정이 마냥 평탄했던 것은 아니었다. 중간에..
일러두기 본 글은 국비지원 교육을 듣는 학생이 공부한 내용을 바탕으로 정리하여 적은 글입니다. 초보자가 작성한 글인만큼 내용에 다소간 오류가 있을 수 있습니다. 글의 목적 컴퓨터가 이해하는 유일한 숫자 0과 1, 즉 이진수에 대한 탐구를 기초적인 수준이나마 해보는 것! 십진수와 이진수가 어떤 관계에 있는지를 생각해보고, 특히 십진수와 이진수를 서로 변환하는 과정(=인간과 컴퓨터가 서로 상호작용하는 과정)에서 어떤 문제점(내지는 리스크)를 가질 수 있는지를 이해하는 것! 국비지원 선수학습에서 배운 이진수로 소수를 표현하는 방법을 블로그에 기록하고 정리하는 것! 자, 그럼 시작! 우선 수체계에 대해 조금 생각을 해보자. 중고등학교 때 공부했었던 것들을 떠올리며 아래와 같이 표현해보았다. 수는 집합관계로 이루..
몇주 전 글에서 언급한 '웹게임 만들기' 토이프로젝트를 진행하고 싶어서 최근 며칠간 node.js를 공부했다. 처음에는 단순히 mySQL과 프론트앤드를 연결하고 싶어서 배우기 시작했는데 생각보다 너무너무너무 복잡해서 시간을 많이 쏟아버렸다. 결국 SQL과 접목하는 부분은 건드려보지도 못하고 넉다운...이 되어 버림. node.js 진짜 너무 어렵다. 백앤드 자체가 확실히 어려운 것 같다. 서버를 구축하는 것에서부터 시작해서 API를 만들고(API 개념은 진짜 몇번이고 들은 것 같은데 아직도 정확히 API가 뭔지 모르겠다. 나에게는 너무나도 추상적인 개념....) UI로 보이게 만들고 하는 부분들이.. 지금으로서는 확실히 너무 버겁다. 원래 오늘은 node.js의 진도(생활코딩에서 nodejs2와 node..
시작하기 앞서 이 포스팅은 생활코딩의 WEB2 - Home Server 수업과 DATABASE1 수업을 공부한 후 상기 내용을 복습하고자 적는 글임을 밝힙니다! 해당 개념에 대해 머릿속으로 충분히 정리되지 않은 상태에서 포스팅하는 글이니만큼 해당 정보의 신뢰도가 낮고 해당 정보에 대한 오류가 있을 수 있습니다. 시작하기 앞서 2 - 네트워크와 DB를 공부하는 이유 스파르타코딩클럽의 '왕초보코딩반'을 수강하며 파이썬을 통해 웹의 특정 정보를 크롤링하고 DB에 저장하는 방법을 배웠다. 그리고 DB에 저장된 정보를 원하는 포맷으로 가공하여 내 웹페이지에 활용하는 방법을 배웠다. 그러나 진도가 굉장히 빠른 해당 교육의 특성상 DB에 대한 전반적인 지식을 충분히 얻는 것은 힘든 일이었다. 사실 진도가 너무 빨라서..
* 코딩도장이라는 사이트에서 Level 1짜리 문제풀이를 진행했다. * 코딩도장 사이트 : https://codingdojang.com/ 코딩도장 프로그래밍 문제풀이를 통해서 코딩 실력을 수련 codingdojang.com 1. 10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다. 1000미만의 자연수에서 3,5의 배수의 총합을 구하라. package aloneSolvingExample; public class Multiples_of_3_or_5 { public static void main(String[] args) { // 1000 아래의 3과 5의 배수의 합을 구하시오. int sum = 0; for (int i = 1; i < 1000; i++) { if (i..
일러두기 연 복리를 상정하여 만든 계산기입니다. 금융에 대한 지식이 전무한 필자가 만든 계산기이기 때문에 실제로 사용하는 부분에는 적합하지 않을 수 있습니다 : / ㅎ.. 그동안 배운 Java 공부를 복습하고 싶어서 복리를 계산하는 미니미니한 프로젝트를 기획했다. 이를 위해 우선 메모장을 꺼내 복리에 대한 식을 세워봤다. 원금을 x, 이자율을 4.6%로 상정하고 년차에 따른 이자액 및 총 보유액을 계산해보았다. 그러자 (놀랍게도) 다음과 같은 규식성을 발견할 수 있었다. (저거 계산하는데 1시간 이상 쏟은 것 같다. 중간에 계산이 틀려서 식이 우주로 가는 바람에 머리를 꽤 썼다...) 위를 통해 얻은 규칙성을 수식으로 표현하면 다음과 같다. n년차 이자액 = (원금) x 0.046 x 1.046(n-1)..
시작하기 이전에 논리회로와 전기회로는 등가성을 지닌다. (논리회로의 값으로 전기회로를 구성하면 논리회로와 동일하게 작동한다.) 논리회로는 수학에서의 집합의 개념으로 접근이 가능하다. (중고등학교때 배운 합집합, 교집합 등을 여기에 써먹을 줄이야.) 논리게이트를 사용하여 전기회로(등가성을 지니므로 논리회로라고 봐도 무방)가 특정 조건에서 특정 동작을 수행하도록 조작할 수 있다. 이러한 조작방법은 크게 6가지로 각각 AND, OR, NAND, NOR, XOR 게이트와 인버터(NOT 게이트)로 구체화할 수 있다. 시작하기 이전에 하나 더 / 집합과 논리회로의 관계 A∩B (A와 B의 교집합/ A와 B가 공유하는 가운데 부분) = AND게이트 [설명 : A도 참이고 B도 참인 것] A∪B (A와 B의 합집합/ ..
1. 생활코딩 수업 오늘은 생활코딩의 JAVA 객체 지향 프로그래밍을 학습했다. 어제부터 공부했는데, 제법 어려워서 어제 다 공부하지 못한 것을 오늘 다 공부했다. (어제는 공부하는데 머리가 너무 아파서 포기했었다. 내 전공(역사) 공부할때는 머리가 아프다는 느낌을 받은 적이 딱히 없었는데, 코딩을 공부 할때는 진짜로 말 그대로 머리가 아프다;; 생소한 지식이어서 그런 것 같다. 주제와는 상관 없으니 이하 각설.) 객체지향은 흥미롭다. 클래스의 권한을 한정하여 한 클래스가 다른 클래스에게 영향력을 행사하는 월권을 막을 수 있는 유용한 툴이다. 그리고 상위 객체와 하위 객체를 설정하여 객체간의 권한의 크기를 다르게 부여할 수 있다는 부분도 매우 흥미롭다. 오늘은 클래스보다는 조금 더 추상적인 인스턴스에 대..
1. 생활코딩 JAVA2 - Method Method에 대해 배웠다. 함수가 자바에서는 method라고 불린다는 것과, method를 사용함으로써 코드의 중복을 줄이고 유지 및 보수하기 용이한 코드를 짤 수 있다는 것이 흥미로웠다. Javascript에서 함수를 공부할 때도 흥미로웠었는데 JAVA의 method가 javascript의 함수와 상당히 유사하다는 점에 놀랐다. 언어 하나를 제대로 배우면 다음 언어를 배우는 것은 어렵지 않다는 표현이 이래서 있는 것 같다는 생각을 했다. + JAVA가 객체지향언어라는 것이 무슨 의미인지 조금 이해할 수 있게 됐다. 객체는 Class와 Instance를 포괄하는 개념으로 일종의 폴더? 같은 개념인 것 같다. Class에는 Method와 변수가 들어 있고, 그 C..