일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- eventhandler
- C# MDB Handle
- Winform
- C# MDB
- 객체지향
- c#
- Excel Cell Format
- delegate
- MDB Connect
- 시
- 경기도 버스정보시스템
- 버스 API
- 공공 데이터 포털
- solid
- MVC
- eventargs
- 디자인 패턴
- C# 파일 암/복호화
- 경기도 버스
- TDD
- DrawEllipse
- NUnit
- Cell Border Style
- GDI+
- DrawRectangle
- Json.NET
- MDB Select
- WPF
- JSON
- sqlite3
- Today
- Total
목록IT Engineering (149)
White Whale Studio
연동 작업을 하다보니 고객사 오라클 캐릭터셋이 US7ASCII 로 되어 있는데 연결이 문제가 아니라 한글이 깨져서 나오는 심각한 문제가 발생했다. 구글링을 통해서 레지스트리 변경, 환경변수 설정, 코드에서 환경 설정 등 별에 별짓을 다해봤는데 결국 한글은 나오지 않았다. 그 이유인 즉슨 ----------------------------------------------------- 언뜻 보기에는 US7ASCII도 한글을 지원하는 것처럼 보이지만, 사실은 한글이 저장되는 것이 아니고, 한글을이진코드 형태로 변환하여 저장 및 출력하는 형태다. US7ASCII 는 영문글자만을 위한 코드인데 8bit중 7bit만 사용하고 나머지 1비트는 패리티 비트로 사용됩니다. --------------------------..
1. 클라이언트부터 서버까지의 데이터 흐름을 아는데로 설명하세요. 2. 게시판 페이지 처리를 위한 쿼리를 설명하세요. 3. 추상클래스와 인터페이스의 차이점 - 추상클래스 : abstract 를 붙여서 new로 새로운 인스턴스를 생성하지 못하도록 하는 클래스 예를들어 조류를 설명하는 클래스인 경우 하위세부객체인 비둘기나 펭귄같은 경우는 상세하게 객체가 생성되고 메서드가 추가가 되지만 분류상으로 존재하는 조류라는 개념은 인스턴스가 생성되면 안되기 때문에 추상적인 개념으로 조류가 갖춰야할 날개, 난생(알로 태어난다), 부리 등등의 공통 요소에 대한 부분만 명시하는 것이다. 이러한 조류 요건에 맞춰서 세부적인 내용으로 구성된 비둘기는 구상클래스(Concrete Class)라고 한다. 단 하나의 Class만 상속..
C#에서 데이터를 읽을 때 System.Data.Common.DbDataReader를 사용할 경우가 있습니다. 구조체를 활용해서 직접 변환을 하는 경우도 있지만 데이터 타입이 맞지 않는 경우 오류가 발생하기도 합니다. 예를들어 구조체 (여기서는 MODEL)로 바로 변환한다고 하면 List resultsList = r.ToList(); 위와 같이 변환이 됩니다만.. 일부 컬럼의 경우 데이터 타입이 안맞는 경우 쓰레기 값이 들어가기도 합니다. 따라서 이러한 경우 각 컬럼에 필요한 데이터 타입에 맞게 설정을 직접 해줘야하는 경우가 있을수 있습니다. 이러한 경우에 대해 살펴봅니다. 1 2 3 4 5 6 7 8 9 10 11 12 while (r.Read()) { MODEL model = new MODEL(); ..
업무 도중 EF Core 환경에서 프로시저를 콜해보려고 했는데.. 잘 안되서리 ㅠㅜ 사수님께서 알려주신 깃헙 오픈소스입니다. https://github.com/verdie-g/StoredProcedureEFCore verdie-g/StoredProcedureEFCore Entity Framework Core extension to execute stored procedures - verdie-g/StoredProcedureEFCore github.com 우선은 패키지 관리자 콘솔에서 Install-Package StoredProcedureEFCore 위와같이 설치를 하시고 나서 using 문 넣어주시고 1 2 3 4 5 6 List rows = null; ctx.LoadStoredProc("dbo.Lis..
가끔 전임자들이 짜둔 쿼리를 보면... 도대체 구조 파악도 안되고 라인수만 많은 쿼리를 보실수 있습니다. 이러한 쿼리들을 정리하기 위한 사이트가 있어 소개합니다. http://www.dpriver.com/pp/sqlformat.htm Instant SQL Formatter www.dpriver.com 위쪽의 빈 공란에 쿼리를 입력 후 데이터베이스와 Output 타입을 설정하고 중간에 있는 FormatSql을 클릭해주면 아래쪽에 이쁘게 줄정리가 된 쿼리를 볼수 있습니다!
Vue로 구현을 하다보면 CORS 오류가 뜨는 경우가 있습니다. CS환경에서만 구현해와서 웹 쪽 지식이 적은 저로서는 도무지 이해가 안되는 보안 규정이라던가 규칙이라던가 그런것들이 많네요. 사실 Vue에 한정된것이 아니라 자바스크립트 계열 언어인 리액트나 다른 쪽에서도 API호출시 발생할수 있는 문제라고 하네요. 우선 로그 성격으로 블로그를 포스팅합니다. 사실 Vue보다는 서버 쪽인 ASP.net 쪽 API 프로젝트를 수정해줘야합니다. Web.Config 파일에서 1 2 3 4 5 6 7 8 9 10 11 12 13 http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Colo..
Minimum supported Gradle version is 5.4.1. Current version is 4.10.3. Vue.js 웹페이지를 구현하고 Cordova를 사용하여 안드로이드 앱으로 빌드를 하던 도중 발생한 에러이다. 구글링을 해보면 단순하게 gradle/wrapper/gradle-wrapper.properties 파일내에 텍스트를 #Mon Jan 06 18:14:40 KST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/dist..
이전 포스팅에서 연결했던 Sqlite DB내용을 API로 제공하도록 구현해보겠습니다.우선 기존 소스를 수정합니다. 123456789101112131415161718192021222324252627282930313233343536373839404142const sqlite3 = require('sqlite3').verbose(); var treeList = []; // open database in memorylet db = new sqlite3.Database('./db/tms.db', (err) => { if (err) { return console.error(err.message); } console.log('Connected to the in-memory SQlite database.');}); d..
이번에는 Node.js와 Sqlite DB를 연결해보겠습니다.해당 포스팅은 다음의 튜토리얼을 참고하여 작성하였습니다. http://www.sqlitetutorial.net/sqlite-nodejs/connect/ 우선 npm으로 sqlite 관련 모듈을 설치합니다. --> npm install sqlite3 다음으로 js 파일을 하나 만들고 다음과 같이 타이핑해봅시다. 123456let db = new sqlite3.Database(':memory:', (err) => { if (err) { return console.error(err.message); } console.log('Connected to the in-memory SQlite database.');});Colored by Color Scri..
이번에는 파일 업로드를 해볼겁니다.웹 사이트에서 파일을 첨부하거나 해서 업로드 할때 주로 쓰이지요. Formidable 모듈을 사용하는데 Formidable의 사전적 의미는 가공할, 어마어마한 무시무시한이라는 뜻이라네요.얼마나 무시무시한지 한번 봅시다. 우선 npm으로 모듈을 설치합니다.커맨드 창에서 npm install formidable 을 입력해서 설치하고 var fomidable = require('formidable'); 로 include하여 사용합니다. fileUpload.js 파일을 하나 만들고 다음과 같이 타이핑 해봅니다.주의 하실점은 저장될 경로를 잘 맞춰주어야 합니다. 맞지 않는 경우 에러가 나서 찾느라 고생합니다. 123456789101112131415161718192021222324..