Alfred Workflow에서 태만 기록을 쉽게 만들기

개시하다


여러분 알프레드 쓰세요?
비록 맥 사용자의 업무 효율화는 필수적이지만, 위력도 지나치지 않다
가장 큰 매력은 바로 가기 기능을 간단하게 스스로 만들 수 있는 워크플로우 기능이다.
이번에는 자신의 근무시간 관리를 소재로 알프레드의 워크플로우 제작을 중심으로 소개한다.

원격으로 조작하면 작업 시간을 파악하기 어렵다


이 일관의 세계는 원격 작업도 보급되었다
집에서는 이석이 조금씩 발생하기 쉬우며, 출퇴근할 때 일을 시작하는 것과 퇴근하는 경계가 모호해지기 쉬워 매일 시간 관리가 어렵다고 느낀다.
이렇게 되면 번거로운 것은 근무시간 보고이다.
대체로 정확한 시간을 계산해 낼 수 있지만, 회상하기가 매우 번거롭다
출근할 때처럼 출입기록에서 근무시간을 자동으로 계산해 주시기 바랍니다!
솔직히 근무시간을 관리하는 도구가 있지만 휴식시간을 기록할 수는 없다
브라우저를 열고 로그인하고 클릭하는 것이 아무리 귀찮아도 나는 가능한 한 짧은 시간에 로그를 기록하는 것을 고려하기 시작했다.
참, Alfred로 하자.

Alfred란?


너무 기능적이야. 잘 설명하면 하나 더 붙을 수도 있어. 간단하게 요약하면.
확장성이 매우 높은 애플리케이션 이니시에이터입니다.

언뜻 보기에는 스팟라이트 같지만 스팟라이트가 가지고 있는 기능 외에는
책갈피 검색, 시스템 기능의 단축키, snippets 호출 등
일상의 자질구레한 일들을 없앨 수 있는 기능을 갖추고 있다.
이번에는 워크플로우를 사용해서 단축키 등에서 호출되는 프로그래밍 가능한 기능을 간단하게 만들어 작업시간 관리를 실현할 수 있도록 하고 싶습니다.
이 기능은 유료 Powerpack에 포함되어 있습니다.
apede의 매입형은 49파운드(집필시 약 6846엔)이지만 성가비를 고려하면 싸기 때문에 이참에 꼭 사야 합니다!)

계속하다

  • 업무 시작, 종료, 업무 이탈 시간을 명확하게 기록할 수 있다
  • 퇴근 후 당일 근무시간 보고서를 확인할 수 있음
  • alfred에서 빠르게 호출
  • 이상의 상황에 따라 해 봅시다.
    도입에 관해서는 관영 또는 기타 보도를 참고하십시오.
    https://www.alfredapp.com/help/getting-started/

    Workflow 만들기


    먼저 Alfred Preference에서 Workflows 태그를 엽니다.
    그런 다음 왼쪽 아래 모서리의 +에서 Blank Workflow를 선택하여 Workflow를 만듭니다.

    Workflow 정보를 입력하는 대화 상자가 나타나기 때문에 여기서도 빠르게 수치를 입력할 수 있습니다.

    그런 다음 Workflow Object를 구성합니다.
    화면에서 세 객체를 마우스 오른쪽 버튼으로 클릭하고 설정합니다.
    Inputs > Script Filter
    항목

    keyword
    kintai
    with space
    ✔︎ Argument Optional
    Placeholder title
    Oneliner Kintai
    Language
    /bin/bash with input {query}
    Script./node_modules/.bin/run-node src/index.js "{query}"(잠시 후 src/index.js 설명)
    Actions > Run Script
    항목

    Language
    /bin/bash with input {query}
    running instances
    Sequentially
    Script./node_modules/.bin/run-node src/action.js "{query}"(잠시 후 src/action.js 설명)
    Outputs > Large Type
    항목

    body
    {query}
    설정이 끝나면 Script Filter->Run Script->Output에 연결을 연결합니다.

    어떻게 된 거야?


    여기서 잠깐 멈춰서 뭘 만들었는지 보자.
    먼저 Script Filter를 사용하십시오. 갑자기 문제가 발생하면 먼저 이미지를 보십시오.
    Script Filter는 keyword에서 설정한 값을 Alfred에 전달할 때 Script를 실행하고 그 결과 Alfred에 표시된 항목을 반환합니다.
    이 항목에는 Alfred에서 항목을 선택할 때 다음 Workflow Object에 Args 값을 전달할 수 있습니다.

    이번에는 킨타라고 불렸을 때.
    args"어떤 명령(shukkin,taikin,...)를 입력하고 다음 Run Script에 전달합니다.
    자세한 설치는 뒤에 설명되어 있습니다.
    다음은 런스크립트입니다.
    이렇게 하면 Script로 설정된 작업만 수행됩니다.
    이 프로세스의 표준 출력 결과는 다음 Workflow Object로 전달됩니다.
    이번에는 여기에 타임 스탬프가 붙은 로그를 TSV로 출력해 작업 시간을 기록한다.
    마지막은 Large Type입니다.
    이 Object를 사용하면 바디에 설정된 텍스트가 화면에 크게 표시됩니다.
    이번에는 실행 결과와 퇴근 후 근무시간 보고서를 여기에 보여 드리겠습니다.

    코드를 쓰다


    그럼 실제 처리하는 스크립트를 쓰세요.
    Workflow를 만들면 ~/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/에 폴더를 만들고 관련 파일을 저장합니다.
    제작된 워크플로우Open in Finder를 우클릭해서 바로 열 수도 있다.
    실제 처리를 담당하는 스크립트가 폴더에 배치됩니다.
    이번에는 노드다.js에서 구현되었습니다. 폴더 구조와 실제 코드는 참조
    https://github.com/dh9489/alfred-oneliner-kintai
    또한, Node.js에서 워크플로우를 쉽게 설치할 수 있는 프로그램 라이브러리를 공개해 이번에도 활용했다.고맙습니다.
    https://github.com/sindresorhus/alfy
    처리의 흐름도는 바로 이런 느낌이다.

    (비록 대략적이지만 코드는 복잡하지 않으니 상세한 설명을 생략합니다.)

    시용하다


    그럼 실제로 사용해 보세요.kintai shukkin kintai riseki kintai chakuseki kintai taikin
    또한 tsv 파일을 확인한 후
    kintai_log.tsv
    #time stamp     #command
    1608357382951   shukkin
    1608357436660   riseki
    1608357447821   chakuseki
    1608357480423   taikin
    
    각 명령을 실행하는 시간을 TSV에 기록하고 해당 정보에 따라 작업 시간을 계산했다.

    최후


    이번에 우리는 Alfred의 Workflow에 착안하여 간단한 강좌에서 소개하였다.
    이번 소개 외에도 다양한 워크플로우 Object가 준비돼 있는 것을 계기로 알프레드를 활용해 생산성을 높이자!
    https://www.alfredapp.com/help/workflows/
    또 이미 알프레드 이용자가 추천한 워크플로우가 있다면 댓글로 공유할 수 있다.
    DeNA 공식 트위터 계정@DeNAxTech에는 블로그 기사뿐 아니라 각종 학습회의 등단 자료도 발송됐다.꼭 지켜봐 주세요!
    Follow @DeNAxTech

    좋은 웹페이지 즐겨찾기