나는 어떻게 이성을 잃지 않고 여러 항목을 동시에 처리합니까

여러 개의 프로젝트를 동시에 운영하는 회사에서 일할 때, 당신의 업무는 프로젝트 간에 상하문을 끊임없이 전환하는 것이다. 수중의 프로젝트와 문제를 고려하면, 당신은 거의 모든 정신을 집중할 수 없다.
때때로 저는 Azure managed ingress controller를 위해 K8s 입구 설정을 작성합니다. 그 중에서 터미널을 열어야 합니다. 적당한 상하문을 설정한 Kubectl 클라이언트를 사용해서 VPN 연결을 설정하고 K8s 계기판을 끝까지 엽니다. 때때로 저는 Python으로 Dagster 파이프를 작성합니다. 그 중에서 Redis 실례, Celerry worker, Rabbitmq,Python의 Virtualenv 등이 필요합니다.
나는 때때로 하루에 4~5개의 항목을 해야 하는데, 이 항목 사이를 내 머릿속의 고통으로 전환시켰다.최악의 경우, 때때로 나는 30분을 써서 프로젝트로 전환하고, 방울과 호루라기를 설치하고, 마지막에 3분을 써서 수중의 오류/문제를 복구했다.

나는 이 일이 이미 나의 통제 범위를 넘어섰다는 것을 안다. 나는 반드시 무엇을 해야 한다.나는 TMUX이라는 개원 도구가 나의 문제를 해결할 수 있다는 것을 알고 있지만, 나는 진지하게 고려하지 않았다.나는 다시 Tmux를 시작했다. 이것은 나에게 여러 개의 터미널 창을 만드는 방법을 주었다. 한 개의 창을 여러 개의 하위 터미널로 나누고, 여러 개의 터미널 창 사이를 전환하는 등이다.이것은 또한 내가 여러 개의 tmux 세션을 만들 수 있도록 허락하여 여러 항목을 동시에 관리할 수 있게 한다.나는 그것이 제공할 수 있는 물건에 대해 매우 만족한다.

