반응형

Study 152

구분자(delimiter)가 같은 문자열(string) 데이터를 특정 타입(type)의 어레이(array)로 변환하기

문제의 정의 제품의 데이터 로그를 문자열(string)의 연속으로 저장하여 남긴다고 가정하자. 예를 들어 위치 센서의 값이 데이터 로그로 저장되는 경우를 생각해보자. 이 위치센서의 값은 기준 대비 오일러(Euler) 좌표계로 값을 저장해둔다. 즉, Tx, Ty, Tz, Rx, Ry, Rz에 해당하는 값들이 저장되어 있다. 이러한 일련의 값들을 ','(comma)를 구분자(delimiter)로 두고 문자열로 저장해두었다. 이러한 데이터 로그를 읽어드려 더블(double) 타입의 변수에 저장하여 다루고자 한다. 즉, 문자열 데이터를 더블 타입의 어레이 변수로 저장하고자 한다. 이를 다이어그램(diagram)으로 표현하면 아래와 같다. 방법 일반적인 방법을 먼저 소개하겠다. 먼저 문자열 값을 저장한 후 구분자..

Study/C# 2021.01.21

특정 어레이(array)의 일부분을 가져오거나 복사하기

문제의 정의 특정 어레이(array)가 있다고 가정하자. 이 어레이의 일부를 가져와서 사용하거나 다른 변수에 저장을 하고자 한다. 예를 들어 이 어레이의 데이터 중 인덱스 번호 3부터 7까지의 값을 다른 변수에 저장해야하는 경우 어떻게 해야할까? 방법 for loop을 사용하여 시작 인덱스부터 끝 인덱스까지 가져오는 방법이 일반적이다. C#의 Array 클래스가 가지고 있는 Copy() 메서드를 사용하면 조금 더 간결한 코드로 이를 수행할 수 있다. MS 문서의 Array.Copy 메서드 항목 중, Array.Copy(Array, Int64, Array, Int64, Int64)를 간단히 설명하고 사용해보고자 한다. 이 메서드는 다음과 같은 파라미터를 필요로 한다. 이 메서드를 사용하여 특정 어레이의 일..

Study/C# 2021.01.19

C# WPF에서 user control과 data binding에 대한 간단한 설명

응용 프로그램에서 유저 컨트롤(User control)이란? 윈도우 OS에서 동작되는 어떤 응용프로그램을 만든다고 가정하자. 여기서 응용프로그램은 사용자에게 정보를 보여줄 수 있고, 사용자의 입력을 받을 수도 있다. 예를 들면 텍스트로 정보가 작성된 어떤 ‘화면’이 있고, 사용자가 원하는 동작을 수행하기 위해 ‘버튼’이 있을 수 있다. 이처럼 화면과 버튼과 같은 요소들을 유저 컨트롤(User control)이라고 할 수 있다. 확장하여 생각한다면 UI의 요소라고 말할 수 있다. 유저 컨트롤은 응용프로그램을 개발할 때 사용자의 입력을 받기도 하고 사용자가 출력을 받아드리기도 하는 중요한 부분이다. 이러한 요소를 단순하게 사용할 수도 있지만 좀 더 편의성, 기능성을 주기 위해 개발자가 변형하여 사용할 수도 ..

Study/C# 2021.01.17

Third-party library 사용에 있어서 visual studio와 C# version 그리고 .NET framework 확인의 중요성

왜 나는 제목과 같은 내용이 중요하다고 하는가?! C# WPF을 사용하여 코딩을 할 때는 통합 개발 환경 (IDE; Integrate Development Environment)로 visual studio를 많이 선택하게 된다. 또한 여러 외부 라이브러리를 많이 사용하게 된다. 모든 코드를 A-Z까지 작성하는 것은 바보 같은 일이므로 똑똑한 누군가가 잘 만들어 놓은 것을 잘 활용하는 게 꽤나 많이 중요하다. 이때 library를 원하는대로 설치하는 것이 어려운데 그 이유는 호환성 때문이다. 우리가 사용하는 이 개발 환경에 맞는 library를 설치해야지만 온전히 그 library를 document와 예제를 참고해가면서 사용할 수 있을 것이다. 꼭 최신 버전이 아니더라도 이전의 버전을 설치하여 잘 활용하는..

Study/C# 2020.02.20

Visual studio 2012 & 2010에서 Nuget 사용을 위한 update 와 PM console 사용법

Update가 필요한 Nuget nuget은 visual studio에서 제공하는 third-party library와 tool들을 설치 및 사용할 수 있게 도와주는 확장 기능이다. 이러한 nuget을 상대적으로 출시된 지 오랜 시간이 지난 visual studio에서는 update를 진행하고 나서 사용할 수 있다. 필자는 현재 개발에 visual studio 2012를 사용 중이다. 개발 중 nuget에서 제공하는 third-party library를 설치하려고 하였고 이 중에 먼저 nuget update를 먼저 update를 하는 방법을 정리하고자 한다. (이때 사용한 visual studio는 2012 professional임을 밝힌다.) Nuget update 수행 먼저 nuget에서 설치한 li..

Study/IT & Computer 2020.02.20

code war 사용법

