All Article

공부한 내용을 정리합니다
Review

일주일은 금요일부터 시작하라

이 책의 저자는 정말 존경스러운 사람이다. 갑작스러운 남편의 사망으로 기업을 이어받아서 그걸 해내려고 노력하여 성공하였단 점이.. 정말 대단하다. 말 그대로 다음주의 계획을 금요일부터 짜는 시간 관리법에 대해 소개하는데, 시간 관리 뿐만 아니라 멘탈 관리 등 도움이 되는 부분이 정말 많았다. 밑줄 그은 부분 하지만 정말 시간이 없어서 하고 싶은 걸 하지 못하고 있는 걸까요. 저는 ‘시간이 없으니까 ○○를 할 수 없다’는 건 일종의 변명이라고 생각합니다. 그래서 바쁜 사람에게 공부를 추천합니다. 공부하는 시간은 자신을 위해 쓰는 시간입니다. 그리고 ‘자신을 위해 시간을 쓰고 있다’는 사실은 ‘나는 시간의 노예가 아냐. 내가 시간을 지배해’라는 기분이 들어 바쁜 와중에 잃어가던 마음의 여유를 되찾게 합니다...

Review

일놀놀일

일을 놀이처럼 여기는 방법론이 적혀있지는 않고 그냥 일이 너무 재밌는 친구들의 에세이 같은 느낌의 책이다. 나도 일을 재미있게 하고 싶은 사람이라 공감되는 점이 많았는데, 그럼 나도 충분히 즐기고 있는 건가? 싶기도 하고. 특별히 방법론까지 찾을 필요는 없는 것인가.. 하는 생각이 들게 해주는 책. 가볍게 읽기 좋다. 밑줄 그은 부분 일은 돈을 버는 수단을 넘어서 ‘나’라는 사람을 만들어주는 모든 활동들입니다. 일을 그저 밥벌이라고 생각했던 시절이 있었습니다. 그래서 직업이 없는 시기에 누군가 “어떤 일을 하세요?”라고 물으면 어물쩍대기도 했지요. 하지만 지금이라면 같은 질문에 이렇게 답할 것 같습니다. “하고 있는 일이 너무 많아서 딱 하나만 이야기할 수 없을 것 같다”고요. 내가 생각하는 성장은 어떤..

Programming/VBA

VBA로 필터링된 데이터만 지우기

