Tip/Windows2021. 4. 15. 01:19

AA 건전지 2개로 동작 가능 함

USB-C로 PC와 연결시 건전지 불필요

* IPAD 8세대와 연결시 동작 잘 안함

* 갤럭시 휴대폰과는 동작 잘 됨

'Tip > Windows' 카테고리의 다른 글

Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
Batch file 템플릿  (0) 2020.12.22
WireShark 기초 (PCAP에서 파일 추출)  (0) 2020.11.24
대량의 파일 지우기  (0) 2020.09.22
Posted by chobocho
TAG xbox, 게임

댓글을 달아 주세요

Tip/Android2021. 1. 3. 15:53

2021년 새해 연휴기간 만들어 본 지뢰 찾기 입니다.

1. 안드로이드 지뢰 찾기 소스 코드

github.com/chobocho/minesweeper

 

chobocho/minesweeper

Android Minesweeper Game. Contribute to chobocho/minesweeper development by creating an account on GitHub.

github.com

 

2. 동작화면

2.1 플레이 스토어 다운로드 링크

play.google.com/store/apps/details?id=com.chobocho.minesweeper

 

클래식 지뢰찾기 For Android - Google Play 앱

클래식 지뢰찾기 For Android 클래식 지뢰 찾기 게임 입니다. 지뢰찾기 게임에 대한 추억이 있다면, 이 게임과 함께 추억을 떠올리시기 바랍니다. 이 게임은 광고가 없습니다. 이 게임은 오프라인에

play.google.com

지뢰찾기 게임 실행 화면

 

3. UML

UML

 

4. 어떻게 만들었나

4.1 게임 요구 사항 정리하기

대부분 한번은 해보았을 지뢰찾기 규칙은 대부분 알기에 아래와 간단히 개발 바운더리를 정하였습니다.

1. 구현목표
* 윈도우 지뢰찾기 게임의 클론

2. 요구사항

2.1 운영체제
* Android에서 동작 한다

2.2 게임의 구성
* 화면의 타일의 크기는 10x10 이다
* 지뢰의 개수는 12개 이다
* 지뢰의 위치는 매번 랜덤하게 정해 진다

2.3 게임의 동작
* 지뢰가 없는 빈 칸을 클릭시, 해당 칸을 중심으로 8칸 안에 있는 지뢰의 개수가 표시 된다.
* 1초 마다 시간이 업데이트 된다
* 5999초가 넘어가면 자동으로 게임 오버가 된다
* 깃발/지뢰 선택 버튼을 클릭시 깃발 -> 지뢰 순으로 표시 된다.
* 깃발을 표시 할 때 마다
, 표시 할 수 있는 남은 깃발의 개수가 업데이트 된다.
* Pause 상태로 돌입시, 현재의 게임 상태가 유지 되어야 한다.
* 게임 플레이 중 언제든지 Pause 상태로 변경 할 수 있어야 한다.
* Pause 상태에서는 이어하기와  새 게임 하기가 가능해야 한다.
* 깃발 선택 상태에서 타일을 클릭시 깃발이 사라지거나 표시된다.
* 지뢰 상태에서 버튼을 클릭시 타일이 열린다. 이때 지뢰가 있으면, 게임 오버가 된다.

 

5. 설계 하기

5.1 UML

지뢰찾기 기본 구조 (UI제외)

먼저 게임의 상태를 IDLE / PLAY / PAUSE / WIN / GAMEOVER 로 정의 하고,

이를 반영하여 UML를 그리면 위와 같습니다.

 

Play상태에서 지뢰를 모두 찾거나, 혹은 지뢰를 누른 경우,

Game State를 Win State 또는 Game over state 상태로 변경하기 위하여,

위와 같이 NotifyCallBack interface를 PLAY state가 가지도록 합니다.

 

package com.chobocho.minesweeper;

public interface MineSweeperNotifyCallback {
    public void setWinState();
    public void setGameOverState();
}

 

6. 구현 하기

6.1 Tile 클래스 구현

6.1.1 Tile 클래스

6.1.2 Test code 만들기

6.2 Board 클래스 수현

6.2.1 Board 클래스

6.2.2 Test code 만들기

Posted by chobocho

댓글을 달아 주세요

Tip/Windows2020. 12. 22. 23:16
@REM batch file script
@REM  _________________________________________________________________________
@REM /
@REM |  REM	주석문을 위한 명령어.
@REM +-------------------------------------------------------------------------	  
@REM |  
@REM |  @를 붙여주어야 다시 화면에 나타나지 않는다.
@REM |  
@REM |  ECHO 의미 그대로 화면에 명령어를 보여준다.
@REM |  echo Hello, World!
@REM |
@REM |  Hello, World! 
@REM |  
@REM +-------------------------------------------------------------------------	  
@REM |  CLS	화면을 깨끗하게 지워준다
@REM +-------------------------------------------------------------------------	
@REM |  PAUSE 아무키나 누를떄 까지 잠시 실행을 중단한다.
@REM +-------------------------------------------------------------------------	
@REM |  IF	C의 IF와 비슷하다.
@REM |  
@REM |  IF CONDITION == end GOTO END
@REM +-------------------------------------------------------------------------
@REM |  GOTO 지정된 LABEL로 점프를 한다.
@REM |
@REM |  GOTO END
@REM |
@REM |  data.txt 파일이 존재하면 EXECUTE로 점프
@REM |  IF EXIST data.txt GOTO EXECUTE 
@REM |  
@REM +-------------------------------------------------------------------------
@REM |  5초간 대기
@REM |  
@REM |  timeout /t 5
@REM +-------------------------------------------------------------------------	   
@REM | https://chobocho.tistory.com
@REM +-------------------------------------------------------------------------

