개발 248

오라클(oracle) 등 DB에서 IN절과 '=' 개념 차이 확인

안녕하세요. DB 쿼리를 사용할때 '='를 사용하는 경우와 IN절을 사용하는 경우가 있으신가요? 저는 대부분 여러개의 키를 잡을때 IN절을 사용하기는하는데, 가끔 귀찮으면 '='와 혼용해서 사용하기도 합니다. 그래서 문득 차이점이 궁금해 공부해보고자 합니다. 저는 책 '친절한 SQL 튜닝'을 참고하였습니다. 다음과 같은 쿼리가 있다. select * from 고객별가입상품 where 고객번호 = 'cust_no' and 상품 id in ('01', '03', '05') 인덱스를 '상품id+고객번호' 순으로 생성하면, 같은 상품은 고객번호 순으로 정렬된 상태로 하나의 블록에 지정된다. 반면, 고객번호 기준으로는 같은 고객번호가 상품id에 흩어진 상태가 된다. 인덱스가 이렇게 구성되어 있다면, 상품ID 조건..

개발/DB 2022.08.30

[리눅스, 유닉스] 로그 확인, 문자 찾기 (cat, more, ll, grep 활용)

안녕하세요. 오늘은 제가 로그를 확인할때 쓰는 방법을 포스팅하고자 합니다. 예전에 작은 시스템을 운영할때는 vi로 보고나, ftp로 내려받아서 쉽게 확인할 수 있었습니다. 하지만, 사용자수가 제법 되는 시스템을 운영할 경우에는 vi 편집기로 열리지도 않고 ftp로 받을 수 없는 경우도 있습니다. 이때 리눅스, 유닉스 환경에서 쉽게 로그를 확인 할 수 있는 방법을 소개하고자 합니다. 실제로 제가 쓰고 있습니다. 대용량 로그 파일 확인법 캡쳐파일을 첨부하지 못한점 양해 바랍니다. 하지만, 해당 명령어대로 진행하면 쉽게 눈에 보이실거에요. 1. 해당경로에가서 최신 날짜의 로그 파일을 찾는다 - 명령어 : ll -ltr 2. 해당 로그에 찾고자하는 문자가 있는지 체크한다. - cat ./로그파일 | grep 찾..

개발/리눅스 2022.08.26

javascript, Access-Control-Allow-Origin Error

안녕하세요. 한창 개발공부를 할때 열심히 포스팅을 하곤했는데, 요즘은 개발 이외에 것들이 관심이 많아져서 개발 공부는 하지 않게 되네요. 공부는 하지않지만 업무에 필요한 것들이 나오면 간단하게 적어 두려고 합니다. 몇년이 흘러도, 어디를 가서도 에러들은 항상 비슷한것 같습니다. 개발을 하다가 화면이 먹통이 되면 개발자 도구(F12)를 눌러 확인해 보세요. 저는 부모창과 자식 창을 활용하여 다른 서버와의 통신을 시도하고 있었습니다. 그리고 도중에 이와같은 에러를 발견했습니다. 사진은 잘 보이지는 않네요. [에러] ccess to XMLHttpRequest at '---------' from origin '--------------' has been blocked by CORS policy: Response..

[디자인패턴] template method 패턴(탬플릿 메소드 패턴) 예제

안녕하세요.디자인 패턴 세번째 시간 입니다. 다른 책들도 보면서 공부를 해봤지만이번 책을 통해 개념위주의 간단한 예제를 통해 알아보니예전보다는 약간(?)의 이해도가 더 높은 것 같습니다. 이번에는 Template Method 패턴에 대해 알아 보겠습니다. Template Method 란?상위 클래스에서 뼈대를 결정하고, 하위 클래스에서 그 구체적인 내용을 결정 상위 클래스쪽에 탬플릿에 해당하는 메소드가 정의 되어 있고,그 메소드의 정의 안에는 추상 메소드로 정의 즉, 상위 클래스를 보면 추상 메소드를 어떻게 호출하는지 알 수 있지만, 최종적으로는 어떤 처리가 수행되는지는 알 수 없음. 이름 설명 AbstractDisplay 메소드 display만 구현되고 있는 추상 클래스 CharDisplay Abstr..

[디자인 패턴] Adapter 패턴 예제

안녕하세요.디자인 패턴에 대해 차근차근 공부해 나가며 포스팅 하고 있습니다.이번에는 Adapter 패턴에 대해 알아보겠습니다. Adapter 패턴은 Wrapper 패턴으로 불리기도 하며,'이미 제공되어 있는 것'과 '필요한 것' 사이의 차이를 없애주는 역할을 합니다.Adapter 패턴에는 상속을 사용한 패턴과 위임을 사용한 패턴이 존재 합니다.바로 예재를 통해 알아보겠습니다. 먼저, 상속을 사용한 패턴을 알아보겠습니다.각 클래스 및 인터페이스의 역할을 미리 소개 하겠습니다. 이미 제공되어 있는 것 Banner 클래스 교환 장치 PrintBanner 클래스 필요한 것 Print 인터페이스 '이미 제공되어 있는 것'의 역할인 Banner 클래스 입니다. package Adapter_delegation; pu..

[디자인패턴]배열 요소를 표시하기위한 이터레이터(Iterator) 패턴

