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

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

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


전체 글674

Javascript 에니메이션 (svg, canvas, gif)의 렌더링 개발간 반짝반짝(?) 거리는 아이콘이 필요하여 아래처럼 svg를 활용하여 제작을 해 보았습니다. svg 엘리먼트로는 circle과 text 및 animate를 사용 하였습니다. 이렇게 제작한 엘리먼트를 원하는 기능에 붙여서 사용을 하였는데.. 10개 내외정도만 사용할때는 문제가 없었습니다. 그러다가 대략 3,000개 이상을 웹 브라우저에 그렸는데 브라우저가 먹통이 되었습니다. 뭔일인지 보려고 개발도구를 켜 측정을 해보니 아래와 같은 상황이 벌어졌습니다. animate 엘리먼트를 통해서 브라우저에서 지속적인 렌더링이 이루어지다보니... 3천개나 되는 많은 갯수를 감당하지 못하고 메모리소비 + CPU점유가 발생 하였습니다. html canvas를 사용하여도 CPU에서의 연산이 계속 발생하므로 비슷하게 느렸습.. 2023. 1. 13.
[JAVA, JAVASCRIPT] 파일 다운로드 한글깨짐 간단하게 정리한 파일 다운로드시 한글깨짐 현상 방지방법 입니다. 먼저 한글명을 URL인코더를 통해서 인코딩 해 줍니다. * 자바파일 import java.net.URLEncoder; { public String convertFileName(String fileName) { //한글파일 이름을 받아서 try { fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20"); //인코딩! } catch (Exception e) { e.printStackTrace(); } return fileName; } } 자바에서 URLEncoder 클래스는 일반 문자열을 웹에서 통용되는 'x-www-form-urlencoded' 형식으로 변환하는 역할을.. 2023. 1. 9.
전자정부프레임워크 4.1.0 사용 후기 전자정부 프레임워크 4.1.0이 12월 12일 릴리즈 되었습니다. https://www.egovframe.go.kr/home/sub.do?menuNo=94 개발환경 - 4.x 다운로드 | 표준프레임워크 포털 eGovFrame 처리중입니다. 잠시만 기다려주십시오. www.egovframe.go.kr 베타버전으로 나온거긴한데... 기능 구성이 너무 방대해서 보는 데 몇일 걸릴거 같습니다. 적당히 xml을 읽어서 객체를 생성하여 주는, 그래도 그나마 나름 Spring Boot 같은 프로젝트를 만드시려면 아래 사진처럼 Boot Template Project를 선택하셔야 합니다. 나머지 부트 프로젝트 만들기는 모양은 스프링 부트인데 xml읽어서 환경구성하는 방식으로 되어 있습니다. 전자정부 4.1.0은 2가지 프.. 2022. 12. 30.
shp파일 gson 형식으로 변환하기(geojson, json) 구글, 네이버 및 다음 지도나 아니면 오픈레이어스 같은 플렛폼에서 행정구역을 표현하기 위해서는 위도와 경도값이 존재하는 json파일을 필요로 합니다. 일반적으로 지형정보와 관련된 파일은 shp확장자로 되어 있으며, 웹에서는 json 형식으로 추려진 데이터를 사용 합니다. #1. 지형정보 다운받기 지형정보가 들어있는 shp파일은 구글링을 통하면 쉽게 받을 수 있습니다. http://www.gisdeveloper.co.kr/?p=2332 대한민국 최신 행정구역(SHP) 다운로드 – GIS Developer www.gisdeveloper.co.kr 위 사이트를 통해서 원하는 지역크기의 지형정보를 받도록 합니다. 종류는 "시도", "시군구", "읍면동", "리" 단위로 되어 있으며 좌측에서 우측으로 갈 수록 파.. 2022. 12. 29.
ServerSocketChannel, SocketChannel read write 메소드 사용시 주의해야 할 점 Java에서 TCP 소켓 서버를 구현하기 위해 사용되는 클래스 중 ServerSocketChannel 클래스가 있습니다. 해당 클래스는 nio 패키지의 일부이며, 해당 클래스를 통해서 TCP 서버를 쉽게 구현 할 수 있습니다. 아래 샘플코드는 데이터를 받기 위해서 사용하는 프로세스의 일부분을 간략하게 표현한 코드입니다. read 메소드를 통해서 데이터를 받을 수 있습니다. import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.nio.ByteBuffer; { ServerSocketChannel serverSocket = ServerSocketChannel.open(); while(ser.. 2022. 12. 15.
Mybatis 에서 트랜젝션(commit, rollback) 수동 사용하기(SqlSessionFactory, TransactionFactory) 트랜젝션(Transaction) 설정은 스프링 프레임워크 구조에서 애노테이션(Annotation)이나 아니면 xml 같은 파일에서 설정하여 적용해서 사용하고는 합니다. 간혹 이와 다른 형태의 프로젝트를(사용자가 직접 메소드를 호출해서) 해야되는 경우 설정한거 같은데 동작을 안하는 경우를 만날 수 있습니다. 아래 코드처럼 사용자가 직접 메소드를 호출할 때 간혹 동작을 안할때가 있습니다. import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSession; public class 테스트{ SqlSessionFactory factory; public 테스트(SqlSessionFactory 가져온팩토리){ t.. 2022. 12. 12.