@echo off

echo ######                                                  
echo #     #   ##   #####  ####  #    #                      
echo #     #  #  #    #   #    # #    #                      
echo ######  #    #   #   #      ######                      
echo #     # ######   #   #      #    #                      
echo #     # #    #   #   #    # #    #                      
echo ######  #    #   #    ####  #    #                      

batch.bat
0.00MB

'Tip > Windows' 카테고리의 다른 글

Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
Batch file 템플릿  (0) 2020.12.22
WireShark 기초 (PCAP에서 파일 추출)  (0) 2020.11.24
대량의 파일 지우기  (0) 2020.09.22
Posted by chobocho
TAG batch

댓글을 달아 주세요

Tip/Windows2020. 11. 24. 23:14

PCAP 파일에서 image 파일 추출 하기

1. WireShark로 통신 패킷을 캡여하여, PCAP 파일로 저장한다


2. WireShark으로 저장한 파일을 연다

http_tetris.pcapng
0.58MB

3. HTTP object를 추출 한다


4. 이미지 파일을 저장한다
→ left.png 를 선택한 다음 저장 버튼을 누른다


5. 저장된 파일을 확인한다

Posted by chobocho

댓글을 달아 주세요

Tip/Android2020. 11. 1. 22:32

PC에서 휴대폰의 Termux 위에 돌아가는 Jupyter notebook 접속하기

휴대폰의 IP는 192.168.35.195 임

1. Termux 실행

2. Jupyter notebook 실행

jupyter notebook --no-browser --port=8889

3. Port forwarding

ssh -L 8282:127.0.0.1:8889 192.168.35.195 -p 8022

4. PC의 웹브라우저를 열고 접속

Posted by chobocho

댓글을 달아 주세요

Tip/Android2020. 10. 28. 00:02

1. web server 가 8080 포트로 실행되어 있다

2. PC에서 8282 포트로 접속을 하고 싶은 경우

  • 휴대폰은 192.168.35.102 ip를 사용하고 있다

ssh -L 8282:127.0.0.1:8080 192.168.35.102 -p 8022

'Tip > Android' 카테고리의 다른 글

[Termux] PC에서 Jupyter notebook 접속 하기  (0) 2020.11.01
[Termux] SSH port forwarding  (0) 2020.10.28
[Termux] Web server 돌리기  (0) 2020.10.27
[Termux] ssh 사용하기  (0) 2020.10.26
Posted by chobocho
TAG ssh

댓글을 달아 주세요

Tip/Android2020. 10. 27. 23:45

Termux 에서 web server를 실행하는 방법

1. Apache2 설치

apt install apache2

2. httpd.conf 수정

/data/data/com.termux/files/usr/etc/apache2/httpd.conf

DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"
<Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs">

↓↓↓↓↓

DocumentRoot "/data/data/com.termux/files/home/storage/downloads/localhost/myweb"
<Directory "/data/data/com.termux/files/home/storage/downloads/localhost/myweb">

저의 localhost의 위치는 폰의 downloads 폴더의 /localhost/myweb 입니다.

3. Html 파일 복사

저는 아래의 tetris.html 과 스크립트를 복사했습니다.
https://github.com/chobocho/JsTetris/tree/master/src/app/src/main/assets

4. Apache 웹서버 실행

apachectl start

'Tip > Android' 카테고리의 다른 글

[Termux] SSH port forwarding  (0) 2020.10.28
[Termux] Web server 돌리기  (0) 2020.10.27
[Termux] ssh 사용하기  (0) 2020.10.26
[Gradle] Version 명 자동 업데이트  (0) 2020.04.11
Posted by chobocho

댓글을 달아 주세요

Tip/Android2020. 10. 26. 23:31

1. ".bashrc" 파일에 아래와 같이 sshd를 추가한다.

2. termux를 재실행 한다.

3. ssh 192.168.35.12 -p 8022 와 같이 port 8022번으로 접속한다.

'Tip > Android' 카테고리의 다른 글

[Termux] Web server 돌리기  (0) 2020.10.27
[Termux] ssh 사용하기  (0) 2020.10.26
[Gradle] Version 명 자동 업데이트  (0) 2020.04.11
[ChooseOne] 안드로이드 제비뽑기 앱 만들기 (I)  (0) 2019.09.02
Posted by chobocho
TAG ssh

