smart-factory-lee-joon-ho의 등록된 링크

키자드에 등록된 총 262개의 포스트를 확인하실 수 있습니다.

Tistory

큐 공간 또는 버퍼가 부족하여 소켓에서 해당 작업을 진행하지 못했습니다.

SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 엑세스 할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오 (provider, error .0 - 큐 공간 또는 버퍼가 부족하여 소켓에서 해당 작업을 진행하지 못했습니다.) 어떻게 하면 해당 에러 메세지 안나오게 할 수 있는 방법이있을까 고민중인데. 아무래도 tcpconnection과 연관이있어 보이는데 적제적소에 close를 해주면 되는 문제 인가? 구글링해 봐도 별 내용이 없다. 우선 프로그램을 종료하고 다시 시작하면 버퍼 문제가 청소 되는거 같은데 운영중에 이런 에러 메세지가 발생하면 프로그램이 멈추기 때문에 해결 ..

Tistory

<nvarchar 값 '4.5'을(를) 데이터 형식 int(으)로 변환하지 못했습니다.>

선과 지시 등록 및 선과 작업 조회 버튼 클릭시 에러 메세지 발생 확인 필요 프로시저 USP_GET_LIST_MGR_SELLORD_SUM USP_GET_LIST_MGR_SUNGUAPROCESSORD 4.5 중량 nvarchar -> int로 변환이 안되어서 에러 메세지 발생 CONVERT로 형변환 가능한데 실수형으로 형변환 예외처리 메세지 박스 안 띄우니까 에러 메세지도 안뜨네... 그러면 해보고 안되면 그냥 트라이 케치문에서 메세지 박스를 없에는걸로 진행 CAST 가 전부다 INT로 되어 있어서 TEST DB에 FLOAT로 바꾸고 있다. this.SetGrid_Ord(); this.SetGrid_Line(); this.SetGrid(); this.SetGrid_Complete(); this.SetGri..

Tistory

C# Thread(스레드) 주요 속성과 메서드 !

스레드 주요 속성과 메서드 ! MSDN을 보는게 도움이된다. 스레드의 속성 *Name :스레드의 명칭 지정 *IsAlive :bool형 스레드가 살이있는지 죽었는지 확인 *IsBackground : foreground : 주스레드의 종료와 상관없이 독립적 작동하는 부스레드 background : 주스레드의 종료와 연계하여 같이 종료하는 부스레드\ public bool IsBackground { get; set; } thread.IsBackground = true ; 넣어 보았습니다. 스레드 기능이 신기하여 이렇게도 코딩해 보았다. 스레드 속성 CurrentThread public static Thread CurrendThread{ get ;} 스레드는 독립된 아이디를 가진다. Thread.CurrentT..

Tistory

C# Thread 동기화 ! (lock 키워드/Monitor 클래스 사용)

