본문 바로가기

IT for my Life

(51)
Autohotkey: SafeArray vs 일반 Array 이번 글에선 SafeArray와 일반 Array의 차이점에 대해 썰을 풀어볼게요. Array는 "여러 대상을 담아두는 그릇"이라고 할 수 있죠. 예를 들어 내가 가진 과일을 코딩으로 보여주고 싶다면 이렇게 쓸 수 있어요. myFruits:=[“Apple”, “Banana”, “Citrus”] 이렇게 선언한 Array에는 insert와 push 명령이 모두 먹힌답니다. insert는 특정 위치에 새로운 아이템을 삽입하는 명령어고, push는 새로운 아이템을 array 끝에 삽입하는 거예요. myFruits.insert(1, “Pear”) 이러면 myFruits가 [“Apple”, “Banana”, “Pear”, “Citrus”]가 되죠. (Array 시작은 1번이 아닌 0번입니다.) 여기서 SafeArra..
답답한 트랙패드는 가라. 부트캠프 윈도우에서 맥처럼 트랙패드 사용하기 맥에서 윈도우는 매우 좋은 마우스 대체품입니다. 클릭, 우클릭, 확대, 창 이동 등 다양한 작업을 손쉽게 할 수 있죠. 거기에 매우 부드럽게 작동하기도 합니다. 그래서 저를 포함한 맥 사용자 상당수가 노트북으로 하는 간단한 작업에는 따로 마우스를 사용하지 않고 트랙패드만 이용하죠. 이렇게 만능툴 같은 트랙패드이지만 윈도우 환경에서는 조금 아쉽습니다. 확대 축소는 물론이고 멀티 제스쳐 인식도 먹통이 될 때가 많거든요. 따라서 어쩔 수 없이 부트캠프를 사용할 때는 묵혀둔 마우스를 꺼내곤 했는데 이 사이트에서 Mac Precision Touchpad를 설치하고 난 뒤에는 그럴 필요가 없어졌습니다. 백문이 불여일견. 제작자가 올린 유튜브 영상도 확인해보시죠. 설치 방법 설치 방법은 무척 간단합니다. 본인 맥북이..
수백 배 빠른 쿼리, Access DAO 레코드셋 들어가며 레코드셋을 한 번만 불러온다고? 이게 무슨 뜻일까요? 서울에서 부산까지 컨테이너 한대 분량의 화물을 옮긴다고 가정해봅시다. 커다란 컨테이터 트럭을 한대 고용해서 한 번만 옮기면 되겠죠? 이 방법이 DAO로 레코드셋을 불러오는 방법입니다. 반면 퀵 오토바이를 사용하여 백 번을 왔다 갔다 하는 비효율적인 방법도 있을 거예요. 이것이 DAO 또는 ADAO를 사용하지 않고 데이터를 매번 불러오는 방법입니다. 엄청나게 비효율적이죠. 컴퓨터 프로그래밍 환경에서는 이게 더 심해집니다, 왜냐하면 현실과 다르게 코딩에서는 컨테이너 트럭이나 퀵 오토바이나 고용하는 데 드는 비용이 같기 때문이에요. 어떻게 이렇게 효율적으로 데이터를 가공할 수 있을까요? 이번 프로그래밍 예제에서 사용할 내용은 언어의 당일 번역량을 ..
사무 자동화: Autohotkey, Excel, SafeArray 그리고 Regex 들어가며 안녕하세요? 전 스티브 잡스가 줄기차게 강조했던 "Connecting the dots"를 업무에서 항상 실현하려고 애쓰고 있답니다. 이번 포스팅에서는 Autohotkey, Excel, SafeArray 그리고 Regex를 합쳐서 반복적인 엑셀 내용을 클릭 한 번에 쉽게 고치는 방법을 알아볼 거예요. 전 프로그래밍 초심자라 한번에 꿀떡 삼키면 100 프로 체하니까 코드를 분쇄해서 한 구절씩 풀어서 쓰겠습니다. 아무리 좋은 자동차를 몰아도 목적지가 틀리면 아무 소용이 없지요. 프로그래밍에서도 그 목적지를 머리속에서 짜는 게 제일 먼저 해야 할 작업입니다. "그래서 이번 스크립트로 구현하고자 하는 건 뭐야?"라고 스스로에게 되묻는 것이죠. 제가 생각한 구조는 대략 이렇습니다. 사용자에게 원하는 엑셀 ..
Access VBA 주말과 공휴일 제외하고 날짜 구하기 2020년 1월 6일 내용 추가: 날짜 형식 통일 배경 설명 Access에서 날짜를 산정하는 방법은 Datediff() 함수를 사용하는 것이다. 하지만 Datediff() 함수는 주말과 공휴일을 고려 못한다. 업무 평가 등의 보고서를 작성할 때 주말과 공휴일은 빼고 날짜를 계산해야 할 경우가 있는데, 이럴 때는 VBA를 사용해 별도 함수를 짜는 수밖에 없다. 완성 코드 Public Function fWorkingDays(dteStartDate As Date, dteEndDate As Date, Optional WeekendDays As String = "1,7") As Integer Dim intCount As Integer Dim wkdays As String intCount = 0 wkdays = "..
[구글시트] 다수의 셀 일괄 접두사, 접미사 넣기 목표: 구글 시트 여러 셀에 일괄적으로 접두사와 접미사를 불이자. 스샷을 보죠. 셀이 다섯 개 있습니다. 여기에 앞뒤로 www. 과 .com 을 붙이고 싶습니다. 즉 완성품은, 이것입니다. 이는 CONCATENATE라는 함수를 쓰면 매우 간단합니다. 방법은, CONCATENATE("접미사",셀,"접미사") 이렇게 넣으면 되죠. 이 사례에서는: =CONCATENATE("www.",A1,".com")이군요. 이후 셀 우측 하단의 작은 점을 잡고 아래로 끌어주면 해주면 완성! 일일이 수작업으로 넣지 말고 함수를 사용해 한 번에 편하게 처리합시다.
HTML로 네이버 카페 글 예쁘게 작성하기 들어가며 한국에서 확고한 닫힌 커뮤니티 위치를 점한 네이버 카페. 수많은 모임과 동호회, 사업체등이 네이버 카페에 둥지를 틀었다. 예전 PC 통신 시대의 레이아웃을 가져와 한국인에게 친숙하고, 서버도 한국에 있어 매우 쾌적한 속도를 자랑한다. 그런 네이버 카페에서 소통하려면 게시판에 글을 써야 하는데, 이 게시판에는 다음과 같은 특징이 있다. HTML 일부'만' 지..
[생산성] 작지만 완소 앱 팝클립(PopClip)과 애드온(Extension) 앱스토어 링크: 클릭 모바일 기기에서는 문장을 누른 상태로 끌면, 이처럼 팝업이 나온다. 팝클립은 Mac에서도 그런 팝업을 띄워주는 자그마한 앱이다. 얼핏 생각하기에 굳이 맥에서 이런 기능이 필요한가 싶을 수도 있다. 그러나 만약 그 팝업 창에 매우 편리한 기능이 추가된다면? 그래서 팝클립은 반드시 추가 Extension과 함께 써야한다. 추가 익스텐션은 여기서 받을 수 있다. 본인 업무 환경에 따라 익스텐션을 받으면 된다. 많고 많은 익스텐션 중 강추하는 것 4가지를 소개한다. 1. Bitly Bitly는 기다란 웹페이지 주소를 매우 짧게 줄여준다. 그리고 팝클립을 활용하면 드래그 → 클릭으로 간편하게 주소를 Bitly 형태로 바꿀 수 있다. 단, Bitly 홈페이지에서 회원 가입해야하고..