#Using genuine products is a sign of respect for our own profession, isn’t it?
Okay, let’s talk about other topics. As a programmer, have you ever used pirated software?
There is no piracy on my computer, whether it is programming tools or other software. I regard this as a basic requirement for myself.
Statement
I am using Mac OS system, this is because I have Sometimes you need to do iOS development. But I think these also have certain reference value for programmers using Windows or Linux.
Genuine, open source and free
I mainly use open source and free tools, and very few paid tools.
Open source and free software are powerful enough
Whether it is open source tools, or We can call software or tools that have functional limitations or other limitations as genuine software.
Next, I will introduce the genuine software or tools I use one by one. Since my development experience covers almost all technical directions, it means that no matter what aspect of development you are engaged in, this list may be helpful to you.
1. IntelliJ IDEA CE
Usage: After End-end development IDE
Brief description
It is a must-have for back-end programmers, and it is also absolutely mainstream. When I just graduated, Eclipse was popular at that time. At that time, there was also a paid and powerful MyEclipse, which integrated various plug-ins. At that time, we basically used pirated versions of MyEclipse.
Of course, many people now use the pirated IntelliJ IDEA commercial version instead of the free IntelliJ IDEA community version.
I don’t quite understand what the additional features of the IntelliJ IDEA commercial version are. For me, the IntelliJ IDEA CE version is completely sufficient. It seems that it has some functions to support front-end pages and JS, but today when the front-end and back-end are separated, it is basically useless.
2. VirtualBox
Function:Virtual machine software
Brief description:
When doing back-end development, many times we need virtual machines and virtual Linux to do many things, such as testing clusters or testing how the things we develop run on Linux. As for virtual machine software, the one I use most is VirtualBox.
I remember that in order to test the LVS cluster, I used it to virtualize many CentOSs for testing.
3. VMware Fusion Player
Function:Virtual machine software
Brief description:
VMware provides a free version of VMware Fusion Player. You only need to apply for a free License. Compared to VirtualBox, which I use for testing functions, I prefer VMware Fusion Player for official use.
4. DBeaver
Function:Relational database management tools
Brief description:
This is an open source and free relational database management tool, which includes support for almost all mainstream databases. It is a tool based on Eclipse RCP technology. And I also developed a plug-in based on eclipse rcp many years ago.
You don’t need to use other database management tools, this is enough.
Some programmers use pirated DataGrid. For these people, I suggest you try this tool.
5. iTerm 2
Function :Shell tool
Brief description:
I used to be very confused about which command line tool to use. Later, when I discovered iTerm, I no longer had any doubts, it was it.
What I like most is its split-screen function, which divides one interface into several small Shell interfaces. If you have ever deployed, you will understand how necessary this function is.
6. draw.io
## Function:UML tool
Brief description:
If you want to draw UML diagrams, flow charts, or anything else, using draw.io is the most correct choice. It has a web version and a desktop version.
Its desktop version is also developed based on electron technology. I will make a series of sharing about electron in the future.
7. Visual Studio Code
Function:Front-end IDE
Brief description:
It’s an artifact of front-end development. It’s hard to imagine that this development tool was developed based on electron. Its most powerful feature is: its plug-in mechanism.
Some front-end staff are using pirated versions of WebStrom. Okay, I admit that the IDEA series of tools are really good, but let me choose, I will use the free Visual Studio Code.
8.Sourcetree
Function:git tool
Brief description:
I have tried many UI tools for git operations, and Sourcetree is the easiest to use. It is a free but not open source software. But we can use it for free. Of course, don't rely too much on tools. You still need to master the basic commands of git.
9. Android Studio
Function :Android development
Brief description:
For the initial Android development, there is another option, which is the eclipse-based plug-in. With the popularity of IDEA, Google launched its own IDE, Android Studio, based on IDEA.
Android Studio is built on IntelliJ IDEA CE.
However, I feel that Android Studio is a bit stuck and the experience needs to be improved.
10. Xcode
Function:iOS development
Brief description:
Whether you like it or not, this is the main thing about iOS. Although its size is scary enough, larger than an operating system installation package, the latest Xcode 12 is already 10G in size.
And it’s not a very good experience, but we have no choice, right.
Of course, you can say that there is also an AppCode, which is also paid and belongs to IDEA. But for iOS development, the mainstream is still XCode.
In other words, IDEA is still very powerful.
11. Typora
##Function:markdown text tool
Brief description:
For programmers, using markdown is a matter of course. Forget about Word and those annoying formats.
If you need a software that is very smooth and elegant for writing markdown, then Typora is the tool you need.
12. Proxyman
##Function:Proxy packet capture tool (Mac exclusive)
Brief description:
For testers who are engaged in mobile development or mobile testing, there is an indispensable tool, which is the network packet capture tool. Proxyman is such a free tool. It is unique to Mac OS.If you have other operating systems, you can consider mitproxy
13. Mitproxy
##Function:Proxy packet capture tool
Brief description:
This is another This proxy packet capture tool is based on the command line. You heard it right, it is a proxy packet capture tool that can be run on the command line. Of course, it has a UI based on chrome, which is relatively simple.
Of course the function is sufficient, but it is not simple.
14. Postman
Function:HTTP request testing tool
Brief description:
Many times, others tell us about an HTTP interface, and we want to test how it should request or what data it returns, then just use Postman. This tool is very valuable for testers.
15. Jmeter
Function:Performance testing tool
Brief description:
Don't forget performance testing, programmers.
This is an open source and free performance testing tool. Its power is unimaginable. In fact, almost all mainstream Internet companies use it. It is light enough, powerful enough, and supports enough platforms and systems.
I am writing a series of articlesJmeter tutorial for programmers, don’t miss it, you can follow me The public account [Weiyan Code Road].
16. Sonar
Function:Code quality detection tool
Brief description:
Have you ever used Sonar? If you have never used it to analyze the quality of your code, then I can only recommend that you learn about it immediately. Use it to analyze your code style and quality.
Maybe you will be surprised.
17. Docker
Function:Virtual technology
Brief description:
It is a virtual technology, which is somewhat similar to but not the same as a virtual machine. As a backend person, you have to install and use it, because deploying on Docker is more lightweight and convenient.
18. Microsoft Remote Desktop
Function:Remote desktop
Brief description:
I know that we may always need to deal with Windows. If you are using a MAC, then this free tool from Microsoft was developed for you. Use it to easily connect to remote Windows operating systems.
19. Sublime Text
Function :Text tool
Brief description:
I have always been very curious, why are all the text tools that come with the operating system so ugly or have such simple functions? Can't they be slightly better?
If you want something better, then Sublime Text, a free software, is right for you.
20. WPS
Function:OFFICE TOOL
Brief Description:
Are there too many advertisements in WPS? I don't know, because this doesn't happen on MAC, but it may be true on WIN.
Maybe WPS has a bad reputation, but you have to know that OFFICE is charged and WPS is free. And it has no ads on non-WIN operating systems.
Use it, it is better than using cracked OFFICE anyway.
21. gitmind
Function:Brain mapping tool
Brief description:
XMind is probably the most famous, it's free to use with restrictions, and for a long time I used XMind. Until I discovered gitmind later, I thought it was very easy to use.
The only drawback is that it only has a web version, but in today's era where the Internet is everywhere and we can't live without the Internet, this does not affect our use.
22. Youdao Cloud Notes
# #Function:Note-taking tool
Brief description:
Taking notes is always necessary. If you want to choose one, I suggest you consider Youdao Cloud Notes or Graphite.
If you are a MAC family member, then use iCloud Notes without hesitation.
tinypng
##Function:Image compression
Brief description:
As a programmer, sometimes you may I know how to write blogs or documents, and sometimes the pictures are quite large. At this time, tinypng will be needed. It is a completely free image compression tool with very good compression quality. Can greatly reduce the size of images.
Non-programming relatedSome other genuine tools that I use but have little to do with programming.
The Unarchiver
##Function:Compression and decompression tool (Mac exclusive)
Brief description:
should It is a very lightweight and compact tool unique to Mac OS systems.
##Function:Tencent Lemon
Clean the system (Mac only)##Brief description
:I don’t I don't know if it is really useful. I mainly use it to see the memory usage. But if you need a similar tool, using the free version is at least a little better than using the pirated version of CleanMyMac.
Snipaste
##Function:
Snipping toolBrief description
:There is not much to say, the screenshot tool the best.
Motrix
Download tool##Function:
Brief description
:Forget Thunder, this is a cross-platform Platform tools. Its bottom layer is built on aria2 download technology.
IINA
##Function:
Playback tool
Brief description:
In fact, it is rarely used, but I feel that such a software is indispensable in my computer.
NTFS Tool
##Function:NSFS reading and writing tools (MAC proprietary)
Brief description:
Sometimes we need to read and write disks on WIN, then this free and open source tool is very convenient.
Paid ToolInk Knife
Function :Prototyping tool
Brief description:
You read that right, as a programmer, I sometimes still use the ink knife for prototyping.
Among all the prototyping tools, my favorite is the domestic Ink Knife, which costs 199 a year, and I paid for it.
Respect others, but also respect yourselfAs a programmer, using genuine software, I don’t think this is something to do for yourself, it is for your profession. A basic respect.
We need to thank this era. Today’s open source and free software have become so powerful. It is not just open source frameworks, technologies, solutions, etc., but also the software we need daily on our computers. It is also increasingly occupied by open source and free.
We would like to thank countless colleagues for their hard work and dedication, and at the same time keep in mind that we must also become a member of these people and be a professional programmer.