But some fellow programmers have been asking me for career advice, and now I thought it was time to write another one. By the way, if you’re in the mood to check out something else – I’ve started documenting the horrible things I’ve cooked on Heinz’s Worst Recipes. Fueled by my overwhelming desire to eat well—as evidenced by my waistline—cooking became one of my passions. I am far from being a qualified cook because I never follow recipes, and therefore many of the foods I cook are discarded as "sadly inedible". Of course, sometimes after enough attempts, something goes wrong. After enough questions, I was able to get what I wanted. In my blog, examples of successes and failures are documented. Of course, this has nothing to do with Java.
How to become a Java champion programmer?
A few months ago, my business partner Carl and I were dining in a restaurant in Paris with our French course instructor Xavier. During the conversation, Carl and I laughed and joked about all the cool technology we used when we were younger. At the same time, I noticed that Xavier was silent for a long time, so I decided to ask him his age. Although I can't recall his age exactly, I remember that he was quite different in age from me and was about the same age as my second child. This meant that all the programming experiences Carl and I had simultaneously had over the years were worthless to him.
In the career of a software engineer, knowledge has a half-life of three years. This means that after three years, half of the knowledge you have will be worthless. For example, the older you get, the harder it is to see anyone who understands TSR (Terminate-Stay-Resident), and finding someone who has written a TSR is like finding a needle in a haystack. In a DOS system, multiple programs cannot be run at the same time. Therefore, when we need a background function, such as a calendar or calculator, we write a memory-resident program (Terminate-Stay-Resident program) and then activate it from another program through a specific key combination.
In this industry, the three-year half-life of knowledge is actually a great thing, so that you will never become a sinking tree. As a teenager, people warned me against becoming a programmer, thinking I would be forced to constantly learn new things, but I thought our work would benefit from it. First, the mind should be kept fresh and active. The last time I saw my grandmother, she was 98 years old and had difficulty walking, but she still had a clear mind. She saw my Macbook Pro and said, "Hey, that looks great, I want to buy one." It's because she's constantly learning new things that she keeps her head above water. Second, ignore technologies that you are not very interested in because they will soon be replaced. Let me give you an example with Subversion. I used it in the past because I had to, but I didn't treat it special and I didn't become a Subversion expert. A few years later, git appeared, and I could only wave goodbye to Subversion. Sadly, one of my clients actually migrated from CVS to Subversion this year! This is 2015!
Okay, let’s return to the topic - how to become a champion programmer? I think the following points are very helpful:
Strong memory. When I was in eighth grade, I convinced myself that my memory was terrible, all because of a dead history teacher. However, to my surprise, after years of working as a programmer, I was surprised to find that I could instantly reproduce Java source code that I had seen before. When I read a method in the JDK, I can often tell whether the method has changed from the previous version. Maybe I can't remember someone's face and name clearly, but I can remember Java code with a photographic memory - it would be great if the person's name was also a for loop. Fortunately, a lack of good memory does not prevent us from becoming champion programmers, but having a strong memory is still a clear advantage.
Mathematical skills. You don't need to be a math whiz to be a good Java programmer, but math skills will obviously help you have the qualifications to become a good programmer. In January this year I had some free time, so I decided to try Project Euler. One of the puzzles requires nine and a half hours of running time to find a solution. While it was running, I took a look at the problem and discovered a little relationship between the numbers that could be used to optimize the solution. I ran it again and this time it only took 6 minutes. Meanwhile, my first algorithm keeps running, trying to find the answer. I went back to the numbers again and discovered another pattern I hadn't seen before, and now it only takes 6 seconds to complete. I also tried brute-force optimization of the code using clever programming techniques and parallelism, which may have sped it up a little, but still couldn't get it to less than 6 seconds.
About ten years ago, Sun launched the Java Champion program. The idea is to discover the top 1,000 Java experts in the world who are actively doing things to help Java improve. We’re probably ranked 160th right now. Oracle Corporation continues this program, and over the past few years we have seen additional benefits of this recognition system. This is a self-selected group. New champions are recommended and voted on by existing champions. Typically, more than a dozen votes are needed before a champion is chosen, and one vote vetoes the proposal. Self-recommendations will be considered, but generally will not receive enough support.
Programmer friends often ask me how I became a Java champion programmer. "It's very simple" I said, "Just be like me and publish 200 Java-related articles; or write Hibernate, Spring, Jacoco or something; Or answer thousands of questions and publish a dozen good articles on StackOverFlow; or organize the largest Java developer conference in Europe. ”
You need to do something outstanding, which will take time and effort. No one becomes a Java champion programmer because of their charisma and good looks, it’s all about hard work, which is probably why we don’t have mugshots after our names ;-) . Even more, don't become a champion programmer for the sake of becoming a champion programmer. Get rid of selfishness and wait for other people's praise, which will make you feel better. Not every champion programmer will be officially dubbed "Oracle Java Champion (Oracle Java Champion Programmer)".
No matter which path you choose, becoming a champion programmer means dedication. It's completely different from working a 9-to-5 job. You can't learn everything you need while working. To become a champion programmer, you need to study in the evenings and weekends to keep up with the times. The most exaggerated joke is that programmers will enter the elimination period as soon as they reach 40 years old. Maybe they are doing just fine in Java programming - unless they refresh their knowledge by reading books, articles, or attending developer conferences and challenging courses - relying solely on a diploma will eventually become Worthless, the industry will throw them away like used napkins. Never become such a person! learn, learn and learn! And the best way to learn is undoubtedly to share knowledge with your peers.
How to share your knowledge? Nowadays, we have many options: we can answer questions on StackOverflow or other similar sites; we can discuss technical issues over lunchtime by ordering takeout - this is how we did it many years ago at a company I worked for. Go through the "Design Patterns" method. This requires a bit of sacrifice; you may have to give up lunch and spend some evenings preparing for your talks. However, there is much more to learn than simply being a consumer of information.
"The Java™ Specialists' Newsletter" is now read by more than 70,000 programmers in over 130 countries, but it started very small, I sent it to eighty of my friends and family (including my brother, and my parents) and I begged them to forward it to their friends and colleagues. It develops slowly over time. I believe if you look around you can find 80 email addresses and that's how it started. Everything starts small. It develops slowly, but its growth is steady. I know when you see the number 70,000, you might be shocked, but this is only a small percentage of Java programmers.
Finally, I want to end this post with a very helpful point: Passion. Most people have to do boring computer work and few enjoy it. At one of my jobs, they gave an electrical engineer the job of organizing the source code repository. He got it all wrong - when he was doing source control, let's copy the source tree between directories. We have to do this at the same time during every weekly build, and the server is as slow as a crawler. It can often take hours when the machine is stuck and everyone is left to wait, which is painful and frustrating. I have no enthusiasm for VSS (Visual Source Safe: used to manage different versions of source code and documentation in software development). Find something you are passionate about and it should be something you are very willing to do after get off work. For me, it's about studying the nooks and crannies of the Java ecosystem. Passion is what drives us forward when there are countless reasons to stop.
This is kind of why I love cooking. Fortunately, my programming skills are better than cooking.
Receive LAMP Brothers original PHP tutorial CD/"Essential PHP in detail" for free. For details, please contact the official website customer service: http://www.lampbrother.net
|

