본문 바로가기

분류 전체보기

(61)
[복습] 인덱서 - C# 인덱서 인덱서에서는 클래스나 구조체의 인스턴스를 배열처럼 인덱싱할 수 있다. 클래스나 구조체는 배열이 아니지만, 배열처럼 []를 사용하여 내부 필드값에 접근할 수 있다. 인덱서는 다음과 같이 사용할 수 있다. public T this[int i] { get { return arr[i]; } set { arr[i] = value; } } 간단예제 class SampleCollection { private T[] arr = new T[100]; public T this[int i] { get { return arr[i]; } set { arr[i] = value; } } } class Program { static void Main() { var stringCollection = new SampleColle..
[복습] LINQ - C#, 링크 ,링큐 배경 C# 버전 3.0에 추가된 기능 C# 버전 3.0은 Visual Studio 2008과 함께 2007년 말에 출시되었지만 언어 기능을 완전히 갖춘 버전은 .NET Framework 버전 3.5와 함께 제공됨 사용이유 private static List students = new List { new Student {First="Svetlana", Last="Omelchenko", ID=111, Scores= new List {97, 92, 81, 60}}, new Student {First="Claire", Last="O'Donnell", ID=112, Scores= new List {75, 84, 91, 39}}, new Student {First="Sven", Last="Mortensen", ID..
[복습] Delegate - C#, CSharp, 씨샵, 델리게이트, 대리자 Delegate란? 사용방법 delegate [반환형식] [대리자이름](매개변수_목록) delegate int MyDelegate(int a, int b); Delegate는 인스턴스가 아닌 형식(Type)이다. 위의 예시에 있는 MyDelegate는 int, string과 같은 형식이며, "메서드를 참조하는 그 무엇"을 만들려면 MyDelegate의 인스턴스를 따로 만들어야 한다. 예제 - delegate의 덧셈, 뺄셈 메서드 참조 delegate int TestDelegate(int a, int b); class Calculator { public int Plus(int a, int b) { return a + b; } public static int Minus(int a, int b) { retur..
[Docker] Synology의 Docker에 올린 서버가 외부접속은 되고 내부접속은 안될 때 Docker에 SQL Server를 올리고 포트설정을 마치고 포트포워딩을 한 후에 회사에서 SQL Server에 SSMS로 외부접속할 때는 접속이 잘 되었다. 하지만 집 PC로 내부망에서 SSMS로 접속하려니깐 접속이 되질 않았다. 정확한 이유는 모르겠지만 시놀로지 제어판에서 보안 -> 방화벽에서 Docker에 올린 컨테이너에 해당하는 포트를 활성화시켜주니깐 내부망에서도 접속이 잘 되었다.
[Docker] 시놀로지의 Docker에 MSSQL 설치 및 개발 환경 구축 MSSQL 이미지 다운로드 버전은 Latest를 선택해주었다. 컨테이너 생성 # 해당 이미지를 더블클릭해서 컨테이너 생성창으로 넘어간다. # 컨테이너 이름 지정 고급설정 # 자동 재시작 활성화 생성할 SQL Server는 여러 개인 프로텍트에서 공통으로 사용하는 서버이므로 비정상 종료가 되더라도 다시 서버가 실행될 수 있게 '자동 재시작 활성화' 기능을 체크해주었다. # 볼륨 설정 MSSQL 관련 디렉토리는 data, log 두 부분이 있기 때문에 볼륨 설정할 때 폴더도 두 개를 만들어 준다. # 포트 설정 기본적으로 컨테이너 포트가 1433으로 설정되어 있는데 마음대로 변경해도 상관없다. # 환경변수 설정 도커 컨테이너 실행 후 MSSQL Server 포트 설정 도커 컨테이너 포트를 기본 포트인 143..
[Docker] Synology Nas의 Docker에 NodeJS를 이용한 API Server 배포 2020/11/01 - [NodeJS] 윈도우 환경에서 NodeJS 설치 및 API 테스트 [NodeJS] 윈도우 환경에서 NodeJS 설치 및 API 테스트 NodeJS 설치 및 테스트는 윈도우 환경에서 진행되었다. NodeJS 설치 https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 나 같은 경우에는.. zzangwoo.tistory.com 먼저 NodeJS를 이용하여 API Server를 만드는 코드는 위의 글을 참고하면 된다. NodeJS 이미지 다운로드 Node.js 버전은 latest를 선택해주었다. 컨테이너 생성 # 이미지 -> 해당 이미지..
[NodeJS] 윈도우 환경에서 NodeJS 설치 및 API 테스트 NodeJS 설치 및 테스트는 윈도우 환경에서 진행되었다. NodeJS 설치 https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 나 같은 경우에는 많은 기능을 구현하지 않고 간단한 API Server만 만들 예정이라 안정적인 버전이 아닌 최신 버전을 다운받았다. 설치 후 확인 개발 시작 테스트 하기 위해 node_modules, package.json 파일 다운 (https://github.com/vbflash/nasnodewebserver) 직접 만들어서 써도 된다고 하지만 처음 해보는거라 미리 정리되어 있는 모듈을 가져와서 사용하려 한다. 간단설명 ..
[FFPROBE] 동영상 길이 확인 - C#, Winform 영상을 이미지로 변환시킬 때 변환시킬 영상의 시작 시간과 끝 시간에 대해 예외처리를 할 일이 있어서 동영상 길이를 확인할 수 있는 방법을 찾아야 했다. 'NReco.VideoInfo'라는 라이브러리를 알게 되었고 이를 이용해서 성공적인 예외처리를 할 수 있었다. NReco.VideoInfo 설치 NuGet 패키지 관리 NReco.VideoInfo 설치 사용 FFProbe ffProbe = new FFProbe(); var videoInfo = ffProbe.GetMediaInfo("동영상 경로"); double videoDuration = Math.Floor(videoInfo.Duration.TotalSeconds); 위의 코드에서 Math.floor를 이용해서 동영상 길이를 버림하는 이유는 가끔 소수점..