일을 하며 느낀 개발 능력에 대한 욕망(?) 나는 제조업에서 응용소프트웨어를 개발하는 일을 하고 있다. 의공학을 전공하고 개발을 진행하려다보니 내 역량이 부족하다는 것을 느꼈고 또한 스스로도 개발에 대한 역량을 늘리고 싶었다. 어떻게 하면 개발이라는 역량을 올릴 수 있을까 여러 다른 주니어 개발자의 회고 및 후기를 보았다. 많은 글들에서 개발에 대한 공부의 기본은 알고리즘과 배운 것을 이해한 정리라는 글들을 많이 보게 되었다. 동시에 위와 같은 것들을 github를 이용해 기록으로 남기는 TIL (Today I Learned)라는 개발자들 사이의 운동(?)같은 것이 동기부여에서도 도움이 많이 된다고 하였다. 그래서 이를 해보기로 했다! 즉, 알고리즘 기본으로 공부하면서 이따금씩 배운 것을 TIL에 하나하..

Study/IT & Computer 2020.02.07

FDDI(Fiber Distributed-Data Interface)

최장 200km까지 연장이 가능한 근거리통신망의 광케이블 데이터 전송의 표준이다.FDDI 프로토콜은 토큰링에 기반을 두고 있다. 지형적으로 넓은 지역을 커버할 수 있으며, 근거리 통신망으로 사용시 수천 명 정도의 사용자를 지원할 수 있다. 토큰링 기반이므로 토큰링을 가지고 있는데 2개의 토큰링을 가진다.그 중 하나는 1차 링에 장애가 발생하였을 때 사용하는 백업용 링이다.1차 링은 100Mbps의 속도를 제공한다. 만약 2차 링을 백업에 사용하지 않는다면, 그것 또한 데이터 전송에 사용될 수 있어서 200Mbps의 속도로 확장할 수 있다.링을 두 개 사용하면 한 개를 사용할 때보다 짧은 거리에서 사용해야 한다. 단일 링의 경우 200km까지 연장이 가능하지만, 이중 링은 100km까지만 확장할 수 있다.

Study/Network 2014.07.28

NIC(Network Interface Card)

ad-hoc 네트워크 카드라고도 불리며 컴퓨터 네트워크 안에서 컴퓨터끼리 통신하는 데 쓰이는 하드웨어의 하나이다.대한민국에서는 랜 카드라고 많이 말한다.OSI 계층 1(물리 계층), 계층 2(데이터 링크 계층) 장치를 가지는데, 맥 주소를 사용하여 낮은 수준의 주소할당 시스템을 제공하고 네트워크 매개체로 물리적인 접근을 가능하게 한다.사용자들이 케이블을 연결하거나 무선으로 연결하여 네트워크에 접속할 수 있다.IEEE 표준에 근거하여, 고유의 맥 주소를 네트워크 인터페이스 컨트롤러의 제조업체에게 할당하는 책임을 진다.이전에는 보통 확장 카드로 따로 설치하였지만 요즘에는 대게 메인보드에 내장되어 쓰는 경우가 많다.연결방식에 따라 다양하게 나뉜다.메인보드 기준 : 내장형, PCI 커넥터, ISA 커넥터, PC..

Study/Network 2014.07.28

ad-hoc 네트워크

ad-hoc 네트워크는 라우팅 알고리즘이 이동성을 직접 처리하는 네트워킹 방식이다.만약 노드가 움직여 트래픽을 다른 쪽으로 강제로 옯기면, 라우팅 프로토콜은 노드의 라우팅 테이블에 일어난 변화를 관리한다.간단히 말하자면, 기지국과 단말기가 통신하는 형태가 아니라, 각 단말끼리 연결되어 통신하는 형태를 말한다.멀리 떨어져 있는 단말기끼리는 중간에 있는 단말들이 중계기 역할을 해주어 통신을 하게 된다.이런 통신기기간의 무선 통신을 ad-hoc 네트워킹이라고 한다. 이전의 방식과 다르게 중앙 시스템의 도움없이 어디서나 기기간 통신을 가능하게 해준다.또한 네트워크이다 보니 여러가지 특징들이 존재한다. 아래는 특징들을 보여준다.-보안 기본적으로 ad-hoc 네트워크의 보안 요구조건은 다른 통신 네트워크에서 요구되..

Study/Network 2014.07.28

RAID(Redundant Array of Independent Disks)

RAID는 중요한 데이터를 가지고 있는 서버에 주로 사용되며, 여러 대의 하드디스크가 있을 때 동일한 데이터를 다른 위치에 중복해서 저장하는 방법이다.데이터를 여러 하드디스크에 저장하여 입출력 작업이 균형을 이루어 전체적인 성능이 개선된다.또한 여러 대의 디스크는 MTBF(Mean time between failures : 평균 무고장 시간)를 증가시키기 때문에 데이터를 중복해서 저장하면 고장에 대비하는 능력도 향상된다.하나의 RAID는 운영체계 입장에서 논리적으로는 하나의 하드디스크로 인식된다.RAID는 스트라이핑(striping : 성능 향상을 위해 단일 파일들이 물리적으로 여러 장치에 나뉘어 저장되어 있는 방식) 기술을 채용하여 다양한 저장 공간으로 파티션할 수 있다.지금부터 여러 RAID의 종류와..

Study/Network 2014.07.27
반응형