The session ID should be regenerated regularly at login, before sensitive operations, and every 30 minutes. 1. Regenerate the session ID when logging in to prevent session fixed attacks. 2. Regenerate before sensitive operations to improve safety. 3. Regular regeneration reduces long-term utilization risks, but the user experience needs to be weighed.

Setting session cookie parameters in PHP can be achieved through the session_set_cookie_params() function. 1) Use this function to set parameters, such as expiration time, path, domain name, security flag, etc.; 2) Call session_start() to make the parameters take effect; 3) Dynamically adjust parameters according to needs, such as user login status; 4) Pay attention to setting secure and httponly flags to improve security.

The main purpose of using sessions in PHP is to maintain the status of the user between different pages. 1) The session is started through the session_start() function, creating a unique session ID and storing it in the user cookie. 2) Session data is saved on the server, allowing data to be passed between different requests, such as login status and shopping cart content.

How to share a session between subdomains? Implemented by setting session cookies for common domain names. 1. Set the domain of the session cookie to .example.com on the server side. 2. Choose the appropriate session storage method, such as memory, database or distributed cache. 3. Pass the session ID through cookies, and the server retrieves and updates the session data based on the ID.

HTTPS significantly improves the security of sessions by encrypting data transmission, preventing man-in-the-middle attacks and providing authentication. 1) Encrypted data transmission: HTTPS uses SSL/TLS protocol to encrypt data to ensure that the data is not stolen or tampered during transmission. 2) Prevent man-in-the-middle attacks: Through the SSL/TLS handshake process, the client verifies the server certificate to ensure the connection legitimacy. 3) Provide authentication: HTTPS ensures that the connection is a legitimate server and protects data integrity and confidentiality.

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

PHP and Python are both high-level programming languages that are widely used in web development, data processing and automation tasks. 1.PHP is often used to build dynamic websites and content management systems, while Python is often used to build web frameworks and data science. 2.PHP uses echo to output content, Python uses print. 3. Both support object-oriented programming, but the syntax and keywords are different. 4. PHP supports weak type conversion, while Python is more stringent. 5. PHP performance optimization includes using OPcache and asynchronous programming, while Python uses cProfile and asynchronous programming.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6
Visual web development tools