본문 바로가기

전체 글

(283)
미국의 온쇼어링과 AI 온쇼어링(Onshoring)2024년 11월. 미국 대선이 트럼프의 승리로 끝나면서, 예상되는 흐름 중 하나가 미국 제조업에 대한 온쇼어링이다.  예전, 인건비 상승으로 인해, 제조업 등 저 부가가치의 산업을 해외로 돌리고, 서비스 위주의 고 부가가치 산업이 국내 시작의 주를 이루게 된 결과, 코비드 사태 때 물류의 흐름이 막히자 휴지조차 국내서 만들 수 없음을 깨달은 미국이, 특히 트럼프를 중심으로 하는 보수층이 주장하고 있는 흐름이다. 미국에 공장을 만들자는 것. 인공 지능작금의 AI는, 1999-2000년 인터넷을 중심으로 거대한 IT 변혁 기술에 이어, 약 25년 만의 또 하나의 거대한 파괴적 혁신(Disruptive Technology) 기술이 되고 있다. 그리고, 그 중심축과 주 변인이 동일하..
파워포인트에서 사용되지 않는 마스터 슬라이드 삭제하기 어떤 파워포인트 파일을 받아 보면, 슬라이드 장표 수에 비해 너무 큰 파일크기를 가져서 놀랄 때가 있다. 파일이 좀 커도 큰 상관없을 수도 있으나, 이 파일을 이메일로 보내거나 할 때 파일이 커서 못 보낸다거나 해서 난처할 때가 있다. 비정상적으로 파일이 큰 여러 가지 이유가 있을 수 있으나, 많은 경우는, 마스터 슬라이드가 너무 많아서 그렇다.특히 여러 사람을 커지면서 각자 필요에 의해 마스터 슬라이드를 만들어 놓고, 이 파일을 계속 재활용하는 경우가 그런데, 메뉴의 "보기 > 슬라이드 마스트"를 눌러서 어떤 마스터 파일들이 있는지 확인해 보면, 사용되지 않는 마스터 파일이 굉장히 많이 있음을 볼 수 있을 것이다.  마스터 슬라이드에 마우스 커서를 올리면, 해당 슬라이드가 사용되는지 사용되는지를 알 수..
엑셀 매크로 소스코드 비밀번호 없이 추출하는 방법 엑셀에 있는 (워드나 파워포인트도 마찬가지지만) 매크로 코드 (= VBA 코드, VBA: Visual Basic for Application)를 다른 사람이 함부로 볼 수 없게 하기 위해 비밀번호를 걸어 놓을 수 있다. 그러나, 이 방법은 너무 쉽게 무력화되고, 그 무력화하는 방법이 인터넷에 너무 많이 알려져서, 개발자 수준도 아니고 일반 사용자가 쉽게 암호를 모르고도 매크로 코드를 볼 수 있다. 그래서, 다른 방식으로 매크로 코드를 보호하는 툴이 있고, 유상으로 판매하기도 한다. 암호 없이 매크로 코드(VBA 소스코드)를 보는 방법 정리 가장 널리 알려지고 손쉬운 방법은, 엑셀 파일를 구성하는 부속 파일인 vbaProject.bin 파일의 내용 중 일부(암호에 관련된 값)를 수정하는 것이다. 이 방법을..
엑셀 VBA 코드 보호 및 크랙 방법 엑셀 파일 자체를 보호하는 것은 파일을 저장할 때 패스워드를 지정하면 된다. Excel 2016까지는 패스워드를 무력화 시키는 쉬운 방법들이 있는데( 앞 글 참조), Excel 2019부터는 쉽지 않다. 엑셀 파일 자체를 보호하는 것과 별개로, VBA(Visual Basic for Application) 코드를 보호하는 것은 또 다른 일이다. 일반적으로 VBA코드에 암호화를 하는 이유는, 엑셀 파일 자체는 이용할 수 있게 배포하면서, VBA 코드는 자신의 노하우가 들어 있기에, 사용자가 볼 수 없게 하려는 것이 대부분의 이유 따라서, 엑셀 파일 암호화를 해도, 그 암호는 알려줘야하고, 단 VBA 코드에 대한 패스워드는 알려주지 않아서 사용자가 VBA 코드를 보지 못하게 해야 한다. 주식 거래용 기능을 엑..
비밀번호에 의해 보호된 엑셀 파일 보호 해제 방법(Excel 97 - 2016) 엑셀 파일을 저장할 때 비밀번호를 지정하면, 비밀번호를 암호화 키로해서 파일 전체가 암호화된다. 열기 암호: 파일 전체가 암호화된다. 쓰기 암호: 파일을 수정 후 저장하려고 할 때 인증용으로 사용 암호를 지정하는 방법은 : "다른 이름으로 저장 - 도구 - 일반 옵션"에서 사용할 암호를 입력 후 "확인"클릭 스펙상으로, 파일 암호화에 사용될 수 있는 방법은 4가지. (출처: MS사의 MS-OFFCRYPTO 문서) XOR RC4 CAPI or CryptoAPI ECMA-376 실제 엑셀 버전별 사용된 암호화 알고리즘은, Excel 97 - 2003: RC4 사용 RC4 알고리즘 자체의 취약성으로, password를 모르고도 Decryption 가능 (참조) Excel 2007 - 2013: AES-128 ..
엑셀 파일 종류별(통합문서, 매크로, 추가기능) 파일 포맷 자료 엑셀에서 자주 사용되는 파일 형태인 '통합 문서', '매크로 포함 통합문서', '엑셀 추가기능' 파일에 대해서, 각 포맷을 정리해 둔다. 파일 종류 확장자 지원되는 엑셀 버전 설명 통합 문서 .xls Excel 5.0, Excel 95 BIFF5 포맷 .xls Excel 97 - Excel 2003 BIFF8 포맷, 설명 페이지 .xlsx Excel 2007 부터 - 설명 페이지 매크로 통합 문서 .xlsm Excel 2007, Excel 2010, Excel 2013, Excel 2016 설명 페이지 추가 기능 .xla Excel 97 - Excel 2003 위 xls와 xlsm 설명 페이지와 동일 .xlam Excel 2007, Excel 2010 - - - MS Office 문서 암호화에 대한 설명..
[목차]푸리에 변환의 모든 것 01. 푸리에 변환이란 https://infograph.tistory.com/220 01. 푸리에 변환이란 통신 이론, 디지털 신호, 음성처리 , 영상처리 등에서 항상 나오는 이론이 푸리에 변환이고, 가장 어려워하는 것이고, 내용을 이해하려고 많은 노력을 기울이면서도 정작 잘 파악이 안 되고, 다 infograph.tistory.com 02. 푸리에 급수 : 주기신호, 삼각 함수(사인, 코사인 그래프) https://infograph.tistory.com/221 02. 푸리에 급수 : 주기신호, 삼각 함수(사인, 코사인 그래프) 푸리에 변환을 바로 설명하기 전에 푸리에 급수부터 파악해볼 것이다. 푸리에 변환은 주기적인 신호이건 아니건, 모든 신호에 대해 적용할 수 있는 변환 방법이다. 반면에 푸리에 급수..
[07-7 Code]FFT source code for C 1. fft.h int fft(long N, double XR[], double XI[]); char * cplxStr(double re, double im); 2. fft.c /* fft.c */ /* 2022.8.7 Created by HJ */ #include #include #define PI 3.14159265358979 int fft(long N, double XR[], double XI[]){ /* 1. check 2^n count -> if else then return -1 */ if ((N !=0) && ((N & (N-1)) != 0) ) return -1; /* 2. calculate W */ long N2 = N >> 1; double WR[N2], WI[N2]; /* Real a..
07-7. C로 짠 FFT Code C나 C++로 된 FFT 코드는 예전부터 많이 있을 것이기에, C용 FFT 코드는 잘 되어 있는 코드를 소개만 하려고 했었다. 그러나, 여러 코드들을 구글링해서 찾아봤으나, 예상외로 맘에 드는 코드를 찾지 못했다. 간단히 짤 수 있을 거 같은데, 복잡하게 짰거나, 너무 길게 짠 코드가 대부분이었다. 그래서, 계획에 없었으나 C로 FFT를 짜기로 한다. 코드 작성 방침 가능한 간단히 짠다. 최상의 속도가 나오도록 한다. 포인터를 사용하지 않는다. 신호데이터를 double형 배열로 처리 기본 제공되는 cos 함수 정도만 사용하고, 특수한 함수를 사용하지 않는다. 입력 데이터의 개수 제한을 하지 않는다. 메모리가 허용하는 한 쿨리-튜키 알고리즘 사용 fft만 구현 (ifft는 구현하지 않음) 2^n 사이즈의 ..
Notepad++에서 작성한 한글이 cmd에서 깨질 때 C나 C++에서 한글이 print 되도록 했는데, cmd에서 실행했을 때 깨져서 나온다면, 대부분 인코딩 불일치 때문이다. Notepad++와 cmd 창의 인코딩 종류를 일치시켜주면 해결된다. 해결 방법 Notepad++과 cmd창 모두 인코딩을 같은 것으로 맞춰준다. (예를 들어 UTF-8로 통일) 1. Notepad++에서의 인코딩 설정 방법 "인코딩" 메뉴에서 "UTF-8"이 설정되어 있는지 확인한다. 만약 안되어 있으면 "UTF-8"로 설정 2. cmd 창에서의 인코딩 설정 1) cmd 창을 연다 "윈도우키 + R" 키를 누르고, "실행" 창에서 "cmd"라고 타이핑 후 "확인" 버튼 누른다. 2) cmd 창에서 "chcp 65001"이라고 타이핑하고 엔터 chcp 명령은 "chnage code ..