├── .gitignore ├── README.md └── images ├── app_active.png ├── app_unactive.png ├── docker-desktop.png ├── download_page.png ├── draw.io app.png ├── draw.io pic.svg ├── draw.io releases.png ├── git_ssh1.png ├── git_ssh2.png ├── install-R.png ├── install-R2.png ├── install-positron.png ├── port_in_used.png ├── postgres_app.png ├── rectangleapp.png ├── rstudio.png ├── terminal.png ├── terminal_highlight.png ├── terminal_raw.png └── vscode-download.png /.gitignore: -------------------------------------------------------------------------------- 1 | .README.md.swp 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | WIP 🚧 🏗 pre spellcheck 2 | 3 | Hello 👋 4 | 5 | After setting/reinstalling a couple of machines from scratch in the last few months, I decided for once and for all to document my default data science settings and tools I typically used. 6 | 7 | 💡 **A pro tip** 👉🏼 avoid dropping a cup of ☕️ on your machine 🤦🏻‍♂️ 8 | 9 | That includes installing programming languages such as Python 🐍 and R. In addition, setting up the terminal, git, and install supporting tools such as iTerm2, oh-my-zsh, Docker 🐳, etc. 10 | 11 | 12 | **Last Update:** January 1st, 2025 13 | 14 | 15 | **Update:** This setting is up-to-date with [macOS Sequoia](https://www.apple.com/macos/macos-sequoia/) ❤️. However, most of the tools in this document should be OS agnostic (e.g., Windows, Linux, etc.) with some minor modifications. 16 | 17 | This document covers the following: 18 | - [Set Up Git and SSH](https://github.com/RamiKrispin/awesome-ds-setting/blob/main/README.md#set-up-git-and-ssh) 19 | - [Command Lines Tools](https://github.com/RamiKrispin/awesome-ds-setting/blob/main/README.md#command-lines-tools) 20 | - [Install Docker](https://github.com/RamiKrispin/awesome-ds-setting/blob/main/README.md#install-docker) 21 | - [Set Terminal Tools](https://github.com/RamiKrispin/awesome-ds-setting#set-terminal-tools) 22 | - [Set VScode](https://github.com/RamiKrispin/awesome-ds-setting#set-vscode) 23 | - [Set Python](https://github.com/RamiKrispin/awesome-ds-setting#set-python) 24 | - [Install R and Positron](https://github.com/RamiKrispin/awesome-ds-setting/blob/main/README.md#install-r-and-positron) 25 | - [Install Postgres](https://github.com/RamiKrispin/awesome-ds-setting#install-postgres) 26 | - [Miscellaneous](https://github.com/RamiKrispin/awesome-ds-setting#miscellaneous) 27 | - [License](https://github.com/RamiKrispin/awesome-ds-setting#license) 28 | 29 | 30 | ## Set Git and SSH 31 | 32 | This section focuses on the core git settings, such as global definitions and setting SSH with your Github account. 33 | 34 | All the settings in the sections are done through the command line (unless mentioned otherwise). 35 | 36 | Let's start by checking the `git` version running the following: 37 | 38 | ``` shell 39 | git --version 40 | ``` 41 | 42 | If this is a new computer or you did not set it before, it should prompt a window and ask you if you want to install the `command line developer tools`: 43 | 44 | 45 | ![image](https://user-images.githubusercontent.com/12760966/139562122-8a360563-89f0-4108-b916-ca20a4be7fe1.png) 46 | 47 | The `command line developer tools` is required to run git commands. Once installed, we can go back to the terminal and set the global git settings. 48 | 49 | ### Set Git global options 50 | 51 | Git enables setting both local and global options. The global options will be used as default settings any time a new repository with the `git init` command is triggered. You can override the global settings on a specific repo by using local settings. Below, we will define the following global settings: 52 | 53 | - Git user name 54 | - Git user email 55 | - Default branch name 56 | - Global git ignore file 57 | - Default editor (for merging comments) 58 | 59 | ### Set git user name and email 60 | 61 | Setting global user name and email by using the `config --global` command: 62 | ``` shell 63 | git config --global user.name "USER_NAME" 64 | git config --global user.email "YOUR_EAMIL@example.com" 65 | ``` 66 | ### Set default branch name 67 | 68 | Next, let's set the default branch name as `main` using the `init.defaultBranch` argument: 69 | 70 | ``` shell 71 | git config --global init.defaultBranch main 72 | ``` 73 | 74 | ### Set global Git ignore file 75 | 76 | The global `.gitignore` file enables you to set general ignore roles that will apply automatically to all repositories in your machine. This is useful when having repetitive cases of files you wish to ignore by default. A good example on Mac is the system file - `.DS_Store`, which is auto-generated on each folder, and you probably do not want to commit it. First, let's create the global `.gitignore` file using the `touch` command: 77 | 78 | ``` shell 79 | touch ~/.gitignore 80 | ``` 81 | 82 | Next, let's define this file as global: 83 | 84 | ``` shell 85 | git config --global core.excludesFile ~/.gitignore 86 | ``` 87 | 88 | Once the global ignore file is set, we can start adding the files we want git to ignore systematically. For example, let's add the `.DS_Store` to the global ignore file: 89 | 90 | ``` shell 91 | echo .DS_Store >> ~/.gitignore 92 | ``` 93 | **Note:** You want to be careful about the files you add to the global ignore file. Unless it is applicable to all cases, such as the `.DS_Store` example, you should not add it to the global settings and define it locally to avoid a git disaster. 94 | 95 | ### Set default editor 96 | 97 | Git enables you to set the default shell code editor to create and edit your commit messages with the `core.editor` argument. Git supports the main command line editors such as `vim`, `emacs`, `nano`, etc. I set the default CLI editor as `vim`: 98 | 99 | ``` shell 100 | git config --global core.editor "vim" 101 | ``` 102 | 103 | ### Review and modify global config settings 104 | 105 | By default, all the global settings are saved to the `config` file under the `.ssh` folder. You can review the saved settings and modify them manually by editing the `config` file: 106 | 107 | 108 | ``` shell 109 | vim ~/.gitconfig 110 | ``` 111 | 112 | 113 | ### Set SSH with Github 114 | 115 | Setting `SSH` key required to sync your local git repositories with the `origin`. By default, when creating the SSH keys, it writes the files under the `.ssh` folder if they exist. Otherwise, it is written down under the root folder. It is more "clean" to have it under the `.ssh` folder. Therefore, my settings below assume this folder exists. 116 | 117 | Let's start by creating the `.ssh` folder: 118 | 119 | ``` shell 120 | mkdir ~/.ssh 121 | ``` 122 | 123 | The `ssh-keyget` command creates the SSH keys files: 124 | 125 | To set the SSH key on your local machine you need to use `ssh-keyget`: 126 | 127 | ``` shell 128 | ssh-keygen -t ed25519 -C "YOUR_EAMIL@example.com" 129 | ``` 130 | **Note:** The `-t` argument defines the algorithm type for the authentication key. I used `ed25519`, and the `-C` argument enables adding comments, in this case, the user name email for reference. 131 | 132 | After runngint the `ssh-keygen` command, it will prompt for setting file name and password (optional). By default, it will be saved under the root folder. 133 | 134 | **Note:** This process will generate two files: 135 | - `your_ssh_key` is the private key. You should not expose it 136 | - `your_ssh_key.pub` is the public key that will be used to set the SSH on Github 137 | 138 | The next step is to register the key on your Github account. On your account main page go to the `Settings` menu and select on the main menu `SSH and GPG keys` (purple rectangle 👇🏼), and click on the `New SSH key` (yellow rectangle 👇🏼): 139 | 140 | Screenshot_ssh1 141 | 142 | 143 | Next, set the key name under the title text box (purple rectangle 👇🏼), and paste your public key to the `key` box (turquoise rectangle 👇🏼): 144 | 145 | Screenshot_ssh2 146 | 147 | **Note:** I set the machine nickname (e.g., MacBook Pro 2017, Mac Pro, etc.) as the key title to easily identify the relevant key in the future. 148 | 149 | The next step is to update the `config` file on the `~/.ssh` folder. You can edit the `config` file with `vim`: 150 | 151 | ``` shell 152 | vim ~/.ssh/config 153 | ``` 154 | 155 | And add somewhere on the file the following code: 156 | 157 | ``` shell 158 | Host * 159 | AddKeysToAgent yes 160 | UseKeychain yes 161 | IdentityFile ~/.ssh/your_ssh_key 162 | ``` 163 | Where `your_ssh_key` is the private key file name 164 | 165 | 166 | Last, run the following to load the key: 167 | ``` 168 | ssh-add --apple-use-keychain ~/.ssh/your_ssh_key 169 | ``` 170 | 171 | ### Resources 172 | 173 | - Github documentation - https://docs.github.com/en/enterprise-server@3.0/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account 174 | - `ssh-keyget` arguments - https://www.ssh.com/academy/ssh/keygen 175 | - A great video tutorial about setting SSH: https://www.youtube.com/watch?v=RGOj5yH7evk&t=1230s&ab_channel=freeCodeCamp.org 176 | - Setting Git ignore - https://www.atlassian.com/git/tutorials/saving-changes/gitignore 177 | - Initial Git setup - https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup 178 | 179 | ## Install Command Lines Tools 180 | 181 | This section covers core command line tools. 182 | 183 | ### Homebrew 184 | 185 | The Homebrew (or `brew`) enables you to install CL packages and tools for Mac. To install `brew` run from the terminal: 186 | 187 | ```shell 188 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 189 | ``` 190 | 191 | After finishing the installation, you may need to run the following commands (follow the instructions at the end of the installation): 192 | 193 | ``` shell 194 | (echo; echo ‘eval “$(/opt/homebrew/bin/brew shellenv)“’) >> /Users/USER_NAME/.zprofile 195 | eval “$(/opt/homebrew/bin/brew shellenv)” 196 | ``` 197 | 198 | 199 | 200 | More info available: https://brew.sh/ 201 | 202 | ### jq 203 | 204 | The `jq` is a lightweight and flexible command-line JSON processor. You can install it with `brew`: 205 | 206 | ```shell 207 | brew install jq 208 | ``` 209 | 210 | ### Install Docker 211 | 212 | To spin a VM locally to run Docker we will set [Docker Desktop](https://www.docker.com/products/docker-desktop). 213 | 214 | 215 | #### Install Docker Desktop 216 | 217 | Go to [Docker website](https://docs.docker.com/get-started/get-docker/) and follow the installation instructions according to your OS: 218 | 219 | 220 | 221 | 222 | **Note:** Docker Desktop may require a license when used in enterprise settings 223 | 224 | ### Set Up Terminal 225 | 226 | This section focuses on installing and setting tools for working on the terminal. 227 | 228 | #### Install iTerm2 229 | 230 | The `terminal` is the built-in emulator on Mac. I personally love to work with `iTerm2` as it provides additional functionality and customization options. iTerm2 is available only for Mac and can be installed directly from the [iTerm2](https://iterm2.com/) website or via `homebrew`: 231 | 232 | ``` shell 233 | > brew install --cask iterm2 234 | . 235 | . 236 | . 237 | ==> Installing Cask iterm2 238 | ==> Moving App 'iTerm.app' to '/Applications/iTerm.app' 239 | 🍺 iterm2 was successfully installed! 240 | ``` 241 | 242 | #### Install zsh 243 | 244 | The next step is to install Z shell or `zsh`. The `zsh` is a shell flavor built on top of `bash`, providing a variety of add-in tools on the terminal. We will use `homebrew` again to install `zsh`: 245 | 246 | ``` shell 247 | > brew install zsh 248 | . 249 | . 250 | . 251 | ==> Installing zsh 252 | ==> Pouring zsh--5.8_1.monterey.bottle.tar.gz 253 | 🍺 /usr/local/Cellar/zsh/5.8_1: 1,531 files, 14.7MB 254 | ``` 255 | 256 | #### Install and Set Oh-My-Zsh 257 | 258 | After installing the `zsh` we will install `oh-my-zsh`, an open-source framework for managing `zsh` configuration. We will install it with the `curl` command: 259 | 260 | ``` shell 261 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 262 | ``` 263 | 264 | You can note that your terminal view changed (you may need to reset your terminal to see the changes), and the default command line cursor looks like this: 265 | 266 | ``` zsh 267 | ➜ ~ 268 | ``` 269 | 270 | The default setting of `Oh My Zsh` is stored on `~/.zshrc`, and you can modify the default theme by editing the file: 271 | 272 | ``` 273 | vim ~/.zshrc 274 | ``` 275 | 276 | I use the `powerlevel10k`, which can be installed by cloning the Github repository (for `oh-my-zsh`): 277 | 278 | ``` zsh 279 | git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k 280 | ``` 281 | 282 | And then change the theme setting on the `~/.zshrc` by `ZSH_THEME="powerlevel10k/powerlevel10k"`. After restarting the terminal, and reopening it you will a sequence of questions that enables you to set the theme setting: 283 | 284 | ``` zsh 285 | 286 | Install Meslo Nerd Font? 287 | 288 | (y) Yes (recommended). 289 | 290 | (n) No. Use the current font. 291 | 292 | (q) Quit and do nothing. 293 | 294 | Choice [ynq]: 295 | ``` 296 | 297 | **Note:** the `Meslo Nerd` font is required to display symbols that are being used by the `powerlevel10k` theme 298 | 299 | You can always modify your selection by using: 300 | 301 | ``` zsh 302 | p10k configure 303 | ``` 304 | 305 | The terminal after adding the `powerlevel10k` theme looks like this: 306 | 307 | 308 | 309 | Installing `zsh-syntax-highlighting` to add code highlight on the terminal: 310 | 311 | ``` zsh 312 | brew install zsh-syntax-highlighting 313 | ``` 314 | 315 | After the installation is done, you will need to clone the source code. I set the destination as the home folder, defining the target folder hidden: 316 | 317 | ``` zsh 318 | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $HOME/.zsh-syntax-highlighting 319 | echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc 320 | ``` 321 | 322 | After you reset your terminal, you should be able to see the syntex highlight in green (in my case): 323 | 324 | 325 | 326 | 327 | ### Resources 328 | - `iTerm2` - https://iterm2.com/index.html 329 | - `oh my zsh` - https://ohmyz.sh/ 330 | - freeCodeCamp blog post - https://www.freecodecamp.org/news/how-to-configure-your-macos-terminal-with-zsh-like-a-pro-c0ab3f3c1156/ 331 | - `powerlevel10k` theme - https://github.com/romkatv/powerlevel10k 332 | - `zsh-syntax-highlighting` - https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md#in-your-zshrc 333 | 334 | ## Install VScode 335 | 336 | VScode is a general-purpose IDE and my favorite development environment. VScode supports mutliple OS such as Lunix, MacOS, Windows, and Raspberry Pi. 337 | 338 | Installing VScode is straightforward - go to the VScode website https://code.visualstudio.com/ and click on the Download button (purple rectangle 👇🏼): 339 | 340 | 341 | Download the installation file and follow the instructions. 342 | 343 | ## Set Up Python 344 | 345 | This section focuses on setting up tools for working with Python locally (without Docker container) with UV and miniconda. If you are interested in setting up a dockerized Python/R development environment with VScode, Docker, and the Dev Containers extension, please check out the following tutorials: 346 | - Python - https://github.com/RamiKrispin/vscode-python 347 | - R - https://github.com/RamiKrispin/vscode-r 348 | 349 | Also, you can leverage the following VScode templates: 350 | - Python (using venv) - https://github.com/RamiKrispin/vscode-python-template 351 | - Python (using uv) - https://github.com/RamiKrispin/vscode-python-uv-template 352 | - R - https://github.com/RamiKrispin/vscode-r-template 353 | 354 | ### Install UV 355 | 356 | UV is an extremely fast Python package and project manager written in Rust. Installing UV is straightforward, and I recommend checking the project [documentation](https://docs.astral.sh/uv/getting-started/installation/#__tabbed_1_1). 357 | 358 | On Mac and Linux, you can use `curl`: 359 | ```shell 360 | curl -LsSf https://astral.sh/uv/install.sh | sh 361 | ``` 362 | or with `wget`: 363 | ```shell 364 | wget -qO- https://astral.sh/uv/install.sh | sh 365 | ``` 366 | 367 | On Windows using `powershell`: 368 | ```shell 369 | powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" 370 | ``` 371 | 372 | 373 | ### Install miniconda 374 | 375 | Miniconda is an alternative tool for setting up local Python environments. Go to the Miniconda installer [page](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) and download the installing package based on your operating system and Python version to install the most recent version. Once Miniconda is installed, you can install Python libraries with `conda`: 376 | 377 | ``` shell 378 | conda install pandas 379 | ``` 380 | 381 | Likewise, you can use `conda` to create an environment: 382 | 383 | ``` 384 | conda create -n myenv python 385 | ``` 386 | 387 | #### Common conda commands 388 | 389 | Get a list of environments: 390 | 391 | ``` shell 392 | conda info --envs 393 | ``` 394 | 395 | Create an environment and set the Python version: 396 | 397 | ``` 398 | conda create --name myenv python=3.9 399 | ``` 400 | 401 | Get library available versions: 402 | 403 | ``` 404 | conda search pandas 405 | ``` 406 | 407 | Activate an environment: 408 | 409 | ``` sheel 410 | conda activate myenv 411 | ``` 412 | 413 | Get a list of installed packages in the environment: 414 | 415 | ``` shell 416 | conda list 417 | ``` 418 | 419 | Deactivate the environment: 420 | 421 | ```shell 422 | conda deactivate 423 | ``` 424 | 425 | 426 | ### Install Ruff 427 | 428 | Ruff is an extremely fast Python linter and code formatter, written in Rust. 429 | 430 | You can install Ruff directly from PyPi using `pip`: 431 | ```shell 432 | pip install ruff 433 | ``` 434 | On Mac and Linux, using `curl`: 435 | ```shell 436 | curl -LsSf https://astral.sh/ruff/install.sh | sh 437 | ``` 438 | Likewise, on Windows, using `powershell`: 439 | ```shell 440 | powershell -c "irm https://astral.sh/ruff/install.ps1 | iex" 441 | ``` 442 | 443 | ### Resources 444 | - UV documentation - https://docs.astral.sh/uv/ 445 | - Miniconda - https://docs.anaconda.com/miniconda/ 446 | - Ruff documentation - https://docs.astral.sh/ruff/ 447 | 448 | 449 | ## Install R and Positron 450 | 451 | To set up your machine [R](https://cran.r-project.org/index.html) and [Positron](https://positron.posit.co/), you should start by installing R from CRAN. Go to https://cran.r-project.org/ and select the relevant OS: 452 | 453 | 454 | 455 | **Note:** For macOS, there are two versions, depending on the type of your machine CPU - one for `Apple silicon arm64` and a second for `Intel 64-bit`. 456 | 457 | Once you finish downloading the build, open the `pkg` file and start to install it: 458 | 459 | 460 | 461 | 462 | **Note:** Older releases available on [CRAN Archive](https://cran-archive.r-project.org/bin/). 463 | 464 | Once R is installed, you can install Positron. Go to https://positron.posit.co/download.html, select the relevant OS version and download it: 465 | 466 | 467 | 468 | After downloading it, move the application into the Application folder (on Mac). 469 | 470 | ## Install Postgres 471 | 472 | PostgreSQL supports most common OS systems, such as Windows, macOS, Linux, etc. 473 | 474 | To download, go to Postgres project [website](https://www.postgresql.org/) and navigate to the **Download** tab, and select your OS, which will navigate it to the OS download page, and follow the instructions: 475 | 476 | [](https://www.postgresql.org/download/) 477 | 478 | 479 | On Mac, I highly recommend installing PostgreSQL through the [Postgres.app](https://postgresapp.com/): 480 | 481 | [](https://postgresapp.com/) 482 | 483 | 484 | When opening the app, you should have a default server set to port 5432 (make sure that this port is available): 485 | 486 | 487 | 488 | To launch the server, click on the `start` button: 489 | 490 | 491 | 492 | By default, the server will create three databases - `postgres`, `YOUR_USER_NAME`, and `template1`. You can add an additional servers (or remove them) by clicking the `+` or `-` symbols on the left button. 493 | 494 | 495 | To run Postgres from the terminal, you will have to define the path of the app on your `zshrc` file (on Mac) by adding the following line: 496 | 497 | ``` zsh 498 | export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/14/bin/ 499 | ``` 500 | 501 | Where `/Applications/Postgres.app/Contents/Versions/14/bin/` is the local path on my machine. 502 | 503 | Alternatively, you can set the alias from the terminal by running the following: 504 | 505 | 506 | ``` zsh 507 | echo "export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/14/bin/" >> ${ZDOTDIR:-$HOME}/.zshrc 508 | ``` 509 | 510 | 511 | ### Clear port 512 | 513 | If the port you set for the Postgres server is in use, you should expect to get the following message when trying to start the server: 514 | 515 | 516 | 517 | This means that the port is either used by other Postgres servers or other applications. To check what ports are in use and by which applications you can use the `lsof` function on the terminal: 518 | 519 | ``` zsh 520 | sudo lsof -i :5432 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 521 | postgres 124 postgres 7u IPv6 0xc250a5ea155736fb 0t0 TCP *:postgresql (LISTEN) 522 | postgres 124 postgres 8u IPv4 0xc250a5ea164aa3b3 0t0 TCP *:postgresql (LISTEN) 523 | ``` 524 | 525 | The `i` argument enables the search by port number, as shown in the example above by `5432`. As can be seen from the output, the port is used by other Postgres servers. You can clear the port by using the `pkill` command: 526 | 527 | ``` zsh 528 | sudo pkill -u postgres 529 | ``` 530 | 531 | Where the `u` arugment enbales to define the port you want to clear by the USER field, in this case `postgres`. 532 | 533 | **Note:** Before you clear the port, make sure you do not need the applications on that port. 534 | 535 | ### Resources 536 | * **Tutorial -** https://www.youtube.com/watch?v=qw--VYLpxG4&t=1073s&ab_channel=freeCodeCamp.org 537 | * **PostgreSQL -** https://en.wikipedia.org/wiki/PostgreSQL 538 | * **Documentation -** https://www.postgresql.org/docs/ 539 | 540 | ## Miscellaneous 541 | 542 | ### Install Stats 543 | 544 | Stats is a macOS system monitor in your menu bar. You can download it directly from the project [repo](https://github.com/exelban/stats), or use `brew`: 545 | 546 | ```shell 547 | brew install stats 548 | ``` 549 | 550 | ### Install Htop 551 | 552 | Htop is an interactive cross-platform commend line process viewer. On Mac install `htop` with `brew`: 553 | 554 | ```shell 555 | brew install htop 556 | ``` 557 | 558 | For other OS systems, follow the instraction on the project [download page](https://htop.dev/downloads.html). 559 | 560 | 561 | ### Install XQuartz 562 | 563 | The XQuartz is an open-source project that provides required graphic applications (X11) for macOS (similar to the X.Org X Window System functionality). To install it, go to https://www.xquartz.org/ - download and install it. 564 | 565 | ### Rectangle 566 | 567 | Rectangle is a free and open-source tool for moving and resizing windows in Mac with keyboard shoortcuts. 568 | To install it, go to https://rectangleapp.com and download it. Once installed, you can modify the default setting: 569 | 570 | 571 | 572 | **Note:** This functionality is built-in with macOS Sequoia, and it may be redundant to install Rectangle 573 | #### Keyboard Shortcuts 574 | 575 | * Change language - if you are using more than one language, you can add a keyboard shortcut to switch between them. Go to `System Preferences...` -> `keyboard` and select the shortcut tab. Under the `Input Sources` tick the `Select the previous input source option`: 576 | 577 | ![image](https://user-images.githubusercontent.com/12760966/140625490-3b688dee-fc09-4252-9626-05d10094187e.png) 578 | 579 | **Note:** You can modify the keyboard shortcut by clicking the shortcut definition in that row 580 | 581 | ### Install Draw.io Desktop 582 | 583 | The `drawio-desktop` is a desktop version of the [diagrams](https://www.diagrams.net/) app for creating diagrams and workflow charts. The desktop version, per the [project repository](https://github.com/jgraph/drawio-desktop), is designed to be completely isolated from the Internet, apart from the update process. 584 | 585 | 586 |

Image credit: https://www.diagrams.net/

587 | 588 | To install the desktop version, go to the [project repository](https://github.com/jgraph/drawio-desktop) and select the version you wish to install under the [releases](https://github.com/jgraph/drawio-desktop/releases) section: 589 | 590 | 591 | 592 | For macOS users, once you download the `dmp` file and open it, move the build to the applications folder: 593 | 594 | 595 | 596 | ### Resources 597 | 598 | - Draw.io documentation - https://www.diagrams.net/ 599 | - drawio-desktop repository - https://github.com/jgraph/drawio-desktop 600 | - Online version - https://app.diagrams.net/ 601 | 602 | 603 | ## License 604 | This tutorial is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/) License. 605 | -------------------------------------------------------------------------------- /images/app_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/app_active.png -------------------------------------------------------------------------------- /images/app_unactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/app_unactive.png -------------------------------------------------------------------------------- /images/docker-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/docker-desktop.png -------------------------------------------------------------------------------- /images/download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/download_page.png -------------------------------------------------------------------------------- /images/draw.io app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/draw.io app.png -------------------------------------------------------------------------------- /images/draw.io pic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
AWS Cloud
AWS Cloud
Actors
User
User
Payers
Payers
Channels
Mobile / Web
Mobile / Web
Wearables
Wearables
Echo
Echo
API
API
1
1
4
4
Amazon Lex
Amazon Lex
Amazon S3
Amazon S3
Amazon API
Gateway
Amazon API<br>Gateway<br>
Amazon Kinesis
Data Streams
Amazon Kinesis<br>Data Streams<br>
Amazon
ElasticSearch
Amazon<br>ElasticSearch<br>
DynamoDB
Streams
DynamoDB<br>Streams<br>
Subscriber
Processor
[Not supported by viewer]
Request
Processor
[Not supported by viewer]
Amazon
DynamoDB
Amazon<br>DynamoDB<br>
ERL Function
ERL Function
Amazon Cognito
Amazon Cognito
Amazon Polly
Amazon Polly
AWS IoT Core
AWS IoT Core
Amazon Pinpoint
Amazon Pinpoint
IoT Rule
IoT Rule
Users
Users<br>
Amazon
Comprehend
Medical
[Not supported by viewer]
Amazon Personalize
Amazon Personalize
Amazon
Pinpoint
[Not supported by viewer]
User
User
API
API
API
API<br>
AWS Lake
Formation
[Not supported by viewer]
Execute Model
Execute Model
Related "Casual"
Data
Related "Casual"<br>Data<br>
Research
Research<br>
2
2
3
3
5
5
6
6
7
7
8
8
9
9
Amazon
SageMaker
Amazon<br>SageMaker<br>
4 | -------------------------------------------------------------------------------- /images/draw.io releases.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/draw.io releases.png -------------------------------------------------------------------------------- /images/git_ssh1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/git_ssh1.png -------------------------------------------------------------------------------- /images/git_ssh2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/git_ssh2.png -------------------------------------------------------------------------------- /images/install-R.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/install-R.png -------------------------------------------------------------------------------- /images/install-R2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/install-R2.png -------------------------------------------------------------------------------- /images/install-positron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/install-positron.png -------------------------------------------------------------------------------- /images/port_in_used.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/port_in_used.png -------------------------------------------------------------------------------- /images/postgres_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/postgres_app.png -------------------------------------------------------------------------------- /images/rectangleapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/rectangleapp.png -------------------------------------------------------------------------------- /images/rstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/rstudio.png -------------------------------------------------------------------------------- /images/terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/terminal.png -------------------------------------------------------------------------------- /images/terminal_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/terminal_highlight.png -------------------------------------------------------------------------------- /images/terminal_raw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/terminal_raw.png -------------------------------------------------------------------------------- /images/vscode-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RamiKrispin/awesome-ds-setting/9d189d628284f63f282281bfd7eca0d41de3c8f2/images/vscode-download.png --------------------------------------------------------------------------------