전체 글 44

React 그냥 막 하기 - 1 (React tutorial)

React tutorial 개발환경 꾸미기 내가 왜 이걸 쓰고 있는지는 잘 모르겠다. 여튼 React에 관해서 알아보실 분들은 다른 사이트에 많이 있으니 참고하시고, 빠르게 node.js 를 통해서 개발해 보도록 하자. * Nodejs나 webpack 같은 기술 스택은 설명하지 않습니다. 왜냐하면, 저도 모르기 때문입니다. 일단 package.json 파일은 다음과 같다. { "name": "react-tutorials", "version": "0.0.0", "description": "", "main": "webpack.config.js", "dependencies": { "babel-loader": "^6.2.0", "babel-plugin-add-module-exports": "^0.1.2", "b..

SW교육/React 2016.08.12

고집센 개구리

고집센 개구리 아이가 아푸다. 나도 기분이 매우 다운된다. 게다가 잘 먹던 약도 안먹는다. 약을 안먹으니 열이 엄청나게 올라가고 있다.힘들다. 어째거나…오늘 아는 형님이 문제 하나를 보여줬는데 거기에 양교수님 성함이 들어있었다. 찾아 뵙지도 못하고 송구하기만 하다. 근데 문제가 은근히 재미있었다. 내 수준이 낮으니 재미있었다가 맞겠다. 일단 문제부터 보자. 문제 두 개구리 가족이 징검다리를 건너다 돌 하나를 사이에 두고 서로 마주쳤다. 좁은 징검다리여서 한 가족이 뒤로 돌아 나와서 비켜주어야 지나갈 수 있지만 개구리들은 고집이 세어서 서로 비켜주려하지 않는다. 어느 개구리도 뒤로 돌아가지 않고 가던 길을 계속 갈 수 있도록 하려면 어떻게 해야 하는가? 목표 최소의 움직임으로 왼쪽에 서 있던 개구리들을 오..

탕수육 게임!?

탕수육 게임…. 이 포스팅을 레크레이션의 달인 남모 교사에게 바칩니다.(넌 정말 짱이었어..) 문득 남모 교사가 탕수육 게임을 만들어 왔길래.. 교육에 투입해도 재미있을 것 같아서 포스팅 합니다. 문제 : 탕수육 게임을 만들기 라는 문제를 해결하기라고 아이들에게 과제를 주었을 때 아이들의 대부분의 반응은 이런 표정일 것이라 예상 됩니다. 뭐.. 그렇죠. 학생들에게 가장 먼저 가르쳐야 할 것은 만드는 기술이 아니라고 생각합니다. 가르쳐야 할 것은 문제를 해결하는 방법이겠죠. 위와 같은 문제를 제시했을 때 대부분의 아이들은 손을 놓아버릴 것입니다. 왜 그럴까요? 우리도 마찬가지로 어떤 문제를 접했을 때 문제의 크기가 너무 크다면 멘탈이 나가는 것과 비슷한 이치일 것입니다. 저 문제는 해결이 불가능하거든요…...

SW교육/EPL 2016.02.15

아두이노와 mBlock 연동

2016.01.26날짜 기준입니다. mBlock이 요즘 좀 뜨고 있길래 한 번 알아보았습니다. 1 사이트에 접속해 봅시다. http://mblock.cc 2 그런데 다운로드가 이렇게 연결된다.. 역시 중국 형들… 바이두 클라우드로 연결되어 버린다. 중국어의 문제는 구글 번역으로 극복하자! 3. 다운로드를 받아야 하는데… 일반 다운로드를 하면 속도는 느리지만, 로그인이 필요없다. 고속을 선택하는 경우 바이두 클라우드의 계정이 필요하다. 4. 다운받고 압축을 풀면 설치형 프로그램이 나온다. 설치과정은 생략한다. 그냥 예를 누르자. 5. mBlock을 실행시키면 귀여운 펜더가 등장한다. 6 mBlock과 아두이노를 연동하기 위해서는 특별한 드라이버가 필요하다.연결-install Arduino Driver를 선..

아두이노와 엔트리 연동시키기

현재 날짜 16.01.26기준입니다. 아두이노와 엔트리를 연동시키는 방법은 간단합니다. 하지만 그 기능이 부족한 편입니다. 일단 엔트리와 아두이노를 연동시켜 보겠습니다. 1 . http://play-entry.com 으로 접속합니다. 2. 메인 화면에서 만들기->새로 만들기 를 클릭합니다. 3. 만들기 화면이 나타나면 하드웨어 버튼을 클릭 4. 하드웨어의 서브 메뉴 중 연결 프로그램 다운로드 클릭 5. 연결프로그램이 다운로드완료가 되면 임의의 폴더에 압축을 해제하고 Entry 단축아이콘 클릭해서 실행합니다. 6. 다음의 화면에서 아두이노를 클릭 7. 드라이버가 설치(설치되었다면 이 단계를 넘어갑니다.) 8. 펌웨어 설치 클릭 9. 다시 크롬 브라우저로 돌아온 후 새로고침 한 후 하드웨어가 연결되었습니다를..

알고리즘 체험

실습1. 자연어 버블정렬2. 자연어 선택정렬3. 자연어 순차탐색4. 자연어 이분탐색5. 순서도 알고리즘 9단계6. 순서도 알고리즘 12단계7. 의사코드 알고리즘 19단계8. 의사코드 알고리즘 20단계 1. 소프트웨어 놀자 탈출모험기 9단계2. 소프트웨어 놀자 탈출모험기 12단계3. 소프트웨어 놀자 탈출모험기 19단계4. 소프트웨어 놀자 탈출모험기 20단계5. 로봇청소기 만들기

그래프에서의 인접행렬과 인접리스트

그래프의 탐색을 하기 위해서는 그래프 정보를 저장해야만 한다. 그래프의 저장 방법 2가지를 살펴보고, 실제 예제를 통해 어떻게 적용되는지 살펴보도록 하겠다. 위와 같은 그래프는 방향성과 가중치를 가지고 있다. 이 그래프를 2가지 방법으로 자료를 정리해 보자. 인접행렬 인접행렬의 경우 2차 배열을 생각하면 쉽다. 이 때 기본 규칙은 간단하다. 각 점을 기준으로 갈 수 있는 방향에 데이터를 저장하며, 갈 수 없다면, 특정한 값을 입력해 놓도록 한다.(기본적으로 0 혹은 -1을 사용한다.) 가중치가 없는 경우라면 0과 1로 표현이 가능하다. 또한, 고민해 보아야 할 것은 방향성을 갖지 않는 경우이다. 예를 들어 위의 예제 그래프의 경우 정점 1에서 2로 이동하는 경로는 1가지 이다. 하지만 방향성이 없는 경우..

배열을 대신하는 벡터

벡터 왠 뜬금없는 벡터에 대한 설명인지 하는 사람도 있을 것이다. 우리가 배열을 사용하면서 가장 많이 경험하는 것이 배열의 크기의 문제이다. 기존의 C 혹은 Cpp 에서 배열을 사용할 때 항상 크기의 문제가 우리의 발목을 잡게 된다. 또한 기존의 배열을 사용하게 되면 정보올림피아드 대회에서 문제에 따라서 배열의 크기를 매우 크게 잡기도 한다. 벡터를 사용하면 초기부터 메모리의 낭비를 줄일 수 있기 때문에 사용을 하기도 한다. 한 가지 중요한 점은. 그렇다고 해서 무분별하게 사용하면 오히려 독이 될 수 있음으로 신중하게 사용하도록 하자! (일반적인 경우 독이 되는 경우는 거의 없다.) (수정중입니다.)

Go lang 설치하기

GO lang이 1.5버전이 배포되었습니다. Go lang이 무엇인지 그리고 어떻게 설치 할 수 있는지 알아보겠습니다. Go는 구글이 개발한 프로그래밍 언어이다. 가비지 컬렉션 기능이 있고,병행성(concurrent)을 잘 지원하는 컴파일 언어다.Go의 초기 디자인은 2007년 9월 21일에 로버트 그리즈머, 롭 파이크, 켄 톰슨이 Inferno 분산 운영체제와 관련된 작업을 하다가 시작되었다. 화이트 보드에 새로운 언어에 대한 스케치를 하면서 초기 20% 파트타임 프로젝트로 시작하였다가 2008년 1월 켄 톰슨이 C 코드를 만들어내는 컴파일러를 만들기 시작했고, 2008년 중반 풀타임 프로젝트로 승격되었다. 2008년 5월 이안 테일러가 Go 스펙의 초안을 이용해서 GCC 프론트엔드를 만들기 시작했고,..

잡다구리들 2015.08.25

아두이노 인터넷 연결하기(Lan, enc28j60) - 3. 소스 살펴보기

일단 인터넷을 연결 했으니! IP를 받아야 겠죠! 시작합시다. DHCP 받아오기예제에 나와있는 소스는 다음과 같습니다. #include //먼저 라이브러리를 불러오겠습니다.static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };//맥 주소를 넣어주어야 하는데 이때 주소는 유니크하게 주셔야 합니다. 16진수 6자리로 되어 있습니다. byte Ethernet::buffer[700];//Ethernet 는 ENC28J60을 typedef을 이용해서 정의한 녀석입니다., ENC28J60.h를 확인하세요.//이때의 버퍼는 transmit과 recieve를 같이 사용하게 되는 버퍼가 됩니다. void setup () { Serial.begin(57600); Serial...