위의 그림은 나의 설정을 보여 줍니다. 그 중에서 나는 한 항목에 세 개의 창을 설정했습니다.그것들은 함수,api, 데이터베이스라고 불린다.나는 보통 창의 용도에 따라 창을 명명한다.SQL 조회를 작성/디버깅해야 한다면 데이터베이스 창으로 빠르게 전환할 것입니다. 프로젝트의api단에서 일해야 한다면api로 전환할 것입니다.자세히 살펴보면 API 창은 세 개의 하위 터미널로 구성되어 있는데 창이라고 합니다. 저는 그 중에서 Neovim(코드 편집기), Virtualenv가 활성화된 터미널과Postman 프로세스를 실행합니다.
Tmux는 나의 게임 규칙 변경자이다.만약 당신의 주요 코드 편집기가 Vim이라면, 그것은 더욱 좋아질 것입니다.Vim+Tmux는 완전히 자신의 블로그를 가질 만하다.만약 내가 한마디로 말한다면, 그것은 천생연분이다❤
좋습니다. 현재 저는 세션을 사용하여 여러 항목을 관리하고 Tmux의 창과 창으로 여러 개의 터미널 창을 만들 수 있습니다. 개선할 점이 있는지 알고 싶을 수도 있습니다.답은 긍정적이다. 그 이유는 다음과 같다.
  • 에서 세션과 창을 만드는 방법은 tmux라는 명령행 프로그램을 사용하는 것입니다.예를 들어, 새 창을 만들려면 tmux new-window -c /home/mojo/jojo -n database -t project:1을 실행하여 창을 창으로 분할하고 tmux split-window -c /home/mojo/jojo...을 실행해야 합니다.알았어?이것은 상당히 지루하고 필요한 것이다.
  • 은 노트북을 재부팅하거나 Tmux 서버를 닫을 때마다 이 모든 명령을 기억해야 합니다.
  • 프로젝트가 상대적으로 복잡할 때, 이 명령의 30/40을 실행해야 합니다. 망치지 않기를 바랍니다.4~5개 항목에서 이렇게 한다고 상상해 보세요.그것은 곧 관리하기 어려워졌다.
  • 그래서 나는 더 성명적인 것을 원한다.내가 원하는 것은 내가 원하는 방식보다 내가 원하는 것만 말할 수 있다.성명 프로필을 사용하여 Tmux 세션을 관리하는 mx.sh 도구를 보여 드리겠습니다.

    로브스 고리 / mx。상해


    간소화되고 자신의 의견을 고집하는 tmux 세션 관리자.




    간단한 설정을 사용하여 tmux 세션을 관리합니다.야위고 자기 의견을 고집하다

    왜 다른 tmux 세션 관리자를 선택합니까?

  • 은 어떠한 팽창도 없이 상자를 열어 사용해야 한다.
  • , 실행할 때 의존 항목 (예를 들어 루비 해석기) 은 단지 나의 tmux 세션을 관리하는 데 사용되기를 원하지 않기 때문이다.
  • Shell 스크립트는 무료이고 본 컴퓨터입니다. 더 많이 하겠습니다.
  • 설치


    복사하여 터미널에 붙여넣기
    curl https://raw.githubusercontent.com/RobusGauli/mx.sh/v0.6.1-alpha/install.sh | bash

    This will install mx script in your path. Run mx to verify the installation.

    입문

    Below steps assumes that you have a working knowledge of tmux and you understand the concepts of windows, panes and sessions in tmux. Also, you are able to attach and detach to tmux session. If you think you are rusty around these topics, you could reach out to man page or this awesome quick tour blog.

    1. 구성 템플릿 생성

    mx template --json --session euler

    2. 세션 시작🚀

    mx

    Now you are only required to describe your intent such as the number of windows, the number of panes in a window, command(s) to run on each pane, name of a session, etc and mx.sh will take care of creating a layout that you have described in your configuration file. It will parse your configuration and creates a session with windows, panes, and commands that you have described in your configuration file. Let’s see a sample configuration file below:

    The above configuration file manifests the following resources:

    • A new session named mojo. This could be the name of the project you are working on.
    • Two windows named w1 and w2. In real world, this could be API, database, frontend, etc.
    • Window w1 with two panes whose current working directory is set to /home/robus and each pane execute echo command. As you can imagine, your command could source venv/bin/activate , yarn start , kubectl config set-context --current --namespace=admin , etc.
    • Window w2 with three panes.

    Hopefully, this should give an idea of how you could extend this configuration file to add windows/panes/command to your likes. If you are wondering, how would the above configuration manifest in an actual Tmux session, below is the screenshot.

    Finally, the way you spin up the new session that is configured to my likes with all the required dependencies is simply

    mx up
    
    모조라는 세션을 삭제하고 싶으면
    mx down --session mojo
    
    네, 진지해요.다음은 다음 구성 요소가 필요한 항목을 시작하는 데모입니다.
  • Lamda functions repository의 Neovim 편집기.
  • 터미널, 서버 없는 명령을 실행합니다.
  • Neovim 편집기,python의flask 소스 코드가 있습니다.
  • 가상 환경이 활성화된 터미널 세션입니다.
  • 우체부 실례.
  • 양봉인 실례는 GUI SQL 클라이언트로 사용됩니다.
  • VPN 연결
  • SSH가 요새 호스트에 들어갑니다.
  • 은 요새 호스트에서 "alias"명령을 실행합니다.
  • 은 auth0 대시보드, Jira 및 Aws 콘솔에 액세스합니다.
  • 등등...
  • .
    이 모든 설정은 명령과 약 7초의 스크롤 시간이 필요합니다.지금 나는 몇 초 안에 프로젝트를 전환해서 mx.sh 자동화로 코드 편집기를 시작하고 ssh에서 원격 기계까지의 모든 것을 자동화할 수 있어서 매우 기쁘다.

    나는 이 글이 유사한 증상을 가진 사람들에게 유용하기를 바란다. 왜냐하면 그들은 초기 설정을 정확하게 설정하는 데 대부분의 시간을 들여야 하기 때문이다.만약 네가 나의 프로젝트가 매우 유용하다고 생각하거나, 네가 개선할 수 있다고 생각한다면, 우리도 이렇게 하자.
    건배!

    좋은 웹페이지 즐겨찾기