본문 바로가기

Project43

[채팅] 1. Spring boot WebSocket Handler 기본 세팅 // ReactiveWebSocketHandler.kt @Component class ReactiveWebSocketHandler : WebSocketHandler { private val log = LoggerFactory.getLogger(this.javaClass) override fun handle(session: WebSocketSession): Mono { return session.receive() .map { it.payloadAsText.also { log.info(it) } }.then() } } WebSocketHandler 인터페이스를 상속받은 클래스를 만들어 Component로 등록한다. handle에서 메시지가 들어올 때, 할 일 들을 명시해줘야하는데 일단은 돌아가는지 확인하는 .. 2021. 6. 22.
[채팅] 0. 기획, 목표 이제 슬슬 다시 개인프로젝트를 해볼까 하다가 그나마 많이 진행한 테트리스를 켜봤다. 치명적인 버그가 있긴하지만 그럭저럭 돌아간다. 그런데 화면이 너무 텅텅 비어보인다. 버그는 버그대로 고치고 추가기획안으로 피카츄 배구처럼 2p 대전 추가. 온라인 대전 (게임서버 + aws 사용해보기). 컴퓨터 대전 ... 등등을 생각했다. 그러나 나는 웹개발자..! 게임말고 다른걸 해보고 싶어서 채팅서버를 개발해보기로 했다. 그래서 다음 개발건은 게임화면 오른쪽에 채팅화면을 추가할 예정이다. 게임엔 인성질도 빼먹을 수 없으니까 숫자키라던가 누르면 미리 지정해둔 문장을 내보낸다던가. 하는 기능도 있으면 좋을거같다. 나중에 아이템전 추가할거면 숫자키는 다른걸로 변경될거같긴한데 아이템전 추가하려면 지금 속도론 20년 걸릴듯... 2021. 6. 13.
[키움증권] 종목데이터 조회 보호되어 있는 글 입니다. 2021. 2. 2.
[키움증권] 모의투자 계좌개설 보호되어 있는 글 입니다. 2021. 1. 2.
[테트리스] 20. 블록 회전 개선 (2) 이전에 했던 이슈를 마저 처리해보자. 1. 회전 중심 // /js/block.js function Block(blockTypeIndex, x, y) { this.typeIndex = blockTypeIndex; this.type = blockType[this.typeIndex]; this.shape = [...this.type.shape]; this.blockNum = this.shape.length; // add // ... block에 blockNum 변수를 추가. 지금보니 왜 Block을 function으로 만들었을까 싶다. nextBlock 처럼 class로 만들어도 됐을거 같은데 :thinking_face: Block 내에 있는 SMALL_BLOCK_NUM 상수를 모두 this.blockNum .. 2020. 8. 22.
[테트리스] 19. 블록 회전 개선 (1) 오늘의 이슈. 올게 왔군. 현재 블럭은 4x4 배열이다. 회전시 왼쪽, 시계반대방향으로 블럭이 회전시키자. 1 (0,0) 2 (0,1) 3 (0,2) 4 (0,3) 5 (1,0) 6 (1,1) 7 (1,2) 8 (1,3) 9 (2,0) 10 (2,1) 11 (2,2) 12 (2,3) 13 (3,0) 14 (3,1) 15 (3,2) 16 (3,3) 배열로 표현하면 위와 같은 걸 회전하면 4 (0,0) 8 (0,1) 12 (0,2) 16 (0,3) 3 (1,0) 7 (1,1) 11 (1,2) 15 (1,3) 2 (2,0) 6 (2,1) 10 (2,2) 14 (2,3) 1 (3,0) 5 (3,1) 9 (3,2) 13 (3,3) 위 배열로 바껴야한다. (x, y) -> (size - y, x) 로 변경되는 것을.. 2020. 8. 17.