동기화 란 ? 작업들 사이의 수행 시기를 맞추는 것 -> 다수의 스레드가 동시에 공유 자원을 사용할 때 순서를 정하는 것 복수의 스레드가 있을 때 문제가 된다. 지금 작업하고 있으니까 너는 대기해 이런식으로 순서를 정하는 것을 동기화라고 합니다. 동기화 키워드와 클래스 lock : 동기화 키워드 Monitor Mutex Interlocked AutoResetEvent ManualResetEvent 동기화 대상 * 공유 자원에 대한 접근이 예상되는 스레드 * 한 객체를 다수의 스레드가 사용되는 때 lock 형식 private object obj = new object(); lock( obj ) { 임계(경계) 영역 (critical section) } lock 주의할 점 *lock(this) *lock(t..

Tistory

PYTHON: 파이썬 기초 문법(replace / find/ 형변환/len )

# 예) http://naver.com # 규칙1 : http:// 부분 제외 # 규칙2 : 처음만나는 점(.) 이후 부분은 제외 # 규칙3 : 남은 글자 중 처음 세자리 + 글자갯수 + 글자내 e갯수 + "!"로 구성 # 예) 생성된 비밀번호 : nav51! # 비밀번호 생성 로직 Domain = "http://naver.com" print(Domain) cutDomain = Domain.replace("http://","") print(cutDomain) cut2Domain = cutDomain[0:-4] print(cut2Domain) # cut2Domain = cutDomain[:cutDomain.index(".")] password = cut2Domain[0:3] +str(len(cut2Doma..

Tistory

c# 네트워크 공부 (IPAddress 클래스 / Dns클래스)

네트워크 기본 개념 : 인터넷 상에서 컴퓨터 간의 데이터를 주고 받기 위한 약속된 형식 -> 통신규약 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 구분하여 규정 -> 프로토코을 기능별로 구분 *응용 프로그램 계층 *프리젠테이션 계층 *세션 계층 *전송 계층 *네트워크계층 *데이터 링크 계층 *물리계층 -> 라우터, 렌케이블, OS 영역 이미 처리 되어 있다. 서버 : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 또는 프로그램 -> 24시간 전력 공급이 안정적이여야한다. -> 고 성능의 서버용 컴퓨터를 사용해야한다. 클라이언트 : 네크워크를 통하여 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 수 있는 응용 프로그램 또는 사용자 컴퓨터 *전송계층 : 데이터를 주고 받는 것 ..

Tistory

c# 네트워크 공부 2(클래스 활용)

TcpListener *서버와 클라이언트를 구분할 수 있는 클래스 클라이언트 연결을 대기(대기 상태) 서버는 항상 대기하다가 클라이언트의 요청에 의해 데이터 전송 *생성자 서버 ip주소와 포트 번호 설정 public TcpListener(IPAddress local , int port) public TcpListener(IPEndPoint local) TcpClient *특징 서버와 클라이언트 모두 사용 *역할 서버와 클라이언트 연결 요청 TcpClient 생성자 ip주소와 포트 설정 -> 연결 통로 설정 public TcpClient (string hostname, int port) 서버 ! 클라이언트 !

Tistory

C# TCP 네트워크 공부 (에코 시스템 모듈 프로그래밍)

서버 클라이언트 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Sockets; using System.Net; namespace ConsoleApp1 { class Program { static void Main(string[] args) { TcpListener tcpListener = new TcpListener(IPAddress.Parse("127.0.0.1") ,13); tcpListener.Start(); Console.WriteLine("서버"); TcpClient tcpClient = tcpListene..

Tistory

EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 !

조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 . 단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.com/..

Tistory

2021-01-02 오피스 2007 , 2019 중첩 설치 중 발생한 프로그램 에러/ xslm 확장자 엑셀 파일 생성 불가

에러 발생 더보기 이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는 방법에 대한 자세한 내용은 이 메시지의 뒷부분을 참조하십시오. ************** 예외 텍스트 ************** System.InvalidCastException: 'Microsoft.Office.Interop.Excel.ApplicationClass' 형식의 COM 개체를 인터페이스 형식 'Microsoft.Office.Interop.Excel._Application'(으)로 캐스팅할 수 없습니다. 유형 라이브러리/DLL 로드 오류입니다. (예외가 발생한 HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 오류로 인해 IID가 '{000208D5-0000-0000-C00..

Tistory

How to use workbook.saveas with automatic Overwrite

stackoverflow.com/questions/36542088/overwrite-existing-file-excel-vba overwrite existing file excel vba open_book.SaveAs Filename:="E:\MF\data\" & com_tick_ask & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False This is my code to save a file as xlsx but I want to overwrite an exis... stackoverflow.com Sorry friends for trouble. I got an answer. I just have to put this line of code im..

Tistory

이름이 없는 델리게이트 ( Anonymous Delegate)

말 그대로 이름이 없는 델리게이트다 이는 자주 사용하지 않는 델리게이트 메소드를 대신할 때 사용 한다. 한 두번 밖에 쓰지 않으면 바록 작성해 주는게 코드 리딩에 용이하기 때문이다. 이 델리게이트 메서드를 따로 생성하지 않고 델리게이트 변수를 선언하고 익명의 델리게이트를 Count 메서드에서 바로 작성해주면 된다. Count 메서드의 return 값은 int 형 타입니다. int 형 변수를 선언하여 Count 메서드의 리턴 값을 받아 준다. memberTest 자리에 익명의 델리게이트를 넣어준다. 익숙하지 않아 어려울 수 있지만 델리게이트에서 이름만 없고 이름 없어서 내용을 채워준다고 생각하면된다. delegate(int a) {return a % 2 ==0;} delegate(int a) {return..

Tistory

LINQ 연습 !!

이 코딩을 LinQ를 통해서 재 구현 해보도록 한다. FROM / WHERE /ORDERBY / SELECT를 사용해 보았다. 문제를 풀어 보자 //data 리스트에서 20 보다 큰 짝수를 내림 차순으로 정렬하여 저장 //이값을 2씩 곱합여 오름 차순으로 정렬하여 저장 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp15 { class Program { static void Main(string[] args) { List vs = new List { 12, 3, 42, 1, 41, 2, 53, 4, 123, 15..

Tistory

라디오 버튼과 그룹 박스 사용법

여러개의 항목 중 한가지의 항목을 선택할 때 라디오 버튼을 사용합니다. CheckedChanged 이벤트를 사용해 보겠습니다. 물론 이벤트를 사용 안 하고도 동일한 프로그래밍을 할 수 있습니다. 우선 윈폼은 이렇게 만들었습니다. 버튼 클릭 이벤트 => 버튼 .Checked - bool값으로 프로그래밍 가능 CheckedChanged 이벤트 매서드를 통한 프로그래밍 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using S..

Tistory

시퀀스

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.CSharpPhrase.Extension; namespace 시퀀스 { class Program { static void Main(string[] args) { string[] names = new string[] { "Seoul", "New Delhi", "Bangkok", "London", "Paris", "Berlin", "Canberra", "Hong Kong" }; var query = names.Where(s => s.Length ToArray / ToList Con..

Tistory

PDA 프로그램 개발

감귤 물류센터 선과 입고증 리딩을 위한 PDA 프로그램을 만들어 보았다 . 실제 개발은 비주얼 스튜디오 2008 버전에서 Window CE 장치에서 진행하였으나 코딩 기록을 위해서 비주얼 스튜디오 2019버전에 다시 작성하였다. 실제 화면은 이와 같이 진행되며 로그인 화면을 Panel로 만들어 로그인 접속시 visible - false 상태로 전환 시켰다. 우선 로그인 클릭 이벤트는 이와 같이 작성하였다 . try 문에서 디비를 오픈해주고 실행 여부를 점검할 수 있는 불형 변수를 if문에 넣어 실행시 Panel을 Visible을 false로 바꾸었다. seGride 메서드 *완료된 선과 작업에 대한 정보를 디비 프로시저에 추가 한다. *해당 데이터를 데이터 그리드 뷰에 담아 준다. PDA가 리딩한 바코드..

Tistory

Delegate의 기본 , 배열에서 홀수와 짝수 찾기

배열에서 짝수 홀수 갯수 찾는 메서드 만드는건 생각 보다 간단하다. 여기에서 델리게이트 사용하는 방법을 적용해보고자 한다. 델리게이트 사용하는 방법이 헷깔리면 이 해당 코딩을 반복 학습하면 이해하기 쉬울 것이다. 우선 int 배열을 선언해 준다. 그리고 짝수 홀수를 콘솔클래스를 통해 출력해 줄 것이다. 우선 카운트 메서드를 작성해보자 이렇게 만들면 된다. int 배열을 인수로 받아서 해당 배열을 foreach로 검열한뒤 if 조건문으로 짝수에서 카운트 해주면 된다. 홀수 카운드는 해당 빨간팬 부분만 다르게 해주면 갯수를 리턴할 수 있다. 이는 결국 비슷한 메서드를 두개 만드는 일을 하게 된다. 이런 코드의 낭비를 줄여주고 긴 코드에 간섭이 안생기도록 해주며 코딩 해석이 쉽게해 주는 것이 delegate ..

Tistory

람다식과 LinQ기초

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 람다식과LinQ기초 { class Program { public static int Count(int[]array,int num) { //이 메서드는 배열이 고정 되어 있다. 다른 배열에도 동일하게 사용하기 위해서 //배열을 인수로 받아들이도록 변경을 해보겠습니다. //var numbers = new [] { 5, 3, 9, 6, 7, 5, 8, 1, 0, 5, 10, 4 }; //int[] vs = new int[] {1,2,3,4,5 }; int count = 0; foreach..

Tistory

List 클래스와 람다식의 조합

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace List클래스와_람다식의_조합 { class Program { static void Main(string[] args) { List vs = new List { "SEOUL", "NEWDELI", "BANGKOK", "LONDON", "PARI", "BERLIN", "CANBERRA", "HONGKONG" }; var exist = vs.Exists(s => s[0] == 'A'); Console.WriteLine(exist); var name = vs.Find(a => a.Leng..

Tistory

LINQ_to_Objects의_기초

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LINQ_to_Objects의_기초 { class Program { static void Main(string[] args) { var names = new List { "Seoul", "New Delhi", "Bangkok", "London", "Paris", "Berlin","Canberra","Hong Kong" }; IEnumerable Query = names.Where(s => s.Length IEnumerable 인터페이스를 구현하고 있는 형이면 //Where메서드를 해..

Tistory

Visual Studio 2008 C# PDA 개발 하는 방법

필수 프로그램 1. Visiual Studio 2008 // http://download.microsoft.com/download/a/1/3/a13e22b4-b06a-4256-98e6-7e37f2c49e08/VS2008ProEdition90DayTrialKORX1435989.iso 해당링크를 통해 설치를 하도록 한다. 2. Window Mobile 6 Professinal Edition SDK www.microsoft.com/en-us/download/details.aspx?id=6135 Windows Mobile 6 SDK Refresh The Windows Mobile 6 SDK Refresh adds documentation, sample code, header and library files, e..

Tistory

인터페이스 개념 및 연습 C#

인터페이스 정의 *추상 메서드와 같이 메서드 선언부만 포함하는 형식 *클래스와는 구분됨. 다중 상속 가능 *인스턴스화 될 수 없음 *인터페이스를 상속한 클래스는 반드시 인터페이스에서 선언된 메서드를 구현해야함 *속성도 포함될 수 있음 *사용 목적 : 표준화 규격화 계약 등등의 의미 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace exam10 { abstract class Figure :IFigurable// :추상 클래스 { abstract public Double Area(); //width ,height 사각형 //반지름 Ph..

Tistory

MSSQL QUERY 문 : ALTER

ALTER TABLE memeberTbl ADD mem_point int null GO ALTER *새롭게 추가된 컬럼은 자동적으로 테이블의 맨 마지막 컬럼이 된다. *추가시 내가 임의적으로 컬럼의 위치를 지정할 수 는 없다. **추가시 내가 임의적으로 컬럼의 위치를 지정할 수 는 없다. **그럼 컬럼의 순서나 위치를 변경하고 싶다면? -> 안하는게 훨씬 좋다. -> 기본적으로는 업무 파악을 잘해서 중간에 변경되지 않도록 함. -> 가장 좋은 방법은 애플리케이션이나 쿼리 수준에서 하는 것. -> 즉 쿼리로 반환된 열에서 순서를 지정하는게 좋다. 데이터 존재시 열 삭제 만약 해당 컬럼에 데이터가 조재할 시 삭제가 될까? -데이터가 있거나 없거나 모두 삭제 가능하다. -따라서 매우 주의해야 한다. 삭제된 컬..

Tistory

C# ADO.NET으로 DB(MSSQL) 연결하기 / DB프로시저 개념 /Excel 참조하는 방법

Data Provider 데이터 공급자 DB접속 / 읽기/ 조작에 관여 **연결형 중요한 클래스** sqlConnection sqlCommand sqlDataReader -> 데이터 뷰어 Data Set(데이터 셋) 비연결형의 메모리형 데이터 베이스 **비연결형 중요한 클래스** sqlConnection : 공통점 -> DataSet DataTable DataAdapter DataSet에 데이터 저장 상속 계층구조 System.Data.SqlClient.SqlConnection SqlConnection 연결 *생성자를 통해 연결 SqlConnection(string) *생성자 + ConnecrionString SqlConnection() *연결문자열 만들기 -대소문자 구분하지 않음 -MSDN참조 -기본적..

Tistory

Abstract 추상 클래스 /메서드

추상 클래스의 정의 *하나 이상의 추상 메서드를 포함하는 클래스 *Abstract Method : 선언부만 존재 구현은 자식 클래스에서 *Abstract Class : 인스턴스화 될 수 없음 사용 목적 : 상속 받은 클래스들이 반드시 제공해야 하는 메서드를 정의 abstract승용 class-> abstract 시동method;-> override ->소나타class.start() / 그랜저class.시동method 소나타.start()이렇게 만들면 개발자에게 혼돈이 온다. 그래서 이름은 무조건 시동 !! 규격만 정해주는거 시동거는건 표준화가 되어있다. 어떤 메서드의 시그니처를 정해주는 역할 이렇게 생긴 메서드를 만들어 본인은 개념 레벨이기 때문에 인스턴스를 생성할 수 없어 해당 abstract 클래스를..

Tistory

PNP ,NPN 타입/ COM: 입출력접점/I/O통신/이더넷통신

NPN은 주로 아시아에서 많이 사용하고 PNP는 유럽에서 많이 사용한다. 예를 들어 npn이 있으면 가운데있는 p (positive) 는 상시 공급 전력이라고 생각하면 된다. n (negative)로 스위치 역할을 한다. p (positiv) - 상시 공급 전력을 COMMON의 줄임말 COM이라고 부르는데 여기도 IN COM과 OUT COM이 존재한다. I/O 통신은 1개 접점으로 On,Off의 상태로 0,1을 나타낼수 있고, 이를 활용하여 여러개의 접점의 상태를 2진수로 표현하여 통신에 활용 할 수도 있음. 이더넷 통신은 전장 및 I/O 케이블 배선이 필요없고 전원, 이더넷 케이블 2개의 선으로 가능한 것이 장점이며, I/O방식으로 표현 불가능한 문자나 데이터를 다른 기기(Robot OR PLC)로 송..

Tistory

BASLER CAMERA /COGNEX IN-SIGHT CAMERA 사용법 -점보프레임

바슬러 카메라의 경우 동글이라는 코그넥스 라이센스가 pc 상에 설치 되어 있어야 코그넥스 in-sight explorer를 통해서 영상 전송이 가능하다. 라이센스가 없는 경우 pylon viewer 라는 프로그램으로 영상 전송이 가능하다. 이더넷의 ip 주소와 카메라의 ip주소를 맞춰 줘야지 연결이 가능하다. 인터넷 프로토콜 버전 4 IP 주소 : 169.254.0.1 // 서브넷 마스크 255.255.0.0 2. ip 주소 확인 및 기가 바이트 : 제어판 ->네트워크 및 인터넷 설정 -> 어댑터 옵션 변경 ->이더넷 속성 ------>구성-->고급 -->점보패킷---> 값 9014 바이트 (메가 픽셀 값을 저장하기 쉽게 ) userbook.net/jumbo-frame/ 네트워트 패킷 전송의 점보프레임(..

Tistory

In-sight Explorer 처음 사용 하기 !

실행하면 뜨는 화면 일반적인 엑셀 시트를 닮았다 . Cognex 사에서도 엑셀을 모방하여 만들어 누구나 코딩을 배우지 못한 사람도 손 쉽게 사용 할 수 있도록 만들었다. 한 픽셀 =8 byte 2^8 = 256 Gray level 0~ 255 0 -> 검은색 255-> 희색 1.sheet 에 extractblobs이라고 작성하면 됩니다. 2.sheet에 작성하면 설정 창이 팝업된다. 3.우선 Region으로 영역을 설정해준다. 촬영하는 제품의 범위를 정해주면 된다. 4.영역을 선택 해주고 다시 더블클릭하면 설정창으로 돌아온다. 5.external region = 0 6.Threshold =화이트에서 블랙으로 갈 때 Grey level 120 이상 검출(배경으로 부터 다른 부분을 분리하는 기준) 6-1. ..

Tistory

IN-SIGHT EXPLORER /FindPatMaxPattern

총 3개의 함수를 일단 사용해야한다. FindPatMaxPattern : 패턴을 찾을 곳을 지정해 준다 . EditRegion : 영역을 변경 시켜 준다. TrainPatMaxPattern : 패턴을 학습시킨다. 3개를 모두 사용해야 한다 . EditRegion은 External Region 영역과 연관이 있음 IN 글자를 잡을거기 때문에 해당 영역을 설정해준다 . TrainPatMaxPattern 위의 수식을 다 넣어주면 이처럼 목표를 잘 잡는걸 볼 수 있다.

Tistory

Devexpress Gridcontrol 사용하여 데이터 띄우기 !

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraGrid; namespace dddeeevvv { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(obj..

Tistory

Devexpress / Grid 버튼 이벤트 추가 !

DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraGrid.Views.Grid; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Show..

Tistory

머신비전 개론 ! (TEST용)

머신 비전이란 무엇인가 : 각종 제조 및 생산 장비 또는 공정들을 제어하거나 관련 정보를 얻기 위해서 실제의 영상 정보를 자동으로 취득후 분석하기 위하여 광학계 및 카메라 등을 이용하여 비 접촉으로 검사하는 것을 머신비전이라고 한다 -> 생산 제품들의 품질과 공정 제어를 위한 자동화 검사 시스템 머신비전의 응용 분야 (시험예상)Guidance : 부품의 정확한 위치를 로봇에 전달하여 위치 보정이 가능(위치 보정) /Wafer Processing /Die ProcessingInspection: Verify Quality and Assembly -> 제품의 품질 및 조립상태 /특정부품의 유무 판단과 부품의 위치 계산Gaging : 물체의 크기 또는 거리 직경 등의 계측에 사용합니다. 3개의 점을 통해 원을 ..

Tistory

CORONA- Log File Manager 라이브러리를 만들자 !

[C#] 실행경로, 시작경로, 현제경로를 가져오는 방법 1. Application.StartupPath - 현재 application이 존재하는 경로 - winform 인 경우에만 사용가능 - 레지스트리 관계없이 실제 실행 파일 - Application.ExcutablePath 와 동일 - string filePath = Application.StartupPaht + @"\\testFile.txt"; 2. System.Environment.CurrentDirectory - 현재 작업 실행되는 경로 - winform 이외의 개발 환경에서도 사용가능 - winform 에서는 "C:\Windows\System32" 경로가 나옴 ( svchost.exe 를 통해 서비스가 등록 되기 때문 ) - System.IO..

Tistory

C# 클래스 생성자 this 사용법 공부

클래스 생성자를 공부하면서 this를 사용해본적이 없보니 처음보는 this 구문에 혼란스러웠다. 생성자도 오버로딩이 가능하다. 그리고 오버로딩은 동일한 생성자명이 가능하며, this를 사용하면 알맞는 형태의 오버로딩된 다른 생성자를 호출할 수 있다. ! using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace lee { public class Student { private string _name; private string _address; public Student(..

Tistory

String 문자열을 Enum으로 바꾸는 방법 /Trim(Char[])로 원하는 문자 제거 /구조체의 차이점 복습

이런 Enum 들이 있다. 여기에 String으로 얻어온 문자를 추가할려면 이와 같은 코딩이 필요하다. (Grade)Enum.Parse(typeof(Grade), Grade) 입력 또는 추가된 string value -> enum 타입으로 변환하여 해당 (Grade):형변환 Enum으로 변환해준다! 3. Trim(Char[]), TrimStart(Char[]), TrimEnd(Char[]) 메서드의 정의와 사용법 많은 분들이 Trim()이 "공백"만 제거해주는 메서드로 알고 계시는데, 전혀 아닙니다. Trim() 메서드는 공백 뿐만 아니라 특정 char (들)을 앞뒤로 제거해주는 메서드로 얼마든지 변.신. 할수있습니다. 킹갓 Trim(). Trim(char), TrimStart(char), TrimE..

Tistory

CORONA-Queue<T>의 구현

선입 선출 형태의 자료를 다룰 때는 큐를 사용합니다. 선착순으로 제일 먼저 들어온 자료가 제일 먼저 나가는 자료 구조입니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { class Node { internal T value; internal Node next; public Node(T value) { this.value = value; this.next = null; } } class MyQueue { internal Node first = null; internal Nod..

Tistory

CORONA -ASP.NET을 위해 HTML을 공부해보자

HTML 이란? 하이퍼텍스트 마크업 언어(HyperText Markup Language, HTML, 웹 페이지를 위한 지배적인 마크업 언어다. HTML은 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다. 그리고 이미지와 객체를 내장하고 대화형 양식을 생성하는 데 사용될 수 있다. HTML은 웹 페이지 콘텐츠 안의 꺾쇠 괄호에 둘러싸인 "태그"로 되어있는 HTML 요소 형태로 작성한다. HTML은 웹 브라우저와 같은 HTML 처리 장치의 행동에 영향을 주는 자바스크립트와 본문과 그 밖의 항목의 외관과 배치를 정의하는 CSS 같은 스크립트를 포함하거나 불러올 수 있다. HTML과 CSS 표준의 공동 ..

Tistory

CORONA- HTML /CSS

/*선택자(selector)*/ div#header-center { margin: 0 auto; width: 1080px; } /*자식태크 불러오기 */ div#header-search> h1 { width: 280px; } div#header-search h2 { display: none; } #header-search fieldset{ width: 520px; } /*자손태그 불러오기*/ /*#header-center h1{ }*/ CSS - CASCADING STYLE SHEET 조상태그의 기본CSS가 존재하고 자식 태그에도 자동으로 덮어씌어 진다. 이 기능을 잘 활용해야한다. 네이버를 시작페이지로 네이버 검색창 검색 검색 메일 카페 블로그 지식인 쇼핑 네이버페이 실시간 검색어 연합뉴스 충격) 이준..

Tistory

CORONA- ASP.NET 으로 웹 로그인 화면 만들기(MVC-모델-뷰-컨트롤러) !

일단 ASP.NET 설치를 해야한다! 맴버쉽 컨트롤러( using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.VisualStudio.Web.CodeGeneration.Contracts.Messaging; using NetCore.Web.Models; namespace NetCore.Web.Controllers { public class MembershipController : Controller { public IActionResult Index() {..

Tistory

CORONA- 배열 /반복문/DATETIME으로 WINFORM UI 만들어 보기

Customer class using System; using System.Collections.Generic; using System.ComponentModel.Design.Serialization; using System.Drawing; using System.Linq; using System.Security.Permissions; using System.Text; using System.Threading.Tasks; namespace AnimalShelter { public class Customer //같은 네임 스페이스에서만 사용 가능 밖으로 못가 ! { public string FirstName; public string LastName; private DateTime _Birthday; pr..

Tistory

CORONA -STACK<T>구현

후입선출의 형태의 자료를 다룰때는 스택을 사용합니다. 제일 나중에 들어온 자료가 제일 먼저 나가는 자료구조입니다. .NET 컬렉션에는 STACK강 있어 사용하면됩니다. 하지만 원리와 구조에 대해 알아보기 위해 직접 코딩해보겠습니다. namespace Stackimplementation { class Program { class MyStack { const int maxSize = 10; private T[] arr = new T[maxSize]; private int top; public MyStack() { top = 0; } public void Push(T val) { if (top0) { --top; return arr[top]; } else { Console.WriteLine("Stack Emp..

Tistory

CORONA-Int.TryParse(string s , out int result) 사용해보기

using System; using System.Windows.Forms; namespace WindowsFormsApp2 { public partial class Calculator : Form { public Calculator() { InitializeComponent(); } private void HellowLabel_Click(object sender, EventArgs e) { HellowLabel.Text = "Hello c#"; HellowLabel.Cursor = Cursors.Hand; int num1 = 1; int num2 = 2; int sum = num1 + num2; HellowLabel.Text = sum.ToString(); } private void btnSum_Clic..

Tistory

CORONA -LinkedList의 구현

using System; using System.Collections.Generic; namespace ConsoleApp2 { class Node { internal int data; internal Node next; public Node(int data) { this.data = data; next = null; } } class LinkedList { Node head; internal void InsertFront(int data) { Node node = new Node(data); node.next = head; head = node; } internal void InsertLast(int data) { Node node = new Node(data); if (head == null) { h..

Tistory

CORONA -WINFORM 으로 계산기 만들기 /예외처리/enum사용법

using System; using System.Diagnostics.Eventing.Reader; using System.Windows.Forms; namespace WindowsFormsApp2 { public enum Season { spring, summer,fall,winter} //계산기 연산의 경우 4가지로 정해 져있기 때문에 enum을 쓰면 좋을거 같다 public enum Operators {Add, Sub, Multi, Div} //인트형 데이터 타입인데. //우리가 스스로 타입을 정의할 수있다. public partial class Calculator : Form { public int Result = 0; public bool isNewNum = true; public Operato..

Tistory

SMART FACTORY -온습도 데이터베이스 C# 차트로 표현 가능!

서동우(교육), [16.09.20 18:22] # -*- coding:utf-8 -*- import mysql.connector; import Adafruit_DHT as Sensor from datetime import datetime import time Maria = mysql.connector.connect(host="localhost", user="root", passwd="너의암호", database="mydb"); Cursor = Maria.cursor(); while True : Humi, Temp = Sensor.read_retry(Sensor.DHT11, 4) d = datetime.today().strftime('%Y-%m-%d %H:%M:%S') Query = "INSERT INTO..

Tistory

CORONA - List<T>/ArrayList

using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Runtime.Remoting; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public List Customers = new List(); ..

Tistory

SMART FACTORY- 업그레이드 계산기 프로그램 (Feat.제곱가능)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _2020_09_16_01 { class Program { delegate int Facto(int t1, int t2); static Messagemap[] aMessagemap = new Messagemap[] { new Messagemap() { cmd = "더하기", Method = Add }, new Messagemap() { cmd = "빼기", Method = sub}, new Messagemap() { cmd = "곱하기", Method = mul }, new Mess..

Tistory

SMART FACTORY - CompareTo/List<>/Sort / 곱하기 -1 역순정렬/무명 델리게이트

using System; using System.Collections.Generic; namespace ConsoleApp4 { class Program { class Product { public string Name { get; set; } public int Price { get; set; } } //static int ArraySortPrice(Product t1, Product t2) //{ // return t1.Price.CompareTo(t2.Price) * -1; //*-1을 통해서 역순 정렬 가능!! //} static int ArraySortName(Product t1, Product t2) { return t1.Name.CompareTo(t2.Name) ; } delegate int..

Tistory

SMART FACTORY - C#람다식!

1. 개요[편집] 람다식, 또는 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어이다. 프로그래밍 언어학적으로 파고들면 이것만 한 달 이상 배우는 경우도 많으며, 실제로 여러 대학들에서 사용하는 프로그래밍 언어 교재에서도 꽤나 많은 분량을 차지하는 개념이다. 실무적으로는 코드의 간결함, 지연 연산을 통한 퍼포먼스 향상, 그리고 기존 이터레이션 관련 코드를 구현하는 데 있어 불필요한 부분들을 제거할 수 있다는 점에서 비교적 중요하게 다루어지고 있다. 람다식은 주로 고차 함수에 인자(argument)로 전달되거나 고차 함수가 돌려주는 결과값으로 쓰인다. https://mrw0119.tistory.com/22 8장. 람다식 (Lamda Expre..

Tistory

SMART FACTORY - XML!

www.kma.go.kr/wid/queryDFSRSS.jsp?zone=2623052000 공공기관 XML 데이터 ! 날씨 데이터 kimver2.tistory.com/13 XML이란? 1) XML 이란? - eXtensible Markup Language의 약자로 확장 가능한 마크업 언어라는 의미를 가짐. - W3C가 인간과 응용프로그램간, 혹은 응용프로그램 간에 정보를 쉽게 교환하기 위해 만든 데이터 교환 포 kimver2.tistory.com

Tistory

SMART FACTORY - 라즈베리파이에 온도 센서를 부착시켜보았다. /파이썬 -MySql DB연결 !

github.com/adafruit/Adafruit_Python_DHT adafruit/Adafruit_Python_DHT Python library to read the DHT series of humidity and temperature sensors on a Raspberry Pi or Beaglebone Black. - adafruit/Adafruit_Python_DHT github.com 해당 파일을 깃에서 당겨서 설치해주고 해당 디렉토리로 진입해줍니다. sudo python setup.py install sudo rm -rf Adafruit_Python_DHT(제거) vi dht_test001.py 저장하고 나가기 :wq https://dojang.io/mod/page/view.php?id=2..

Tistory

제네릭 클래스

using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ConsoleApp26 { class MyClass { private T[] ts; private int count = 0; public MyClass(int length) { ts = new T[length]; count = length; } public void Insert(params T[] args) { for (int i = 0; i < args.Length; i++) { ts[i] = args[i]; } ..

Tistory

C# 기초 반복 연습/소수구하기 /이중 루프로 별표 피라미드 출력

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp6 { class Program { static void Main(string[] args) { int j; int primes = 0; for (int i = 1; i < 1000; i++) { for ( j = 2; j < i; j++) { if (i%j==0) { break; } } if (j==i) { primes++; Console.Write($"{i,5}",primes%15 ==0?"\n" :""); } } Console.WriteLine($"소수의 갯수..

Tistory

Array.Copy 와 CopyTo 메소드의 사용법 비교 /버블정렬

using System; using System.Collections.Generic; using System.Diagnostics.SymbolStore; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp10 { class Program { static void Main(string[] args) { int[] a = { 5, 25, 75, 35, 15 }; PrintArray(a); int[] b; b =(int[]) a.Clone(); b = (int[]) a.Clone(); //Clone()메소드는 Object를 리턴하므로 (itn[]) 로 다시 케스팅 해줘야한다 int[] c = new in..

Tistory

SMART FACTORY -MYSQL /C# 데이터 베이스 연동

using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace QRcodeDBconn { public partial class Form1 : Form { string strConnString = "Data Source=127.0.0.1;Initial Catalog=QRCodeDB;Persist Security Info=True;User ID=sa;Password=p@ssw0rd!"; string mode ..

Tistory

Null조건 연산자(?)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp3 { class Program { static void Main(string[] args) { string s = null; if (s!=null&&s.Length>1) { Console.WriteLine("사랑해"); } else { Console.WriteLine("싫어해"); } if (s?.Length>1) { Console.WriteLine("사랑해"); } else { Console.WriteLine("싫어해"); } } } } s != null && ..

Tistory

Switch /Object Boxing /UnBoxing/ if else 조건문으로 윤년(DateTime.IsLeapYear) /진수 추출시 Convert.Tostring()

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp15 { class Program { static void Main(string[] args) { Console.WriteLine("{0,5}{1,8}{2,5}{3,6}","10진수","2진수","8진수","16진수"); for (int i = 0; i < 129; i++) { Console.WriteLine($"{i,7}," + $"{Convert.ToString(i,2),10}," + $"{Convert.ToString(i,8),5 }," + $"{Convert..

Tistory

팩토리얼 구하기/x의y승 구하기/무한 루프와 break문/합계가 10000이 넘는 순간

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp18 { class Program { static void Main(string[] args) { Console.WriteLine("n의 팩토리얼 값을 구합니다."); int n = int.Parse(Console.ReadLine()); int a = 1; for (int i = 2; i =1000000) { break; } } } } } using System; using System.Collections.Generic; using System.Linq; usin..

Tistory

SMART FACTORY-패킷 단위 출력

using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Net; using System.Text.RegularExpressions; using System.Windows.Forms; using System.Xml.Schema; using SharpPcap; using WindowsFormsApp4; namespace _20200826_001 { // 1. 설치 - 캡쳐 - 목록 - 선택 - 오픈 - 캡쳐 // 2. 캡쳐된 것을 요리하는 과정 public partial class Form1 : Form { public Form1() {..

Tistory

STRING.SPLIT() 메소드 사용/ * 피라미드 중첩문으로 만들기

using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ConsoleApp14 { class Program { static void Main(string[] args) { for (int i = 5; i > 0; i--) { //Console.WriteLine("*"); for (int j = i; j < 6; j++) { Console.Write("*"); } Console.WriteLine(); } for (int i = 1; i < 6; i++) { for (int..

Tistory

String.Concat / String.Join/Contain /IndexOf

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class Program { static void Main(string[] args) { string[] animals = { "mouse", "cow", "tiger", "rabbit", "dragon" }; foreach (var item in animals) { Console.Write(item+" "); } string s = string.Concat(animals); Console.WriteLine("\n"+s); s = string.Join(","..

Tistory

페킷단위 자르는 방법 공부해서 WIRESHARK 유사품 만들기

using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; using SharpPcap; namespace _20200826_001 { // 1. 설치 - 캡쳐 - 목록 - 선택 - 오픈 - 캡쳐 // 2. 캡쳐된 것을 요리하는 과정 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private int Del_Button_Device(object sender) { int DeviceNum = Convert.ToInt32((sender as Button).Name.Su..

Tistory

RANDOM 클라스 사용해보기/선형탐색과 이진 탐색

← using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp4 { class Program { static void Main(string[] args) { Random random = new Random(); int[] vs = new int[50]; for (int i = 0; i < vs.Length; i++) { vs[i] = random.Next(1000); } Array.Sort(vs); PrintArray(vs); Console.WriteLine("검색할 숫자를 입력하세요"); int key = int.Par..

Tistory

SMART FACTORY-코딩 테스트 문자열 내림차순 리턴

문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 Zbcdefg gfedcbZ public class Solution { public string solution(string s) { string answer = "Zbcdefg"; char[] a = s.ToCharArray(); System.Array.Sort(a); System.Array.Reverse(a); answer = new string(a); return answer; } } toCharArray() public c..

Tistory

무한루프와 브레이크문/BMI 계산기 만들기 /팩토리얼구하기/원주율 구하기

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 무한루프와_브레이크_문 { class Program { static void Main(string[] args) { int sum = 0; int days = 1; int money = 1000; while (true) { sum = sum + money; Console.WriteLine($"{days,3}일차 : {money,8:C}, sum = {sum,11:C}"); if (sum>=1000000) { break; } days++; money = money * 2; } Cons..

Tistory

iComparable 상속 받아서 int IComparable.CompareTo(object obj)써보기!

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Fil..

Tistory

보안 공부 (스니핑)

using System; using System.Windows.Forms; using SharpPcap; namespace WindowsFormsApp3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { //MessageBox.Show(SharpPcap.Version.VersionString); CaptureDeviceList NicList = CaptureDeviceList.Instance; //장치 목록을 가져..

Tistory

20200818 정처기때문에 간만에 하는 C#코딩( GENERIC)

using System; class Program { static void ArrayPrint(FACT[] Num) { for (int Temp = 0; Temp < Num.Length; ++Temp) { Console.Write("{0} ", Num[Temp]); } Console.WriteLine(); } static void Main(string[] args) { int[] Numbers1 = { 1, 3, 5, 7, 9 }; double[] Numbers2 = { 1.1, 3.1, 5.1, 7.1, 9.1 }; string[] Numbers3 = { "일", "이" }; ArrayPrint(Numbers1); ArrayPrint(Numbers2); ArrayPrint(Numbers3); } 변수의..

Tistory

윈폼을 기초부터 하나씩 공부해보자

디자이너 ! namespace WindowsFormsApp1 { partial class leejoonho { /// /// 필수 디자이너 변수입니다. /// private System.ComponentModel.IContainer components = null; /// /// 사용 중인 모든 리소스를 정리합니다. /// /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form 디자이너에..

Tistory

InTouch 사용방법

Legacy 로 생성해도 된다 ! 라이센스 인증 때문에 Ctrl + L 누르면 쉽게 스트링을 변경 가능하다. 페이지를 5개를 만들어서 번호를 입략 ctrl + d 로 복제가 가능하지만 그 showwindow는 페이지에 맞게끔 변경해줘야 한다. ctrl + t New를 눌라 테그를 만들 꺼예욤 descrete value로 들어 간다, 해도 엑셀하고 연동이 안된다 아마도 LIBRE 파일이라서 그런거 같다

Tistory

쿼리 성능 최적화

쿼리 성은 최적화는 데이터 입출력 애플리케이션읜 선능 향상을 위해 SQL코드를 최적화하는 것이다. *쿼리 성능을 최적화하기 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정해야하낟. APM : 애플리케이션읜 성능 관리를 위해 접속자,자원 현황,트랜잭션수행내역 ,장애진단 등 다양한 모니터링 기능을 제공하는 도구 입니다. *최적화할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL코드와 인덱스를 재구성한다. 옵티마이저: 옵티마이저는 작성된 SQL이 가장 효율적으로 수행 되도록 최적의 경로를 찾아 주는 모듈로 RBO와 CBO두 종류가 있습니다. 실무에서는 주로 CBO가 사용됩니다. CBO옵티마이저는 입.출력 속도 ,CPU사용량 ,쿼리의 블록 개수 ,쿼리에 사용되는 개체의 속성, 튜플의..

Tistory

보안 및 API /배치 프로그램 /패키지 소프트웨어

소프트웨어 개발 보안의 개요 소프트웨어 개발 보안 은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점으 최소화하여 보안 위협으로부터 안전한 소프트웨어를개발하기 위한 일련의 보안 활동을 의미한다. *소프트웨어 개발 보안은 데이터의 기밀성, 무결성 ,가용성을유지하는 것을 목표로 한다. *정보에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 소프트웨어 개발 과정에서 점검해야할 보안 항목들을 점검한다. 소프트웨어 개발 보안 점검 항목 소프트웨어 개발 보안 점검 항목은 소프트웨어 갭랑릐 각 단계에서 점검되어야할 모안 항목들을 말한다. 세션통제 : *세션은 서버와 클라이언트의 견결을 말하며, 세션 통제는 세션의 연결과 연골로 인해 발생하는 정보를 관리하는 것을 의미한다. *보안 약점에는 불충분한 세션 관리..

Tistory

CPS(Cyber -Physical System)

A cyberphysical system (CPS) is a computer system in which a mechanism is controlled or monitored by computer-based algorithms. In cyber-physical systems, physical and software components are deeply intertwined, able to operate on different spatial and temporal scales, exhibit multiple and distinct behavioral modalities, and interact with each other in ways that change with context.[1] Examples ..

Tistory

분산 데이터베이스 설계 / 데이터 베이스 보안 -암호화

분산 데이터베이스 정의 *분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터베이스를 말한다. *분산 데이터베이스는 데이터의 처리나 이용이 많은 지역에 데이터베이스를 위치 시킴으로써 데이터의 처리가 가능한 해당 지역에서 해결될 수 있도록한다. 분산 데이터베이스의 구성 요소 분산처리기 : 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템을 말한다. 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터 베이스로서 해당지역의 특성에 맞게 데이터베이스가 구성된다. 통신 네트워크 : 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록하는 통신 네트워크를 말한다. 분산 데이터베..

Tistory

논리 데이터 모델의 물리데이터 모델 변환

테이블 : 테이블은 데이터를 저장하는 데이터베이스의 가장 기본적이 오브젝트이다. *테이블은 컬럼과 로우로 구성되며, 컬럼에는 지정된 유형에 따라 데이터가 저장된다. 로우 (Row) : 튜플, 인스턴스 ,어커런스라고도 한다. 컬럼 (Column) 각 속성 항목에 대한 값을 저장한다. 기본키 (Primary key) : 기본키는 후보키 중이 센택한 주키이다 . / 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성 외래키 (Foreign key) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다. 한 릴레이션에 속한 속성 a와 참로 릴레이션의 기본키인 v가 동일한 도메인 상에서 정의 되었을 때 속성 a를 외래 키라고 한다. 엔티티 (Entity )를 테이블로 변환 -개체로 변환..

Tistory

트리거 (Trigger) 의 개요 /사용자 정의 함수 / DBMS 접속 기술/SQL테스트

트리거는 데이터베이스 시스템에서 데이터의 삽입 갱신 삭제 등의 이벤트가 발생할 때마다 관련작업이 자동으로 수행되는 절차형 SQL이다 . *트리거는 데이터베이스에 저장되며 ,데이터 변경 및 무결성 유지 ,로그메세지 출력 등의 목적으로 사용된다. *트리거의 구문에는 DCL(데이터 제어어) 사용할 수 없으며 DCL이 포함된 프로시저나 함수를 호출하는 경우에도 오류가 발생한다. DCL : GRANT, REVOKE ,COMMIT, ROLLBACK ,SAVEPOINT 트리거에 오류가 있는 경우 트리거가 처리하는 데이터에도 영향을 미치므로 트리거를 생성 할 때 세심한 주의가 필요하다. 트리거의 구성 트리거는 선언 ,이벤트 , 시작 ,종료로 구성되면 ,시작과 종료 구문 사이에는 CONTROL , SQL, EXCEPTI..

Tistory

데이터베이스 저장 공간 설계

테이블 (Table) 테이블은 데이터 베이스의 가장 기본적인 개체로 로우(Row 행) ,와 컬럼 (Column,열)으로 구성되어 있다. *데이터베이스의 모든 데이터는 테이블에 저장된다. *테이블은 논리 설계 단계의 개체 (Entity)에 대응하는 객체이다. *DBMS 종류에 따라 테이블의 명칭과 기능 등은 약간씩 차이가 있다. *테이블의 종류에는 일반 테이블 ,클러스터 인덱스 테이블 ,파키셔닝 테이블, 외부 테이블, 임시테이블 등이 있다. 일반테이블 일반테이블은 현재 사용되는 대부분의 DBMS에서 표준테이블로 사용되는 테이블 형태이다. 테이블에 저장되는 데이터의 로우 위치는 속성 값에 상관 없이 데이터가 저장되는 순서에 따라 결정된다. 클러스터드 인덱스 테이블 (Clustered Index Table) ..

Tistory

트렌잭션 분석/ CRUD 분석

트랜잭션 (Transaction) 정의 트랜잭션은 데이터 베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야할 일연의 연산들을 의미한다. *트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업시 처리되는 작업의 논리적 단위로 사용된다, *트랜잭션은 사용자가 시스템에 대한 서비스 요구 시 시스템에 응답하기 위한 상태 변환 과정의 작업 단위로 사용된다. 트랜잭션의 특징 -다은은 데이터의 무결성 ( integrity)을 보장하기 위하여 DBMS의 트랜잭션이 가져야할 특징이다 원자성 :(Atomicity) - 트랜잭션의 연산은 데이터베이스에 모두 반영 되도록 완료 (commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 한다. -트..

Tistory

인덱스 설계 / 뷰 (View) 설계/클러스트 /파티션/데이터베이스 용량설계

인덱스의 개념 인덱스는 데이터 레코드를 빠르게 접급하기 위해 쌍으로 구성되는 데이터 구조이다. 인덱스 키 값의 경우 내림차순으로 정렬 되어있다. 그리고 연결되 포인터 값을 통해 레코드에 빠르게 접근 할 수 있다. *인덱스는 데이터가 저장된 물리적 구조와 밀접한 관계가 있다. *인덱스를 통해서 파일의 레코드에 대한 액세스를 빠르게 수행할 수 있다. *레코드의 삽입과 삭제가 수시로 일어나는 경우에는 인덱스의 개수를 최소로하는 것이 효율적인다. *인덱스가 없으면 특정한 값을 찾기 위해 모든 데이터 페이지를 확인하는 테이블 스켄이 발생한다. *기본키를 위한 인덱스를 기본 인덱스라고 하고 기본 인덱스가 아닌 인덱스들을 보조 인덱스라고 한다 대부분의 관계형 데이터 베이스 관리 시스템에서는 모든 기본 키에 대해서 자..

Tistory

관계형 데이터 베이스의 제약 조건 - 키 (key) /무결성

제약 조건이란 데이터 베이스에 저장되는 데이터의 정확성을 보장하기 위하여 키를 이용하여 입력되는 데이터에 제한을 주는 것으로 대체 무결성 제약 , 참조 ,무결성 제약 등이 해당된다. 키의 개념 및 종류 키는 데이터 베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리 뷰트를 말한다. 키의 종류에는 후보키 기본키 대체키 슈퍼키 외래키 등이 있다 . 후보키 (Candidate Key) 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합 ,즉 키본키로 사용할 수 있는 속성들을 말한다. *하나의 릴레이션 내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다. *후..

Tistory

관계 대수 및 관계 해석 / 정규화(Normalization)/반정규화(Denormalization)

관계 대수의 개요 관계 대수는 관계형 데이터 베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 절차적인 언어이다. *관계 대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션이다. *질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다. *관계대수에는 관계 데이터 베이스에 적용하기 위해 특별히 개발한 순수 관계 연산자와 수학적 집합이론에서 사용하는 일반 집합 연산자가 있다 . 순수 관계 연산자 : SELECT / PROJECT/ JOIN /DIVISION 일반 집합 연산자 : UNION(합집합) / INTERSECTION(교집합) /DIFFERENCE (차집합)/ CARTESIAN PRODUCT (교차곱) ..

Tistory

시스템 카탈로그 / 사전 조사 분석

시스템 카탈로그 (System Catalog) 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다. *시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템테이블이다. *카탈로그들이 생성되면 데이터 사전 (딕셔너리)에 저장되기 때문에 좁은 의미로는 카탈로그를 데이터 사전이라고도 한다. 시스템 카탈로그 저장 저보 시스템 카탈로그에 저장된 정보를 메타 데이터(Meta Data)라고한다. 메타데이터의 유형 -데이터베이스 객체 정보 : 테이블(Table) , 인덱스(Index) ,뷰(View) 등의 구조 및 통계정보 -사용자 정보 : 아이디/ 페스워드/ 접근 권한등 ..

Tistory

데이터베이스 설계 / 데이터 모델의 개념

데이터베이스 설계의 개념 데이터 베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터 베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다. 데이터 베이스 설계시 고려사항 *무결성 : 삽입, 삭제 ,갱신 등의 연산 후에도 데이터 베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야한다. *일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함 없이 일정해야한다. *회복 : 시스템에 장애가 발생했을 대 장애 발생 직전의 상태로 복구 할 수 있어야한다, *보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 한다. *효율성 : 응답시간의 단축, 시스템의 생산성..

Tistory

데이터 모델의 구성요소 -개체 (Entity)/ 속성(Attribute)/관계(Relationship) / 식별자(Identifier)

개체는 데이터 베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실세계의 대상체이다. *개체는 실세계에 독립적으로 존재하는 유형 , 무형의 정보로서 서로 연관된 몇개의 속성으로 구성된다. *파일 시스템의 레코드에 대응하는 것으로 어떤 종보를 제공하는 역할을 수행한다. *영속적으로 존재하는 개체의 집합니다. *독립적으로 존재하거나 그자체로서도 구별이 가능하다. *유일한 식별자에 의해 식별이 가능하다. *개체는 업무 프로세스에 의해 이용된다. *다른 개체와 하나 이상의 관계가 있다. 교수 개체 - 교수 번호 / 성명/ 전공/ 소속 교수 개체의 구성요소 * 속성 : 개체가 가지고 있는 특성 , 교수 번호 , 성명, 전공, 소속 *개체 타입 (Record): 속성으로만 기술된 개체의 정의 *..

Tistory

E-R 모델의 개요 /관계형 데이터 모델/ 관계형 데이터베이스의 구조

E-R 모델은 개념적 데이터 모델의 가장 대표적인 것으로 1976년 피터 첸에 의해 제안되고 기본적인 구성요소가 정립되었다. *E-R 모델은 개체와 개체 간읜 관계를 기본 요소로 이용하여 현실세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법으로 많이 사용되고 있다. *개체 타입과 이들간의 관계 타입을 이용해 현실세계를 개념적으로 표현한다. *개체 ,관계, 속성으로 묘사 *특정 DBMS를 고려한것 X *다이어 그램으로 표현하며 1대1 1대N N대M등의 관계 유형을 제한 없이 나타낼 수 있다. *최초에는 개체 관계 속성과 같은 개념들로 구성되었으나 나중에는 일반화 계층 같은 개념들 이 첨가되어 확장된 모델로 발전했다 E-R 다이어 그램 다이어 그램은 E-R 모델의 기본 아이디어를 이해하기 ..

Tistory

SMART FACTORY - 금주 TEST : PYTHON을 이용하여 공공데이터를 불러오자

https://andjjip.tistory.com/108 [Python] 공공데이터 api로 데이터 가져오기 공공 데이터 활용 공공데이터 신청하기 공공데이터 포털은 공공기관이 생성 또는 취득하여 관리하고 있는 공공데이터를 한 곳에서 제공하는 통합 창구이다. 파일데이터, 오픈API, 시각화 등 다 andjjip.tistory.com 여기를 참고하면 나보다 잘되어 있다 . from urllib.parse import urlencode, unquote import requests import json url = 'http://apis.data.go.kr/1360000/VilageFcstInfoService/getUltraSrtNcst' queryParams = '?' + urlencode( { "Service..

Tistory

SMART FACTORY - THREAD 원리 공부

using System; using System.Threading; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Thread t1 = new Thread(theadFunc1); Thread t2 = new Thread(theadFunc2); Thread t3 = new Thread(theadFunc3); //기생충 껍데기 생성 //델리케이트! //프로세스 안에 만들어지는 프로세스 : 스레드(메서드) 몸안에 살고 있는 기생충 t1.Start(); //기생충이 활동을 시작 t2.Start(); //기생충이 활동을 시작 t3.Start(); //기생충이 활동을 시작 //아무 것도 없으므로 종료 Console.WriteLin..

Tistory

연계 테스트의 개요 /인터페이스 구현 검증/인터페이스 오류 확인 및 처리 보고서 작성

연계 테스트의 개요 연계테스트는 구축된 연계시스템과 연계시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동이다. 연계테스트는 연계 테스트 케이스를 작성 , 연계테스트 환경 구축, 연계테스트 수행 연계테스트 수행결과 검증 순으로 진행된다. 연계테스트 케이스 작성 연계케스트 케이스 작성은 연계 시스템 간의 데이터 및 프로세스의 흐름을 분석하여 필요한 테스트 항목을 도출하는 과정이다. 송 수 신 용 연계 응용 프로그램의 단위 테스트 케이스 *송,수신용 연계 응용프로그램의 단위 테스트 케이스와 연계 테스트 케이스를 각각 작성한다. -송 수신 시스템에서 확인해야할 항목을 도출한다. -송 수신 시시템에서 단순 개별 데이터의 유효값을 확인하는 경우의 수와 데이터 간의 연관 관계를 확인하는 경우의 수로 구분하여 작..

Tistory

SMART FACTORY - 2020.07.30 C# TCPLISTENR/THREAD

using System; using System.Diagnostics; using System.Net; using System.Net.Sockets; using System.Text; namespace _20200730_c샵_공부 { class Program { static void Main(string[] args) { TcpListener tcp =new TcpListener(IPAddress.Any, 7000); tcp.Start(); Console.WriteLine("서버가 시작되었습니다..."); TcpClient atcpClient = tcp.AcceptTcpClient(); } } 이렇게 짐작을 해서 짠다 . using System; using System.Diagnostics; using ..

Tistory

인터페이스 테이터 표준의 개요

인터페이스 테이터 표준의 개요 인터페이스 테이터 표준은 모듈간 인터페이스에 사용되는 데이터 형식을 표준화 하는것이다. *인터페이스 테이터 표준은 기존의 데이터 중에 공통 영역을 추출하거나 어느 한쪽의 데이터를 변환하여 정의한다. 확인 된 인터페이스 데이터 표준은 인터페이스 기능 구현을 정희하는데 사용된다. 모듈가 인터페이스 테이터 표준 확인 순서 1.데이터 인터페이스를 통해 인터페이스 데이터 표준을 확인한다. 2.인터페이스 기능을 통해 인터페이스 표준을 확인한다. 3.데이터 인터페이스와 인터페이스 기능을 통해 확인된 인터페이스 표준을 검토하여 최종적인 인터페이스 데이터 표준을 확인한다. 데이터 인터페이스 확인 *데이터 표준을 위해 식별된 데이터 인터페이스에서 입,출력 값의 의미와 데이터의 특성 등을 구체..

Tistory

SMART FACTORY -HeidiSQL 설치하기 !

prtable version 64bit 로 설치 하였다. 본인의 운영체제에 맞게 설치하면 된다. SELECT host, user FROM user; 현재 디비에서 로컬 호스트로는 로그인 가능하다 db = pymysql.connect(host='localhost', user='root', password='암호암호암호', db='my db', charset='utf8') 아이피 주소를 적으면 특정 아이피만 접속 가능 GRANT ALL PRIVILEGES ON *.* TO 'root'@'====IP 혹은 %(모든IP)===' IDENTIFIED BY '===암호==='; 주수홍강사, [31.07.20 10:40] GRANT ALL PRIVILEGES ON *.* TO 'root'@'====IP 혹은 %(모든..

Tistory

결함관리//애플리케이션 성능 분석

결함의 정의 결함은 오류 발생 작동 실패 등과 같은 소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과를 발생 되는 것을 의미한다. 결함 관리 프로세스 결함 관리프로세스는 애플리케이션 테스트에서 발견된 결함을 처리하는 것을 ㅗ처리 순서는 다음과 같다. 결함관리 계획 - 전체 프로세스에 대한 결함 관리 일정,인력엄무 프로세스 등을 확보하여 계획을 수립하는 단계 결함 기록 - 테스트는 발견된 결함을 결함 관리 DB에 등록한다 결함 검토 - 테스터 / 프로그램 리더/ 품질관리 담당자 등은 등록된 결함을 검토하고 결함을 수정할 개발자에게 전달한다. 결함 수정 - 개발자는 전달 받은 결함을 수정한다. 결함 재확인 - 테스터는 개발자가 수정한 내용을 확인하고 다시 테스트를 수행 결함 상태 추적 및 모니터..

Tistory

SMART FACTORY - 마리아(Maria) 데이터 베이스 활용하기 /그리고 Python 이랑 연결하기 완료

리눅스가 원래 설치하는게 힘든게 무엇이였나면 패키지 개념으로 특정 파일을 설치할려면 기초가 깔려있어야 설치 할수 있었다. 데비안 apt-get 이 생기면서 설치하는게 쉬워졌다 무조건 문제가 안 발생하는 건 아니지만 그래도 꽤나 마리아 디비를 땡겨오면 최신 버전을 땡겨 옵니다 이말은 다른 버전도 최신 버전이여야 한다. apt -ge update sudo apt-get install masiabd-server mariadb-client 설치 sudo mysql -uroot 접속 show databases; 확인 마리아 디비도 DBMS 동일한 데이터 베이스 메니지 먼트 시스템이다 . 머 하다가 빠져 나올라면 Ctrl +D 위에 데이타 베이스 파일이 하나 더 생긴게 보인다. 컬럼(column)이란 관계형 데이터..

Tistory

SMART FACTORY - 개인 공부 C#으로 완전수 구하는 코딩

using System; namespace ConsoleApp8 {// 알고리즘_완전수: 자신을 제외한 약수의 합이 자신과 같이지는 수 class Program { static void Main() { int sum = 0; // 약수의 합계 int count = 0; // 완전수 의 건수 int max = 0; // 가장 큰 약수 int rem = 0; // 나머지 값 임시 보관 for (int i = 1; i

Tistory

개발 단계에 따른 어플리케이션 테스트

애플리테이션 테스트 소프트웨어의 개발 단계에 따라 단위 테스트/ 통합테스트/ 시스템 테스트/ 인수테스트/ 로 분류된다. 이렇게 분류 된 것을 테스트 레벨이라고 한다. *애플리케이션 테스트는 소프트웨어의 개발 단계에서 부터 테스트를 수행하므로 단순히 소프트웨어에 포함된 코드 상의 오류 뿐만 아니라 요구 분석의 오류 /설계인터페이스 오류 등도 발견할 수 있다. *애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것을 v 모델이라한다. (소프트웨어 개발 단계) (테스트 단계) 요구사항 인수 테스트 분석 시스템 테스트 설계 통합테스트 구현 단위 테스트 단위 테스트 *단위 테스트는 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트 하는 것이다. - 단위 테스트에서 인터페이..

Tistory

통합테스트/ 애플리케이션 테스트 프로세스/테스트 케이스/시나리오/오라클

통합테스트 (INTEGRATION TEST) 통합 테스트는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법이다. *통합 테스트 방법에는 비 점진적 통합 방식과 점진적 통합 방식이 있다. =비점진적 통합방식 = +단계적으로 통합하는 정차 없이 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트 하는 방법으로 빅뱅 통합테스트 방식이 있다. +규모가 작은 소프트웨어에 유리하며 단시간 내에 테스트가 가능하다. +전체 프로그램을 대상으로 하기 때문에 오류 발견 및 장애 위치 파악 및 수정이 어렵다 . =점진적 통합방식= +모듈 단위로 단계적으로 통합하면서 테스트 하는방법으로 하향식, 상향식,혼합식 통합 방식이 있다. +오류 수정이 용이하고 인터페이스와 연관된 오류를 완전..

Tistory

SMART FACTORY - C# 네트워크 계속계속 /Socket/TCP소켓

using System; using System.Net; using System.Net.Sockets; class Program { static void Main(string[] args) { //Socket Server - 어서 오십시오 하는 소켓 (밑에 소켓 하나 더있다) Socket Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //한꺼 번에 건물을 올려주는 변수 선언 //1,2,3층을 한꺼번에 아우르는 기능이 들어 있다. Server.Bind(new IPEndPoint(IPAddress.Any, 7000)); //아이피와 포트를 확인하고 SOCKET과 같이 묶어주는게 Bind 기능 ! //I..

Tistory

애플리케이션 테스트/애플리케이션 테스트의 분류

애플리케이션 테스트의 개념 애플리케이션 테스트는 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차이다. 애플리케이션 테스트는 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인(Validation) 하고 소프트웨어가 기능을 정확히 수행하는지 검증(Verification) *애플리케이션태스트를 실행하기 전에 개발한 소프트웨어의 유형을 분류하고 특성을 정리해서 중점적으로 테스트할 사항을 정리 해야한다. 소프트웨어명 / 제공유형/기능 유형/사용 환경/ 개발 유형 /중점사항 오픈db구축/서비스 제공/ 산업특화 /Web /신규개발 /기능 구현시 사용자 요구사항의 누락여부 확인(Validation) : 사용자의 입장에서 개발한 소프트웨어가 고객의 요구 사항에 맞게 구현 되었는지를 확인하는 것입..

Tistory

SMART FACTORY - 뷰 함수 / HTML/ FLASK 웹서버 구축하기

HTML 태크 : 줄 바꾸기 : 단락 바꾸기 : 가로줄 ... : 가운데 정렬 ... : 폰트 변경 ... ... : 순서없는 목록(동그라미) ... ... : 순서있는 목록(숫자) ... : 표 만들기 ... : 행 ... : 열 출처: https://yeolco.tistory.com/102 [열코의 프로그래밍 일기] https://www.codingfactory.net/10221 HTML / 문법 문법 Contents 위 모든 걸 요소(element)라고 합니다. 을 시작 태그, 을 종료 태그, 둘을 합쳐 태그(tag)라고 합니다. Contents는 내용입니다. 예를 들어 Lorem 는 p 요소라 www.codingfactory.net j = join 이라는 뜻으로 두 문장을 붙여준다 이거는 HT..

1 2 3