댓글을 달아 주세요

Tip/Windows2020. 9. 22. 23:41

탐색기로 많은 파일을 지울 때 생각보다 시간이 오래 걸린다.

이럴 때에는 command 창을 열고 아래 명령어를 실행 하면 빠르게 지울 수 있다.

del /F /S /Q  [삭제할 폴더] 
rd /S /Q  [삭제할 폴더]

* 주의: 조심해서 사용 해야 함.

Posted by chobocho
TAG command, dos

댓글을 달아 주세요

Tip/Life2020. 5. 11. 23:41

사무실에서 나의 느린 문제해결 속도에 답답해 하면서,

문득 내가 신입 때 이런 걸 알고 준비했면 지금 더 좋지 않았을까 하는 것들이 무엇일까 생각해 보았다.

 

1) 문제해결 방법

몇 달 전 친구와 이야기를 하다가, 네가 면접관이면 새로운 멤버를 구할 때, 어떤 질문을 할 것인가 하고 물어 본적이 있었다. 친구 曰 "문제가 주어졌을 때, 어떻게 해결 할 것인가?"를 물어보겠다고 했다. 그 답을 듣고, 내가 문제를 받고 어떻게 처리하는가를 되돌아 보았다. 그리고 주위에 일을 잘하는 분들을 보면, 일을 잘하는 분들은 차이점이 있었다.

첫째, 문제를 받으면 문제를 명확하게 정의 한다.

문제가 주어지면, 문제의 해결 방향을 정의 한다.

이 문제가 컨셉에 따른 올바른 동작인지,

단순 버그여서, 프로그래밍으로 수정하면 되는지,

과거에 이력에 있는 문제이어서, 수정을 하려면 관계된 다른 부서와 협의가 필요한 것인지,

단순 협의로 정리 할 수 있는 문제인지 등등 문제를 보고 진행 방향을 빠르고 정확하게 판단을 한다.

물론 올바른 판단능력을 가지기 까지는 많은 시행 착오와, 좋은 기억력이 있어야 하고, 자주 선임자들에게 물어서 이력을 파악하고 있어야 하는것도 중요하다.

둘째, 문제 진행 사항 보고

문제의 진행사항을 자주 윗 사람에게 보고하여서, 호미로 막을 일을 가래로 막는 일을 방지한다.

알지 못하는 숨은 이력이 있을 수 있기 때문에, 문제의 진행 상황 보고는 중요하다

셋째, "이 일은 내꺼" 라는 마인드

일을 잘하는 분들은, 모든 일이 자기 일이라는 마인드로 임한다. 문제의 주인 의식이 있다.

어려운 문제가 주어지더라도, 대부분의 사람은 해답의 근처까지는 간다.

그런데 거기서 해답을 찾느냐 못찾느냐가 실력이다.

해답의 근처에서 해답을 찾으려는 노력의 차이가 쌓이고 쌓여서, 고수와 하수가 갈린다.

끝까지 포기 하지 않고 답을 찾는 자세 이것이 중요하다.

 

2) 프로그래밍 스킬

초딩 시절, 생활의 길잡이라는 교재에서 성공한 사람들은 10년간 하루 4시간씩 공부한다는 내용의 글이 있었다.

365일 x 4시간 x 10년 = 14600 시간이고, 주말을 제외하고 계산해도 10440 시간, 10000 시간이 넘는다.

아웃라이어에서 이야기한 1만 시간의 법칙을 우린 초딩 시절에 배웠으나 잊고 살고 있었다.

일을 잘하는 분들은 보면, 끊임 없이 배우고, 공부한다. 남들이 짜놓은 코드를 보면서, 공부하고,

왜 그렇게 짰는가를 생각한다. 그리고 최신 트렌드에 뒤쳐지지 않도록 끊임없이 공부한다.

내가 신입때로 돌아간다면...

Design pattern, Refactoring, 알고리즘 공부에 시간을 많이 쏟았어야 하는 아쉬움이 남는다.

 

3) 어학

글로벌 시대에 어학의 중요성은 아무리 강조해도 부족함이 없다.

영어는 RFC 문서는 자유롭게 읽고, 외국인과 전화 회의를 할 정도의 어학 실력은 반드시 갖추어야 한다.

큰 IT 기업에서 외국인과의 협업은 필수 이고, 컴퓨터 관련 최신 기술은 모두 영어로 나오기 때문에,

영어는 생존을 위한 필수이다. 그리고 미래를 위해 중국어도 반드시 공부해야 한다.

 

4) 체력 

미생에 보면 "좋아 하는 일을 발견하면 체력을 길러라" 라는 문구가 있다.  나이가 들면 결국 체력 싸움이다.

본인이 좋아해도 체력이 안되면 할 수 가 없다. 평소에 꾸준히 건강관리를 하는 것이 중요하다.

'Tip > Life' 카테고리의 다른 글

신입 사원때 알았으면 좋았을 것들  (0) 2020.05.11
Posted by chobocho

댓글을 달아 주세요