이 코드로 개선한 후 이전의 필터되지 않은 값을 각각 숨겨진 행인지 확인하고 지우는 방식보다 속도가 비약적으로 개선되었습니다. 아무래도 한 행씩 지우는 게 아니라 화면을 한꺼번에 delete 하는 구조라서 그런 듯합니다. Sub 필터된_데이터만_지우기() Dim strToday As String Dim filteredRng As Range Application.DisplayAlerts = False strToday = Format(Now(), "yyyy-mm-dd") Range("F1").CurrentRegion.AutoFilter Field:6, Criteria1:="*" & CStr(strToday) & "*" Range("F1").CurrentRegion.Offset(1).SpecialCells(x..

Programming/VBA

VBA / criteria 변수에 저장된 문자열 다름 조건 걸기

오토필터 criteria는 변수에 저장된 문자열인 경우 그냥 '변수명' 으로는 반영이 되지 않는 문제가 있었습니다. 이 문제를 해결하려면 CStr(변수명)을 사용해야합니다. 그리고 왜인지 모르겠지만 정확히 일치(=)나 다름()은 작동하지 않아서 양쪽에 와일드카드(*)를 붙여주는 '포함' 방식으로 하니 문제가 없었습니다. (관련 링크) HTML 삽입 미리보기할 수 없는 소스 [엑셀 매크로 VBA] CInt, CBool, CStr을 이용하여 값 변환하기 엑셀의 워크시트에는 다양한 데이터형을 지원하기 위한 데이터 타입이 있습니다. 이러한 데이터 타입 사이에서 데이터를 변환하는 방법에 대해서 오늘은 알아보도록 하겠습니다. VBA의 대표적 guslabview.tistory.com HTML 삽입 미리보기할 수 없는..

Programming/VBA

VBA로 필터링 된 이외의 행(숨긴 행) 지우기

오늘 날짜인 행만 남기고 삭제하기 오토필터로 오늘 날짜(텍스트)만 필터링하고 나머지 숨긴 행은 지우는 방식입니다. Sub 오늘날짜만_남기기() Dim strToday As String strToday = Format(Now(), "yyyy-mm-dd") Range("F1").AutoFilter Field:=6, Criteria1:=strToday For i = Rows.Count To 1 Step -1 If Rows(i).EntireRow.Hidden = True Then Rows(i).EntireRow.Delete End If Next i End Sub 숨긴 행인지 확인하고 하나하나 지우는 방식이라 시간이 많이 걸려서 개선하게 되었습니다. 개선한 버전 링크는 이쪽. HTML 삽입 미리보기할 수 없는 소..

Review

일 잘하는 사람은 단순하게 말합니다

우리는 이 질문을 늘 기억하고 있어야 합니다. ‘어떻게 머릿속 생각을 단순하고 정확하게 전달하지?’ 일터의 비전서 같은 책을 만났다. 일반적인 책은 1~2페이지 정도로 저자가 하고자 하는 말이 요약되는데, 이 책은 실전서 같은 느낌이라 모든 페이지를 두고두고 볼 만한 책이다. 1. 상대방 중심: 상대방에 맞춰 이야기하는가? 2. 단순한 형태: 상대방이 이해하기 쉬운 모습인가? 3. 약간의 말 센스: 적절한 어휘와 타이밍으로 얘기하는가? 크게 보자면 위와 같은데, 그냥 모호하게 끝내지 않고 정확한 예시를 들어 설명해주기에 바로바로 실생활에 적용하기도 좋다. 그렇다고 무조건 덮어놓고 이렇게만 하면 된다고 하지도 않는다. 근거를 들어서 왜 이러한 상황이 발생하는지 우선 설명해준다. 예를 들자면 아래와 같다. ..

Programming/VBA

VBA로 다른 시트 값과 비교해서 일치하는 경우 셀 값 바꾸기

data 시트의 AE셀을 지금 시트의 G셀과 비교해서, 일치하는 경우에만 Q셀 값을 '최종완료'로 바꾸는 VBA Sub 확인완료_갱신() Dim rngList As Range Dim rngValue As Range Dim i As Integer With Worksheets("data").UsedRange Set rngList = .Offset(1).Resize(.Rows.Count-1) End With For i = 1 To WorksheetFunction.CountA(Range("A:A")) Set rngValue = rngList.Find(Range("G1").Offset(i, 0)) If Not rngValue Is Nothing Then Range("Q1").Offset(i, 0) = "최종완료"..

Software Engineering/Study Notes

idempotent (멱등성)

동일한 작업 또는 함수를 여러 번 호출하더라도 결과가 변경되지 않는 것 HTTP 메서드: POST, DELETE, GET - 동작과 멱등성 HTTP 프로토콜은 웹에서 데이터를 주고받을 때 사용되며, 다양한 메서드를 제공하여 서버와 클라이언트 간의 통신을 가능하게 합니다. 이 중에서도 POST, DELETE, GET 메서드에 대해 MDN에서 예시로 제시하고 있는데, 이들 메서드는 각기 다른 동작과 멱등성 특성을 가지고 있습니다. POST 메서드 POST 메서드는 서버에 새로운 데이터를 생성하거나 기존 데이터를 수정하는 데 사용됩니다. 예를 들어, 새로운 게시물을 생성하거나 사용자가 입력한 정보를 서버에 전송할 때 주로 사용됩니다. POST는 요청을 여러 번 보낼 시 서버의 상태가 변경될 수 있으므로 멱등성..

Programming/VBA

VBA로 갱신일 자동 기록하기

Q2부터 Q1353의 범위 안에 속하는 셀을 편집하는 경우, 해당하는 행의 T 셀에 yyyy-mm-dd 형식의 날짜를 입력한다. 별도의 모듈이 아니라 해당하는 시트 개체를 더블클릭해서 등록하면 된다. Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("Q2:Q1353"), Target) Is Nothing Then Range("T" & Target.Row).Value = Format(Now, "yyyy-mm-dd") End If End Sub HTML 삽입 미리보기할 수 없는 소스 엑셀 입력 시간 자동 기록 매크로(입력 / 수정 실시간 자동 감지 기록 Timestamp, VBA) 엑셀 매크로로 작성한 간단한 입력 / 수정..