안녕하세요.디자인패턴 이라는 카테고리를 만들어 놓고거의 몇년간 포스팅을 안했네요. 공부를 그만큼 안했다는 거죠.이제 공부를 하나씩 해가며 포스팅을 진행할 예정 입니다. 오늘은 이터레이터(Iterator) 패턴을 포스팅 하려고 합니다. 일반 적으로 우리는 반복문을 사용할때 for 문을 주로 사용합니다.for(int i=0, i< 10; i++) 이런식으로 말이죠. 이터레이터(Iterator) 패턴은 for문에서 사용하고 있는 변수 i의 기능을 추상화해서 일반화 한 것 입니다.정리하면, 배열 등의 많이 모여있는 것들을 순서대로 지정하면서 전체를 검색하는 처리를 실행하기 위한 것 입니다. 다음은 이터레이터(Iterator) 패턴에 사용되는 클래스 및 인터페이스 입니다. 파일명 설명 Aggregate 집합체를 ..

파이썬 txt 파일 읽고 쓰기(file write)

안녕하세요.실무에서 자주 사용하게 되는 소스를 포스팅하려고 합니다. txt 파일의 내용을 읽는 방법과 쓰는 방법입니다.이는 작업대상건을 추출하는등 상당히 빈번하게 사용됩니다.실제로 DB insert 대상건을 추출하여 보관하였다가 나중에 문제가 생겨서이를 다시 재활용하는 경우도 있었습니다. 기능은 간단하나 활용성은 뛰어나다고 생각됩니다. 먼저 텍스트 파일을 읽어들이는 소스입니다. r = open(txt_file, mode='rt', encoding='utf-8') for line in r: print(line) 확인해보시면 텍스트 파일에 존재하는 내용을 한줄씩 읽어오는 모습이 확인 가능합니다. 그런데 open() 함수로 파일을 읽어오는건 알겠는데mode라는 파라미터가 존재 합니다.mode 옵션에 대해 알아..

파이썬 파일 복사 및 삭제(하위 디렉토리 포함 삭제)

안녕하세요.오랜만에 프로그래밍 포스팅을 하게 되었습니다.올해를 마무리하면서 그간 해왔던 프로그램 소스들을 정리해두려고 합니다. 다음에 또 업무를 하게되면 찾아봐야 하니깐요. 이번 포스팅에서는 파이썬 프로그래밍을 활용하여파일을 복사하는 코드와 삭제하는 코드를 알아보겠습니다.삭제는 파일을 삭제하는 방법과 하위디렉토리를 포함하여 삭제하는 방법을 알아보겠습니다. 파이썬 파일 복사파이썬은 라이브러리 활용에 매우 간편하기 때문에간단한 몇줄의 소스로 파일 복사 기능을 구현할 수 있습니다. 먼저, 소스코드 제일 상단에 라이브러리 선언을 합니다.import shutil shutil 이라는 라이브러리를 사용하겠습니다. 그리고 현재 파일을 새로운 디렉토리로 이동시키기 위해서새로운 디렉토리를 체크하여 디렉토리를 생성해 주었습..

윈도우 cmd 활용하여 파일명 추출

안녕하세요.직장인분들 업무를 진행하다보면특정 경로의 파일들의 이름을 추출해야될 때가 있습니다. 윈도우 CMD창을 활용하여파일명을 추출할수 있고 하위디렉토리의 파일명까지 추출할 수 있습니다. 포스팅 시작하겠습니다. 저는 다음과 같은 디렉토리에 존재하는 파일들을 텍스트(txt)파일로 만들 예정입니다. 먼저 CMD창을 켭니다.'명령 프롬프트'를 검색하셔서 켜도되고'윈도우키 + R'을눌러 실행창을 활용하여 cmd입력으로 창을 활성화 시킬 수 있습니다.※ 윈도우키 : 컨트롤(Ctrl)과 알트(Alt) 사이의 키 창이 활성화되면 추출하고하자는 디렉토리로 이동해야 합니다.이동하는 명령어는 CD를 활용합니다. 위의 파일들이 존재하는 경로는 다음과 같습니다.C:\Users\0000\Desktop\test 그러므로 이동 ..

개발/윈도우 2020.07.28

윈도우 10 로그인 계정 비밀번호 변경 및 설정

안녕하세요.오늘은 간략하게 윈도우10 로그인, 로그오프시 사용되는비밀번호를 설정해 보도록 하겠습니다. 몇번 해봤긴했엇는데 할때마다 잊어버려서자꾸 찾아보게 되네요. 포스팅 시작하겠습니다. 먼저 윈도우 키를 누르시고 '설정' 모양 아이콘을 선택합니다.의외로 윈도우키를 모르시는분들도 제법 계십니다.윈도우키는 키보드에서 컨트롤(ctrl)과 알트(alt) 사이에 있습니다. 저희는 윈도우 로그인 계정에 대한비밀번호를 변경등 설정을 할것이기 때문에'계정'으로 들어갑니다. 계정으로 들어오시면좌측 목록중 '로그인 옵션'이 있습니다.선택하세요. 윈도우10도 점점 업그레이드를 통해계정에 대한 기능이 많아졌네요.사실 다른 기능들은 별로 사용하지 않고 있습니다. '비밀번호' 메뉴를 선택하면 활성화되면'변경' 버튼이 보이게 됩니..

개발/윈도우 2020.07.17