본문 바로가기
728x90

Programming15

SQLite 테이블에 컬럼이 있는지 체크 하기 개발을 하다 보면 테이블에 컬럼을 추가 되는 경우가 생긴다. 물론 DB 버전을 (내부적 개발 버전) 특정 table에 저장하고 그 버전에 따라 관리 하도록 하면 좋겠지만 크게 수정이 일어 나지 않을 테이블에 대해 매번 버전에 따른 테이블 관리 코드를 추가 하는 것도 번거로울 수 있습니다. 그래서 아래와 코드를 사용하시면 됩니다. public static class DBConnect { const string path = ""; static SQLiteConnection _conn = null; public static SQLiteConnection CONN { get { if (_conn == null) { string strConn = string.Format(@"Data Source={0}\\mydb.. 2021. 4. 7.
리스트 목록 전체를 중복하지 않게 랜덤하게 가져오기 생각 보다 간단한 방법이 있습니다. 소수를 이용해 리스트의 길이를 나눌때 나누어 떨어지지 않는 것을 이용하는 방법입니다. 가장 많이 사용 하는 방식이 아직 사용 안한 목록을 List에 따로 담아 매번 Random을 돌려 List에서 Random으로 나온 값의 Index를 제거 하는 형식을 사용 하지만 이는 매번 List를 제어 해야 하기 때문에 가비지 컬럭터를 자주 호출 하게 할 수 있습니다. 아주 완변하게 패턴 없는 렌덤으로 보이게 하는 것은 아니지만 소수를 이용한 나누기를 List 길이 만큼 하는 방식은 쉽고 빠르게 List 전체를 랜덤하게 가져오게 해줍니다. int[] values = {29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,.. 2021. 4. 5.
SQLite 속도 개선 우선 속도 개선을 위해 참고 했던 블로그는 아래 링크 남깁니다. mangsby.com/blog/programming/sqlite-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%EB%A5%BC-10%EB%B0%B0-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B0%A9%EB%B2%95/ SQLite 데이터베이스를 10배 빠르게 만드는 방법들 » 맹스비 블로그 QLite 데이터베이스를 사용하다보면, 데이터가 많을 경우 처리 속도가 만족스럽지 못한 경우가 생길 수 있습니다. 그럴 때에는 무작정 다른 종류의 데이터베이스를 찾아보거나 다른 기술을 도입 mangsby.com 주식 자동 매매 프로그램에 .. 2021. 3. 30.
UGUI Text에 배경 사이즈 자동 맞춤 게임 개발 관둔지는 1년이 조금 모자란 시간이 지났네요 구시대 유니티 개발자로써 NGUI 초기 버전부터 개발 해왔었습니다. 그러다 UGUI로 잘 넘어 왔다고 생각 했었지만... UGUI에 있는 기능이 있는 데도 옛 습관을 못 버리고 NGUI 작성 때 버릇이나 있는 기능을 구현해 쓰는 경우가 많았습니다. 오늘 포스팅하는 Text 글자에 따라 배경이 가변되어 맞춰 지는 것도 굳이 텍스트 넓이 가져오고 일정 넓이 넘어가면 다음줄로 넘기고 그래서 높이 가져와서.... 이러 지지부진한 과정 필요 없이 아래를 따라 하시면 됩니다. 1. 우선 Text의 배경이 Text의 부모로 있어야 합니다.(아래 Background) 2. 배경에 Horizontal Layout Group을 Add 해줍니다. - Padding : .. 2021. 3. 24.
Magnetic Window (sticky window) 전에도 글에서 언급 한적이 있습니다. 간단해 보이는 것은 머리에 이끼끼지 말라는 차원에서 알아보지 않고 무작정 만드는 편인데요 ​ 이번엔 메인 창에 자석처럼 자식 창이 붙는 기능을 만들어 봤습니다. ​ 처음엔 확장성을 너무 생각해서 붙어야 할 창에 존을 9분등 해서 어느 위치에 창이 있는지 찾고 거기서 또 얼마나 가까운지 등을 계산 하는 방식으로 구현 하다가..... (한 나절 다 보냄) 'ㄱ' 자 모양으로 붙이거나 좀 더 복잡한 모양으로 붙일 때 오히려 알고리즘이 복잡해 져서 구현 난이도가 올라가게 되어 단순하게 붙어 있는 창들 중에 지금 움직이고 있는 창이 붙을 위치면 붙이는 방식으로 바꿔 구현 했네요 (그래도 반나절이 지났습니다. ^^;) 덤으로 화면 구성 저장 및 로드 기능도 구현 했습니다. (코.. 2021. 2. 17.
C# WindowsForm 같은 Chart 같은 Area에 여러 Series를 다른 길이로 쓸 때 문제 해결 주식 차트인 candle type series 를 기본으로 하고 그위에 여러 지표를 표시 하기 위해 Series를 여러개 넣어 사용 하고 있었습니다. ​ 그런데 candle type series는 Full range로 데이터를 입력 하고 다른 series는 필요 값만 Points.AddXY() 합수를 이용해 입력을 하게 되면 자꾸 ArixX의 Lable이 사라지게 됐습니다. 딱히 기능에 문제도 없고 X label을 다른 chart에서 표시도 해주고 해서 참고 개발을 하다가 이제 더 이상 눈감을 수 없는 지점이 와서 하루종일 여러 방법으로 해결하려 했는데 결국..... 해결 방법을 알게 됐습니다. ​ 원인은 candle type series의 Xvalue를 넣 값과 이후 분석 기반으로 line type, .. 2021. 2. 17.