Things you need to know to become a backend developer
백앤드가 이정도는 해줘야 함
While studying as a back-end developer, I realized that it was important to know what was needed in actual work, when managing large-scale data, and what was needed for collaboration. Even in small team projects, there were times when the importance of version management was urgent, so I needed something to solve this problem, and through a search, I came across a cited development blog.
It explains what back-end developers need to know, and as I read it, I decided to write down any terms I didn't know or things I needed to remember. Many of the concepts were unfamiliar, so I attached various blogs and search data here and there.
Vert.x
Eclipse Vert.x is a tool-kit for building reactive applications on the JVM. A toolkit for designing responsive applications on the JVM.
This is the type of project build method that can be seen when designing Spring boot. Gradle has a faster build speed than Maven and is efficient in building dynamic programs. It is useful for multi-projects as it is more readable than using xml as a groovy script.
You must set up the File Transfer Protocol, a program that allows you to download and move files from hosting and web servers.
Secure Shell, a program/protocol to protect remote servers. It is superior in security compared to the previous remote control system (telnet). Once it is confirmed that the decrypted Private Key and Public Key are a pair of keys, data can be exchanged.
Linux and Mac do not require a separate SSH client installation, but since they do not exist in the Windows operating system, installation of programs such as PuTTY and Xshell is required. (생활코딩 SSH)
It supports languages and development environments used by various developers and provides a standardized interface through interoperability. It can bring data consistency and has the advantage of being easy to maintain.
In an IT environment, a series of processes about how users access and commands are used are accumulated in data called 'logs'. Managing log data well is important in program design and construction and in managing and identifying error data in the future, so it is important to be able to manage this data.
Version management system (source code management system)
Just think of the commonly used Git and Github.
In Git, you can take code created by others and make it your repository through fork. The clone operation does not affect the original source. If you want the file you worked on to be reflected in the original source, you can do pull request, and the original source creator will review and merge it.
Unlike Git, SVN does not have the concept of branches and is a client-server system that is slow and not suitable for version management. In the case of git, it is 스냅샷으로 저장하고 각 시점의 델타 또한 저장. In other words, every time you save, the entire file or the contents of the changed code are also saved, and git automatically sets it according to the size of the change.
A representative example of a program that provides web hosting services, that is, a remote repository referenced by Git, is Github. GUIs for convenient use include SourceTree or GitKraken.
Issue management tool
Through GitHub Issues & Projects, you can create a milestone that groups issues and manage them by separately designating an issue manager. For issue management, you can create projects and use 칸반보드, and you can set the status of the issue, such as in progress or completed.
+
I brought it because there was a phrase to remember while studying Kanban.
Before you do more work, finish what you are doing now. Stop multitasking. Don't alternate between doing this and that.
Lately, I've been thinking about myself trying to do a lot of things... so I have to reflect. In fact, the content of the article was a passage that showed how important it is to improve team play so that you can focus on the task you are currently doing.
API design
Setting up an API that can reduce unnecessary communication.
HTTP API means communication based on HTTP, and REST API includes additional constraints. REST constraints as a network architecture principle include interface consistency, statelessness (client context is not stored), caching, and layering (server connection method).
Set up an architecture that is familiar to the client side, and the learning curve must be manageable. Here, the learning curve refers to the time it takes to learn something, and the time to learn and apply the relevant API must be efficient.
serialization format
JSON is commonly used and is an abbreviation for Java Script Object Notation. JSON is an 개방형 표준 format that uses human-readable text to convey data objects consisting of key-value pairs. In order for variable values, i.e. data set in Java, to be applied to other languages, it is important to set the serialization format.
User authentication method
User authentication is important for security reasons. Authentication data can be sent using the HTTP Authorization header.
In order for a user to access a resource, he or she must go through a procedure called 인증과 인가. In the HTTP authentication process, due to the stateless nature of HTTP, the entered data is not preserved and is disconnected when the result of the request is received.
Since receiving and transmitting information in the HTTP header every time is vulnerable to security, the following methods appeared.
“Cookies” store data on your computer, and your authentication remains even if you close your browser. Unlike cookies, "sessions" remain authenticated until you turn off the browser and use more memory. And it uses server resources. Lastly, "토큰" sends an encrypted token to JSON WEB TOKEN (JWT) HTTP, making it impossible to interpret without the secret key. However, the disadvantage is that it wastes a lot of server space.
HTTP API design and documentation
Let’s check how to design an API by looking at HTTP API 디자인 가이드, which was used to create 히루쿠 플랫폼 API. The idea is to organize what functions each GET, POST, DELETE, and PATCH will be used for.
There are many ways to share the established API design with team members, but GitBook is used.
+
More study is needed on API design. I need to take a related class and organize it again.
WAS development - setting up language and framework, creating Hello World server
Dependency management tool
This is a tool for managing external libraries.
Comments
No comments yet. Be the first!
164 posts in 테크
- 2233D Gaussian Splatting vs Unreal Engine: Two Ways to Build a 3D World — and Where Each One Ships
- 222LLMs Inside Unreal Engine: The New Skills Game Developers Need in 2026
- 220Living With Claude Fable 5: How the Most Capable Model Changes the Way You Actually Work
- 219Luma's Bet: From Video Generator to a Single Model That Thinks in Pixels
- 215The Best AI Video Models in 2026: Types, Differences, and Where This Is All Going