[PYTHON] A tool that seems to grow explosively when a fledgling engineer knows [Mixed]

Synopsis

I have accumulated some knowledge, so I will output it.

I've put together a tool that "makes your eyes sparkle" when you see it seven years ago.

Application management tool

Chocolatey,Homebrew image.pngimage.png

Know the world share

Search for (https://chocolatey.org/packages) You can see how many people around the world are using the app. For example, if you search for "JRE", you will see the number "OpenJDK has been downloaded about 1500 times, but AdoptOpenJDK has about 540 times". There are other ways to see it, such as Trends, but this is very close to the actual number of users. (Of course, corporate users have an in-house HUB server, so I think it is less than the actual value.) image.png

Installation is explosive

You can skip the browser operation when installing the application. If you remember the package name You can "install the app in seconds when you think of it".

For example, if you want to install vscode on windows.

Normal installation procedure

  1. "Windows" key
  2. Type chrome and press Enter
  3. Press "Ctrl" + "e" to move the cursor to the address bar
  4. Type vscode and press Enter
  5. Click the web page title
  6. Click the download button
  7. Double-click the downloaded installer
  8. Promoted to administrator privileges on UAC screen
  9. Press the Next button
  10. Approve the license
  11. Click the Start Installation button

Installation procedure using Chocolatey

  1. Press the "Windows" key to start the menu
  2. Search for powershell and press" Ctrl "+" Enter "
  3. Type choco install vscode -y and press Enter
  4. Type refreshenv and press Enter.

Then if you want to install vscode on your Mac.

Installation procedure using Homebrew

  1. Start spotlight search with "command" + "space" keys
  2. Search for term and press Enter
  3. Type brew cask install visual-studio-code and press Enter

It's a very short procedure.

AWS,GCP,Azure It is the top three of cloud computing. It is no exaggeration to say that modern engineers can use this.

image.pngimage.pngimage.png

You can skip a lot compared to buying real equipment in the real world. What people currently prepare quickly with cloud computing, If you want to prepare it on-premises in your house or company, you need money, time, and space. It's an indispensable tool for savorymen.

With the advent of cloud computing, students without money and It has become a world that is kind to fledgling freelancers. This lowering of the hurdle may have widened the door.

Module bundler

Webpack https://webpack.js.org/ As the name suggests, it is a web-based tool. Bundles all the static modules your project needs. It is similar to the compiler in C language. image.png

You can bundle js modules, Sass, jpeg, etc. Therefore, in webpack,

You can treat various things such as Loader module. It's anything anymore. In that sense, it reigns at the top of various other tools. I feel like I can call it an "orchestration tool".

Because it can be bundled in one file You can reduce the per-file overhead when the user loads the page. It is essential for speeding up the Web.

With this webpack, you can operate various tools in an integrated manner. It is especially recommended for those who have various tools and want to skip management.

Linter,Formater,Refactorer In C #, "Resharper" provided by Jetbrains is used, and in Python, "autopep8, rope, pylint" are linked. "Prettier" is recommended for the Web system.

lang Formater Linter Refactorer
C# Resharper StyleCop Resharper
js Prettier eslint Prettier
python autopep8 pylint rope

I think the order is "Intellisense-> Refactor-> Formatter-> Linter-> Test-> Runtime Debugging-> Compile".

Tools for pair programming

LiveShare https://visualstudio.microsoft.com/ja/services/live-share/ Regardless of the OS, multiple people can view one debug screen over the Internet regardless of vscode or vs. Of course you can also edit. image.png

It seems that you can improve quickly by doing pair programming and receiving guidance from engineers who are more advanced than you and looking at it. It is also a learning experience to teach yourself.

Version control tool

Github image.png

It is a service that allows you to manage versions using software called Git. The word commit is used very often here. Others include GitBucket and GitLab. It really comes into its own when working with others. Of course, it is convenient to use alone.

With Github, you can go beyond just a version control tool to manage issues and driven projects. You can also publish the repository page as the home page of your application using the Wiki, Readme page, Github Pages, etc.

I think it's better to use it because it gives you the idea of ​​planning management and the spirit of making it publicly available.

Also, non-Git management methods include mercurial and subversion. It's very important to know that Git isn't everything. Is there a web service like github where you can choose between git, mercurial and subversion?

DB management tool

DBeaver https://dbeaver.io/

--A versatile tool for DB. You can do almost anything. strongest. --Cross-platform compatible and can be used anywhere - Windows - Mac - Linux --You can usually use the database you can think of image.png

Just looking at this makes me feel like I can use various databases. It's also nice to be worried about "What is this database?"

Virtualization

HashiCorp tools

https://www.creationline.com/hashicorp image.png Doing things like using the above cloud computing top 3 I use it when I think "I want to do it even in an on-premises environment".

Interesting, first of all, it may be good to try running virtualbox with vagrant.

OpenStack http://openstack.org/ It's hard to tell what's different from HashiCorp, This is also a group of free software for cloud computing. image.png

Information collection and transmission tool

It is easy to gather information by asking or teaching people. Rather, it tends to be self-righteous otherwise. Communicate positively, I want to update my thoughts.

Also, if you think about it yourself, you may not have enough time. I will skip myself by having other people think about it.

In particular,

--Japanese blog production site → Hatena Blog --Specialized as an engineer → Qiita --Japanese Q & A site → Yahoo! Chiebukuro --Specialized as an engineer → Teratail --Site for Japanese video senders → Nico Nico Douga --Specialized as an engineer → Not yet

It's like that.

Qiita This is here. This is one of the largest blog-based SNS services where Japanese engineers gather.

Teratail image.png

Teratail is a Q & A service where Japanese engineers gather. The strength is the high response rate. However, I feel that the quality of the answers is delicate, probably because I asked for the response rate too much. (Response rate as of 2020/11/03 88%)

Stackoverflow image.png image.png

I'm a child of the super-large Q & A site "Stack Exchange". Among the children, the biggest one is "Stackoverflow" for programmers.

--Worldwide version - https://stackoverflow.com/ --2 million questions --3 million responses --Response rate 70% --1.3 million users --Japanese version - https://ja.stackoverflow.com/ --Number of questions 24,000 --28,000 responses --Response rate 77% --28,000 users

Given the large number of users, it is better to ask questions in English.

Editor

VScode image.png homepage : https://code.visualstudio.com/ repository : https://github.com/Microsoft/vscode/ image.png

It's safe to say that no editor is better than vscode in recent years. Because of its light weight, it is perfect for me who wants to get rid of projects quickly. I love it.

The strongest editor without complaint. Especially excellent as a script editor. For languages ​​that require compilation, such as C # and JAVA, it may be wise to use a dedicated IDE. This is because it is difficult to set up for advanced debugging such as resource usage with VScode.

It also sells a lot of extensions, but most of them are volunteers. If possible, you should avoid bugs by using only the extensions that are officially supported.

Conflicts are eclipse, sublime, xcode, atom, etc.

It is difficult to use Visual Studio and Visual Studio Code properly. There is no big difference between them for beginners, so we recommend the lightweight VS Code so that you will not lose motivation. Visual Studio will be confused by too many features and Visual Studio Code will be confused by too many extensions. However, the IDE is recommended only when creating GUI applications.

Even with GUI, Visual Studio Code is used when developing for smartphones with Unity. This is because Visual Studio Code does not require high functionality because it compiles in Unity in this case.

Tools by JetBrains

It is a group of tools provided by the company "JetBrains", which is also famous for developing the official language "kotlin" for Android OS. image.png

Comprehensive tools include Rider, PhpStorm, PyCharm, WebStorm, CLion, RubyMine, GoLand, IntelliJ, etc. The name of the tools is too cool. That alone makes me want to use it.

However, there is a charge. It is said that it will be provided free of charge for open source projects. It is also characteristic that many blogs have introduced that it is worth paying. It is worth knowing that "high level people use these tools".

Summary

Good luck with yourself in the past! And now I am!

Recommended Posts

A tool that seems to grow explosively when a fledgling engineer knows [Mixed]
Summary of linux command techniques that I knew when I was a fledgling engineer
A library that seems to be good to know when forced to AJAX non-AJAX WEB services
A special Python codec that seems to know but does not know