본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


전체 글674

HTML Canvas 룰렛 기능(roulette) * 게시글 하단의 제 깃허브 주소를 통해 실제 구현된 모습을 볼 수 있습니다 HTML Canvas로 만든 룰렛 기능(roulette) 입니다. 룰렛은 원형 판이 빙글빙글 돌아가다 멈추는 기능입니다. 캔버스에서 이러한 룰렛기능을 만드려면 부채꼴(circular sector)을 그려주는 방법을 사용하면 됩니다. 원을 그려준 다음에 해당 각도를 계속해서 증가하면 빙글빙글 돌아 갈 것 입니다. 먼저 그려줄 부채꼴을 계산합니다. const canvas = document.getElementById('canvas') const ctx = canvas.getContext('2d') let width = canvas.width let height = canvas.height const devide = 12 //나눌 갯.. 2022. 1. 21.
HTML Canvas 슬롯머신 기능(slot machine, 빠찡꼬, 파친코) * 게시글 하단의 제 깃허브 주소를 통해 실제 구현된 모습을 볼 수 있습니다 HTML 캔버스를 활용하여 만들어본 슬롯머신 기능(slot machine, 빠찡꼬, 파친코) 입니다. 슬롯 머신이란 아래 사진처럼 나누어진 구역에서 컨텐츠가 세로로 회전하여 목적값에 도달하는 기능입니다. 이를 캔버스에서 구현하기위해 기능을 분석하여 보았습니다. 1. 구역 나누기 2. 숫자 배치 3. 회전 속도 에니메이션 4. 목적지에 도달 시 에니메이션 종료 먼저 구역을 나누는 작업입니다. 여기에서는 총 4개의 구역으로 나눌 예정이라 먼저 position이라는 배열값에 4개의 넓이를 나누어 넣어주었습니다. 그리고 높이는 서로 같기 때문에 따로 추가하지는 않습니다. 캔버스 작업을 하면 항상 잊지말고 해주는 것이 save와 rest.. 2022. 1. 18.
취약한 printStackTrace 메소드(CWE-497) 자바로 개발된 프로그램에서 오류(Exception)와의 관련된 처리는 try - catch문구를 사용하여 가능 합니다. catch 문법에서 콜백함수로 Exception을 받을 수 있는데.. printStackTrace 메소드를 사용하면 쉽게 오류 정보의 위치 및 형태를 확인 할 수 있습니다. 해당 메소드를 사용하면 패키지, 클래스 및 오류의 종류까지 전부 log에 출력을 하게 됩니다. 그러므로 해커가 만약 침투에 성공하였다면 해당 로그를 탈취하여 각종 클래스 및 정보를 획득 할 수 있기에 취약점 도구를 사용하면 "제거필요" 한 메소드로 자주 검출 됩니다. #방법1 printStackTrace 메소드를 전부 제거하는 것 입니다. 무엇보다 효과적이면서 간단한 방법입니다. 그러나 오류를 아에 남기지 않으므로 .. 2022. 1. 17.
간단하게 구성하는 SpringBoot Websokcet server(스프링부트 웹소켓 서버) 스프링부트에서 웹소켓 서버 환경을 구성하는 아주 간단하고 빠른 방법 입니다. 프로젝트 자체가 당연히 웹 서버 기반으로 기초 환경구성이 되어야 하겠습니다. 필요한 의존성 라이브러리는 딱 1개 입니다. * gradle 기준 implementation 'org.springframework.boot:spring-boot-starter-websocket' * mavne 기준 org.springframework.boot spring-boot-starter-websocket 첫번째 단계로는 어떠한 요청에 대해서 서버가 응답할지를 결정하는 설정파일을 작성하는 것 입니다. WebSocketConfigurer 인터페이스를 상속받는 설정 클래스를 만들어 줍니다. import org.springframework.context.. 2021. 12. 27.
[기본] MongoDB find query(몽고DB 검색) 몽고db에서의 기본 쿼리문을 간단하게 정리합니다. (공통)데이터베이스 사용 : use 대상 (공통)컬렉션 확인 : show collections (공통)검색 함수 : db.컬렉션.find() (공통)갯수 함수 : db.컬렉션.find().count() #1. 전체 선택 쿼리 : {} 구분 몽고DB 관계형 내용 db.컬렉션.find({}) select * from collection #2. 매칭 쿼리 : {대상 : 값} * Object형식의 json 값인 경우 - {'target.오브젝트(json)키' : 'A'} 또는 {target : {오브젝트(json)키 : 'A'}} 구분 몽고DB 관계형 내용 db.컬렉션.find({target : 'A'}) select * from collection where .. 2021. 12. 21.
아파치 ‘로그4j’ 2 취약점(log4j LDAP, Apache Log4j 2) 최근 아파치재단에서 배포하여 스프링, 전자정부 및 스프링부트 등 Java 기반의 어플리케이션 서버에서 범용적으로 쓰이는 로깅 라이브러리인 log4j 취약점이 발생했다는 소식이 들려 왔습니다. 또한 한국인터넷진흥원에서 아래와 같은 공지사항을 안내하였습니다. https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389 KISA 인터넷 보호나라&KrCERT KISA 인터넷 보호나라&KrCERT www.boho.or.kr 아파치 log4j에 대한 아파치 웹 페이지에서도 해당 이슈에 대해서 설명하고 있습니다. * 해당 사이트를 등록하셔서 바뀌는 버전과 이슈를 자주 확인하셔야 합니다. 한국인터넷진흥원보다 소식이 더 빠릅니다. https.. 2021. 12. 13.