컴퓨터 59

[C#/ PostgreSQL] C#에서 Npgsql TimestampTZ 쿼리

C# Datetime to Npgsql TimestampTZ C# 을 이용하여 TimestampTZ 형식의 컬럼에 데이터를 넣을 때, 입력한 시간과 다르게 출력되는 경우가 있다. C#에서 입력한 시간보다 DB에는 9시간( UTC+9 한국 기준) 느린 시간이 출력되는데,이는 C# 에서 UTC 설정을 해주면 해결할 수 있다. 123456// DateTime 예제 (SpecifyKind 메소드)var time = new DateTime(2015, 10, 27, 0, 0, 0);Console.WriteLine(time.ToString()); // 2015-10-27 오전 12:00:00 var date = DateTime.SpecifyKind(time, DateTimeKind.Utc);Console.WriteL..

컴퓨터/C# 2016.06.30

[DevExpress] GridControl 정렬 후 여러 항목의 인덱스 가져오기

Get multiselect rows index after sorting GridControl with DataTable DevExpress 의 GridControl 사용 시, DB로부터 받은 DataTable 형식의 데이터를 DataSource 속성에 넣었다. 12var table = new DataTable(); // from DBthis.gridControl1.DataSource = table;cs 그러면 자동으로 컬럼이 입력된다. 여기서, 선택된 Row의 Index를 가져오려면 두가지 속성을 사용할 수 있다. 출처 : DevExpress Identifying Rows and Cards 위 이미지와 같이 그냥 GetSelectedRows() 로 가져오는 것과, RowHandle로 가져오는 방법이 있..

컴퓨터/DX C# 2016.06.09

[postgresql] Error: relation does not exist

INSERT INTO 시 발생하는 에러로, 문자그대로 보면, 존재하지 않는 테이블 명을 입력했다는 것입니다. 하지만 위 사진을 보면, 분명 Object browser에 적혀있는 그대로 적었는데도 에러가 발생하는 경우가 있습니다. 이럴땐, - 해결 방법 : 테이블 명이 Uppercase, Lowercase 혼용일 경우, 쿼리에서 테이블명에 ""를 씌워주면 됩니다. "" 를 붙이냐 안붙이냐의 차이는, 쿼리를 해석할 때, '대소문자를 구분해라'라는 의미라고 합니다. 만약, 테이블명에 대소문자가 혼용되어있다면, 이를 구분해줘야하기 때문에 ""를 반드시 써야하고, 테이블명에 소문자만 있을 경우, ""를 써도 되고 안써도 된다는 것입니다. 그러므로, 테이블 명은 가능하면 모두 Lowercase로 만드는 것이 좋습니..

컴퓨터/DB 2016.06.01

[.net] jni4net 을 이용하여 c# .net 에서 .jar 파일 사용하기

jni4net 이 라이브러리는 Java에서 C# 라이브러리를 사용하거나C#에서 Java 라이브러리를 사용할 수 있도록 도와줍니다. 여기서는 C#에서 Java 라이브러리를 사용하는 방법에 대해 다룹니다. 크게 두 작업 절차를 거치는데,첫째는, 라이브러리에 포함된 실행파일인 '프록시 파일'을 실행하면, 브릿지 역할을 하는 자바, 닷넷 코드와 배치 파일 등을 생성해줍니다.둘째는, 생성된 배치 파일을 실행하면, 코드를 컴파일하여 *.j4n.dll 파일과 *.j4n.jar 파일을 생성합니다.라이브러리에 포함된 jni4net.dll 파일과, 생성된 *.j4n.dll 파일이 C#과 자바 사이의 다리 역할을 한다고 볼 수 있습니다. 하지만, jni4net 에서 프록시 과정을 잘 거치려면, jar 파일이 몇가지 조건을 ..

컴퓨터/C# 2016.04.26

[VS10] 사용 가능한 소스 없음, PDB가 이미지와 일치하지 않습니다.

문제 : 프로젝트에 dll 파일을 참조하였다. 그리고, 해당 dll에 대한 소스 파일을 디버깅하기 위하여 빌드할 때 만들어진 pdb 파일을 같은 경로에 두었다.그런데 디버깅 중, 해당 모듈을 사용하는 곳에서 소스가 로드되지 않고 '사용 가능한 소스 없음' 창이 떴다. 자세한 정보를 얻기 위하여 아래 이미지와 같이 호출 스택에서 기호 로드 정보를 도시하였다. 그러면, 아래와 같은 PDB 기호 로드 정보 창이 도시된다. 내용을 보면 'PDB 파일을 찾거나 열 수 없습니다.' 와 같은 내용이 대부분이지만, 첫번째 줄에서 'PDB가 이미지와 일치하지 않습니다.'라는 문구를 볼 수 있다. 첫번째 줄의 경로에서 PDB 파일을 찾았지만 모듈 파일과 무언가 정보가 일치하지 않는다는 것 같다. 해결 방법 :아래 문구로 ..

컴퓨터/C# 2016.02.22

[C#] 확장 메서드

확장 메서드란, 메서드가 사용될 클래스명을 첫번째 파라미터로 지정하여,마치 해당 클래스가 확장 메서드를 인스턴스 메서드로 갖는 것처럼 보이게하는 것이다. 확장 메서드의 사용 방법은, 첫번째 파라미터의 앞에 this 키워드를 써주면 된다. 1234567891011namespace ExtensionMethods { public static class MyExtensions { public static int WordCount(this String str) { return str.Split(new char[] { ' ', '.', '?' }, StringSplitOptions.RemoveEmptyEntries).Length; } } } Colored by Color Scriptercs>> WordCount 라..

컴퓨터/C# 2016.02.02

[DevExpress] PropertyGrid 사용 중 확장되지 않는 속성 문제

DevExpress 버전 : 13.1 DX의 PropertyGridControl 사용 중에 아래와 같이 하위 속성이 존재하지만 컨트롤 상에서 확장되지 않는 경우가 있다. 확장되지 않는 클래스의 이름이 'MyClass'라고 할 때, 아래와 같이 Attribute를 추가한다.(구조체로도 가능하다.)12345[TypeConverter(typeof(ExpandableObjectConverter))]public class MyClass{ ....} Colored by Color Scriptercs 그러면 클래스를 확장시킬 수 있게 된다. keyword : c# propertygrid can't expand참고 : [StackOverflow] How do I view object properties in Prope..

컴퓨터/DX C# 2016.01.28

[Linux] 파일 및 디렉토리의 소유자/소유그룹 변경

소유자/소유그룹 변경하기 소유자와 그룹 소유자를 변경하려면 chown 명령어를 사용하면 된다.1$ chown root:group libcs 위 명령어는 'lib' 항목에 대하여 소유자를 'root', 소유 그룹을 'group'으로 변경한 것이다.만약 계정 아이디가 'user'가 있고, 'lib'항목의 root 소유 권한을 'user'에게 넘긴다면 아래와 같은 명령어를 사용하면 된다.1$ chown user libcs 만약 'group'그룹이 있고, root 그룹 소유를 'group'그룹에게 넘긴다면 앞을 비우고 :뒤에 그룹 아이디를 적으면 된다.1$ chown :group lib cs 위처럼 둘다 소유자 및 그룹 소유자를 변경한다면1$ chown user:group lib cs lib는 디렉토리다. 만약..

컴퓨터/Linux 2016.01.05

[Linux] 파일 및 디렉터리의 권한 변경하기

권한 변경하기파일 또는 디렉토리의 권한은 chmod 명령어를 통해 변경하게 된다.1$ chmod 777 libcs여기서 숫자의 값은 유저가 갖는 rwx 권한의 합을 나타낸다.각각 값은 아래와 같은 의미를 갖는다. 권한값 r 4 w 2 x 1 읽고, 쓰고, 실행 가능한 값은 4+2+1=7이다.만약 읽기만 가능하도록 하면 4+0+0=4이다.따라서 777이란 의미는 유저가 읽고, 쓰고, 실행이 가능하다 라는 뜻이다. 특수 권한 변경하기이제 설명할 것은 기본적인 rwx 권한 이외의 특수한 목적으로 만들어진 권한이다. 특수 권한설명 값 SetUID 파일을 실행하는 동안에는 소유자의 권한을 획득하는 허가권. 4 SetGID 파일을 실행하는 동안에는 소유 그룹의 권한을 획득하는 허가권. 2 Stick Bit 아무나 ..

컴퓨터/Linux 2016.01.05