[转] My Java Learning Road

xiaoxiao2021-04-05  277

Let me talk about my experience here. In front of the university and the three years of the university did not say, because the high school in front of the university is studying hard, the third year of the university is mixed.

My school is still in the school, although I am not the first famous brand university in Peking University, but at least China's second stream famous university. In the first three years of the university, accompany the game in the past, just the basic knowledge of the computer. After the big four, I suddenly found the problem of employment in front of my eyes, and I didn't seem to be, so I started reading. The most important point focused is C , but later, he was attracted by Java since he saw a book of J2ME. Although the school has across the Java course, he just learned a little fur, and only written the Hello World and what the addition and subtraction is very simple. Even the API knows that there are no, such as characters. I don't know the API of the string length. So just started to learn J2ME, I repeatedly frustrated, I also understood my shortcomings, decided to start with J2SE.

Just started to familiarize yourself with the Java development environment, bought this JBUILDER development tutorial and installed JBuilder on your own book. At that time, I didn't even know that every API can do something, I don't know where I don't know where I'm going to check. Later, my classmates told me that there is a javadoc, I am still excited, I feel that I am from darkness. Launched it back. When using JBuilder, I immediately attracted it, there are two reasons, the first is because it automatically marks the syntax error, and when you write the code edge, you prompt you to syntax, remember to use VC before, each program After writing, compile, then Build, run again, each of which is a lot of errors. Especially in compiling, there are more than 100 errors written in more than 200 rows of programs. As a result, every time the work above this is a long time. JBUILDER uses instant syntax analysis, so it is basically written, and the steps of the adjustment syntax error can be omitted. The second reason is that you can automatically prompt code. This feature allows you to quickly familiarize yourself with the API, so you have trouble every time you go to help the document, I just have a lot of API.

You may ask me why I didn't learn "Java Programming Thought" at the beginning, and this book has a few books, but everyone is generally reflected in the effect, and I don't know what to say, so I didn't dare. Look.

After 20 days of learning, I have a further understanding of Java, familiar with many API functions, because the development of Swing in that book has a lot of space, so it is also known for Swing. After reading, I said that Java's soul is multi-threaded programming, so I started watching OREILLY "Java Thread". I remember that this class in the university will mention the knowledge of threads. And the class is implemented in Java, at the time, there was a little concept, but this time I saw this specially said that the thread was discovered, I didn't count anything. (Of course, now I am recalling, I am It is only very simple fur to read the book. After reading this book, I learned to develop very simple multi-threaded programs under my JBuilder, and simulate thread conflicts, waiting, etc. At that time, one or two hundred lines of programs he wrote can be successfully implemented, and it would not be mentioned. I saw it very quickly, probably spent 3 weeks.

After the above learning, I have improved a lot more than before, and I found my work, I did J2EE to make a happy birthday, so I strive to learn Java confidence.

In the program written above, I have no nature of myself, and my own blind spots are particularly very much when the code is written, and it is easy to make a low-level mistake. I have a Chinese version of "Effective Java", but I have seen a few pages and find that I don't understand it. What is the static factory in it, what single example mode does not know what is going on. I know that my current level is not enough, so I decided to put down this book and find another book that is suitable for my book. At this time, I saw a book of "Practical Java", who was translated by Mr. Jie, was just the bookshelf. This book I felt in the bookstore, I felt that I won the treasure, I immediately bought home, and I read it in the bus on home. This book is not very thick, but I have been very careful and careful, and I understand a lot of things, such as the difference between Java medium and equals () methods. When is it used? There is also an Exception process mechanism, I didn't know what called Exception, just JBuilder prompts me to throw Exception, I will throw an Exception, I think this thing is nothing to use. But after reading this book, I changed the view. I found that Exception is a good thing, and can quickly distinguish the program from normal state and abnormal state, even if it is accurately processed. At that time, I also pay attention to the idea of ​​writing an exception handling section when I wrote a program. "Practical Java" This book is not thick, but I have seen it very carefully. I spent 1 month, I put this book fully digested. At that time, I heard that Java's application on the network was very wide. I didn't know what the application, I bought this book of Oreilly "Java Network Programming". Although this book is very thick, in fact, the first half of the content is not very complicated, and I will understand what RMI is written in the second half. I can only understand a concept. Through this book, I learned what is what the HTTP protocol is what is used, and how it is using Java transfer data, knowing what is request, what is response. This also made a good foundation for the beginning of my J2EE. At that time, he still wrote the code to verify it. He wrote a server-side socket and client socket, successfully communicated, and added security socket content to the SSL communication. At that time, I wrote this in the Swing shell, and I also took this time with my classmates. However, there were no things such as the check code, so the transmission of small documents is still ok, the file is a little bigger, and the passing documents are always not opposite, and I will often have some differences from my original documents. Leading the file can't be opened.

"Java Network Programming" This book has seen a lot of time, because the book is relatively thick, there are more things, but except for some of the knowledge, others are still easy to understand. It took about 2 months to read. After reading, the time has also arrived in March 2004. I also turned to start my graduation design. Our graduation design tutor is not bad, give you a topic, I chose an online resume processing system for B / S structure, just with what I have learned and what I work below is on a road. At this time, I think I should go to the B / S structure. At that time, I would still look at the servlet before I first see JSP. I finally decided to look at the servlet first, and then proved that my decision is right. I am very easy to learn JSP after familiar with servlet, basically there is no difficult point.

Some people will feel that I have read a lot of Oreilly books, although I can't say that Oreilly is a good book, but relatively, the probability of good books has more than many other publishers, and the system is complete. I have seen a few books I feel that it is not bad. Let's talk about the "Java Servlet Programming" when I learned Servlet, very good book, let me quickly know what servlet, then through the simplest instance, let you know how servlet When running, how to cooperate with the HTTP protocol, how to return to the text of the HTML, how to write, what is the meaning of each element, etc. Since I have a certain XML basis (I know the meaning of XML syntax, it is more fast. Through this book, I know how to dynamically generate HTML documents, know how to map a servlet to a virtual address. In the semi-part of the database operation section, I understand the database is actually limited to the "database system principle" on the original university, how to interact from the program and database is unless. Operating this chapter through the database, I know how to use the JDBC statement how to write, everyone is not laughing, for the first newcomer, this is a new field, do what is needed to come to the control, follow the 依 葫 画 画 画, In fact, the current software development is also the case, I think everyone can handwritten struts or hibernate configuration files. Gossip less, probably this time, I have some ideological concepts for graduation design. After reading "Java Servlet Programming", then read OREILLY "JSP Design" after reading "Java Servlet program", because there is a servlet foundation, learn from JSP. At that time, I didn't focus on the TAG's custom design. I saw the other things of JSP. I finally finished the graduation design after May Day. At that time, the total code amount was more than 2,000 lines. The first time I wrote so many code. Great sense of accomplishment. It seems that it is standard garbage that it seems that it is still very good at that time. Use servlet JSP. In fact, servlet is not used as a controller, but a similar function that is made with JSP, is a function of VIEW. Soon, graduation design has passed, writing graduation thesis, preparing to defense. During this process, I think about what books you should look at yourself.

This time I also read a masterpiece of Houjie translation, which is the "Reconstruction-Reflatable-Improved Design of Existing Code". Just started to hear this name, I always felt very deeply, coupled with all comments, the refactoring is the stubatic, the design model, and it feels more horrible. Probably I started to have a refactor in early June, although I was trying to watch the mentality, but I was still very serious. However, let me feel unexpectedly, refactor is not very difficult. At least this book is very easy to understand, through a large number of instances make you feel that reconstruction is a very simple and very basic technology. Although I have finished reading the reconstruction, I rarely follow the methods mentioned in the real code, basically through the IDE to reconstruct the code, but it greatly improved my programming thinking, since then Write code is very regarded, because I have a refactoring this tool. This book is a bit thick, coupled with the middle defense, take a graduation photo, and graduation procedures, etc. I spent a month and a half months. I don't think it's fast, but I read a sense of perseverance, unlike some people who don't want to see it in a few days, I can insist on watching every day, so it is still not slow. I have calculated, if I look at the 10 book every day, I stick to it, that year is the 3650 book, an average of 365 pages of book, 1 year is 10 this. If there are 8 items in this 10 books that don't belong to garbage, then you can have a lot of improvement this year. Seeing the middle of this book, I also smoked two other books for a while. The first is "Java Night Sleep", a very good book, although it is a prose, but still makes you understand Less reason, benefiting a lot. Another one is Li Wei's "Borland Legend". Since the favorite tools at that time were JBuilder, it was also very respectful for Borland, especially for Anderson, simply worshiping the film, haha. This book is very exciting, wrote Borland's twenty years of blood tears, wrote how to struggle with Microsoft, how to survive in Microsoft and IBM. Of course, there are also many of the insights of Levi, the author of the technology, and there will be a lot of feelings. In this way, I finished reading the reconstruction.

After reading "Reconstruction" this book, I also started to report to the company. It can be seen that the level is also very limited when I work, but it is a lot more than a year ago, at least a lot of things have been known. At that time, there were more external programs, and I also went to the bookstore to buy this "Java Extreme Programming". Now I want to think that I can see the first garbage book. However, it is also harvested. This book is limited to programming, and then writes a lot of tools. In the "Reconstruction", I have a little understanding of JUnit, but it is just the fur in the fur. After reading this "Java Extreme Programming", I learned a lot of fur in the use of JUnit. I have a little understanding for CACTUS. I have learned a lot of Ant, at least I can write my own configuration file, and can be combined JUnit generates test Report. Since I went to Japan, I made out of date, so the company began training Japanese language, using the "Standard Japanese" Textbook. I thought about the technology of learning, about 2 weeks, I was thrown after the "Java Extreme Programming" was initially read. At this time, I have begun to use Ant, I feel that it is an important step in J2EE.

Soon that after the garbage book, I saw this and Java not very relevant book: "The programmer cultivation - from small work to expert", the reason is actually very simple, university classmates said this book is a classic book. , Reading this thing, others' evaluation can still have a lot effect. The number of words this book is not a lot, but it is more scattered when the typography is typically, it is a bit thick, huh, huh, may also apply a way to make money. However, in general, I think the quality of the publishing social paper is the Electronic Industry Press. Secondly, China Electric Press, the most badness is the mechanical industry publishing, the machinery industry publishing House has a small number of books to say In the past, there were many simplicity that people had to have temper, and the paper was thin and wrote a brush-talking rice paper. This electronic industry publisher's book paper quality is really good, but maybe because I have a lot of skill, so this book is understanding, but I feel deeply and remembered that there are not a few, now I will recall again. I only remember that the software module is designed to be orthogonal and so on. This book is not very much because of the content, so I have seen it for half a month. At this time, I developed IDE has been transferred to Eclipse. After all, the commercial development is a bit not in the past, and the company is also afraid, so it is not allowed to use JBuilder to encourage everyone to use Eclipse. After I used Eclipse for a while, I didn't adapt from the beginning. I feel that Eclipse is very convenient. JBuilder is more than Eclipse. It is some template for different types, and these can be made up of Eclipse. At this time, I think my Java foundation should be OK, the API is also familiar with a lot. I think it is mature when I look at "Effective Java".

Since the university has graduated, there will be "Effective Java" of the classmates, let me see such a good thing, and the old man has tried to buy this "Effective Java" Chinese version back to study. Oh, everyone may ask me why I don't buy this e-article. Although my college has also passed English 4, and many computer professional courses in the university are also e-text. At that time, I was also read seriously for the exam. But after all, English is not our mother tongue, it looks like a slow time that is significantly higher than the Chinese version. Of course, if it is the Chinese version of the waste translator to translate the machine, see those garbage Chinese version of the version of the Chinese version will definitely see the original English original. At this time, I saw "Effective Java" is no longer the original feeling very strange. I feel that I have to think that I have to think about it. I personally feel that this kind of program habits and the most level of the highest are similar to "Practical Java" and "Effective Java", which can be explained in the place that you usually ignore according to the focus. Create a correction. For example, "Effective Java" in the use of a static factory instead of constructor, when you have developed, you never take the initiative to think of a static factory, I always feel that the use of constructor to create a new object is the meaning of the sky. thing. But after reading this entry, my opinion has changed, I found that the static factory is still very good. Of course, it is not very good to use a static factory. The above is also written to the advantages and disadvantages of static factories, such as where it is suitable, what is best not to use, and so on. This book I feel that the translation is also good, absolutely, and it is strongly recommended to people with certain development experience. I have seen this book for 3 weeks. At this time, the time in September 2004, the new employee is no longer a pure Japanese training in the first month, but technical training. Launched by Japanese training, technical training Java, web development, database development, three courses, Japanese began to train Japanese international training. The company's Japanese training and technical training are not bad. Technical training is purely people who don't understand everything, start training from the most primitive Hello World from the Java. Web development starts training from the HTML page, database development Oracle installation, the writing of SQL statements begins training. Of course, I will not be idle in the process of training, but I start looking for books you have to lick, this time, I chose the second edition of "Java and XML" in Oreilly.

Due to the freedom and powerful of XML expression, XML is particularly suitable for configuring the configuration file and the data information file, and the use of XML in Java can be described as cow. In J2EE, starting from the Web Application's Web.xml is an XML file, to the following Framework configuration, etc., there is no way without XML, and XML has played a pivotable role. Although I originally understand the XML, it is only limited to XML syntax and structure, and those who go deep into things is basically blind, and how to deal with XML in Java is even more unhappy. In order to better learn J2EE, XML must conquer a peak. This time, I still trusted the Oreilly Press again, I bought the second edition of "Java and XML" in the "Java and XML" in the present time. This book has just begun to introduce too much things to introduce XML itself, but in order to be afraid that some readers don't understand XML, I have made very brief introductions for XML syntax structure, but it is also in place. After introducing these XML basic knowledge, I started SAX -> DOM -> JDOM -> JAXP -> Web Service. But I now think that if you can introduce the DOM4J, it is better, because I think Dom4j is the best use of the best in Java and the performance is also good. I just started what is SAX, what is DOM, I don't know, I don't know about JAXP. This book English version is said to be very popular, I can only say the Chinese version, because some places estimate that the translator is not good at this piece, so translation is very hard, so that some paragraphs are difficult to understand. Overall, most of the contents of the book still understand, because there is no specific actual experience, there is a lot of understanding of the concept, until a few months, doing formal projects begin to apply these XML processing tools to develop I have reached the ability to skilled. In this book, I learned JDM's way of use, and JDOM is still more useful, learn JDOM, and it is convenient to manipulate XML in the future. I suggested this book, you can read it in a jaxp section in a mouth, and some of Cocoon and SOAP and so on is not very good. Cocoon I saw the official special helper documentation and felt into the door. And SOAP is actually learned by other books and the actual use of the project. At this time, I have just passed the company for two months. Time has come to mid-September, and there is another month of our company's new employee's training will end, but also more than a month we have to start. Contact official project. At this time, I wrote the B / S program is just the level of JSP Javabean. Even the TAG in the JSP will not be customized. I saw the program on the website I also define TAG very envious, so I decided to design the JSP design. "Seriously, implement the function of custom TAG. Later, I found out that the essence of "JSP Design" was found in the last 150 pages, and finally, the part introduced some of the benefits of custom TAG definitions and TAG definitions. Since I learned how to customize TAG, I will define some common TAG according to the characteristics of the company, which greatly facilitates the developers in many projects, and improve productivity. This book also said two Web Modules developed by B / S. Here, I first knew that Web development can use a servlet as a controller, using JSP only acting on the performance layer, which also launched a good foundation for future Master MVC.

After the middle and late September, after the tail of "JSP design", once the teacher gave us training, I talked about the project development when I chatted. I asked him that the project was developed with JSP and Javabean. He smiled and said to me. Not like this, but based on Framework. For example, Struts is the common Framework for the company. Struts This thing I have seen before, but I have just heard that I haven't seen it. I got this information. In order to be familiar with the development environment of the actual project as soon as possible, I would like to learn Struts as soon as possible. The book in the market was only one book, which is OREILLY "Jakarta Struts programming", unlike the Chinese version of "Struts in Action" now. I went to the bookstore to buy and start, I feel like the clouds in the clouds when I started to see, because this book summarizes a lot of things, it is more suitable for reference manual, and truly lead the novice to introduce this piece. not good. So when I finish this book, I still don't write a program with Struts, just feel that I have a concept, such as MVC. In our training, our training is also over, notifying the first week after the National Day - probably on October 10, and finally adjust salary according to training assessment. At that time, the new employees trained together basically no one would struts. In fact, there is not much to write a simpler login screen with JSP Javabean. Most people still understand the model, but specifically What is the level that does not do it? I went to the bookstore on October 5th, I suddenly found a book on the bookshelf, which is the "proficient struts" written by Sun Wein. I have heard that Sun Weiqin's book is, it is, it is said that it is easy to get started with a book on Tomcat and Web App developed. I looked at the directory structure of this book, I think it is worth reading, so although the price is not fed, I still bought home on the same day. After reading, I feel that this book may not be academically worth it. It is basically no, but it is especially suitable for beginners. This example is quickly letting you write the first Struts program through Hello World. In this way, in this book, I bought it back. I used Struts to write a very simple login screen program. At that time, I felt that I was so excited, I felt myself into the door, and the road in the future was bright. Here, I would like to thank Ms. Sun Weiqin, wrote such a book suitable for beginners, and it is also recommended that there is no Struts but I want to master Struts Java programmers to buy this book. (I don't know if I am I don't have a book of books, I just said my my heart idea).

After the National Day holiday, I also returned to the company to prepare for the assessment, the morning is a written test, the afternoon is the test. The written test is 4 pieces, respectively, Java, web development, Oracle database, and CMMI protocol. In addition to the Oracle database, I have never been very good, only have a medium score, and the other three scores are among the best. However, the CMMI protocol is honest to say that I am not very, but there are many things I know. In the afternoon, it was the test, the topic is given, I look at the topic, it turns out that there is a simpler grade query system, that is, some student results in the database, we write a search page, you can enter or select the search criteria, put Compliance with the data output of our search criteria and is displayed in the screen. I was writing Struts who just learned to learn, write the entire page within 3 hours, and also customized a TAG to display data information. After the test, I only knew that the total of five or six people can run, and only I use Struts, others are basically the simplest JSP Javabean, some people have Javabean, database operations In the JSP page. There is no doubt that I got a good review this time, gave the highest score. In all training scores, I also ranked two, and our new employees I ranked first. With this grade, our investment training is basically ended, and starts to enter the department to do an internship project.

Although we officially entered the department, but the trial period has not yet ended. The last month of our trial period is to do an internship project. Of course, Japanese training will be conducted every day, because you have to participate in the December International Japanese Level 3 Examination. The company also symbolizes the technology of three lessons. The first section is Struts training. The second section is the training of the MVC structure of Web App, and the third quarter is log4j training. These trains, most people feel It seems that I haven't heard it in the cloud in the clouds, but I feel that I have a big harvest, especially the MVC training, I really understand the view - controller - Model in the training of MVC, especially MVC training. The three layers should be processed, knowing how Java Package is better in a web app, understanding a DAO layer to deal with the convenience brought by the database, understand the important position of LOG in Web development, this It has brought great benefits for future development. The topic of the internship project will soon come down, we must be a B / S system for an electronic photo album, requiring pictures upload, picture retrieval, picture display, and use Struts to build, these are basic requirements, other features can be free to expand . The new employees in our department are divided into two small groups. They are all the same topics, promote and learn from each other. Each group is also equipped with an old employee. As the progress of urges us, prevent us from have excessive deviations, but What is the principle of doing something in principle? First, each small group is to select a Leader, and I was unanimously selected as the Leader of our group. In the group discussion, we will conduct a need for analysis. Everyone's discussion is very warm, and there are many ideas, but the basic team members are also more than some, and they have never thought about it. For their suggestions, most of me decided to be the goal we have to achieve, but there are also few people I think that there is still no way to achieve our level, they will be rejected. After the meeting was completed, I started to develop plan and personal progress. The basic design of the second day, the third day, the team was pulled and started to start the basic design, the speed of our group is still faster. . From Tuesday, the issue was published on Friday, and the Demo screen was designed together. The original plan is the second Monday, and it will take a week to complete. However, the rest of the groups seem to be still not how Struts, so I went home on Saturday Sunday basics all day, I spent two days, I spent two days of basic coding. The web page part is no longer used in the Using Frame, but use the TILES framework. After tiles, I feel very good. After a simple configuration, you can complete the build of a similar part in a large number of web pages, and generate a page, which saves the page, which is always written to the page, always consider setting Target. And a large number of Parent or TOP objects are used in a large number of Parent or Top objects. I used log4j during the development process, which brought great convenience for my debugger, huh, I can imagine that there is no log to debug a web program is really unimaginable.

During this time, I was surveying the "proficient struts" on the development, so that many TAGs provided in Struts quickly pilotted to bring convenience for future specific project development. Perhaps it is not very satisfactory, this time, this time our fast completion is relatively unexpected, comprehensive three-month trial training, due to the performance in Japanese and technology and internship projects Yes, it is also the highest in the new employee of the same bunch in the payment level. As the end of the meeting, I also became a formal employee of the company at the end of October. Probably just entered November, our group started a project, the project is not very big. At that time, many old employees were doing the detailed design of the project. I follow the company's technical expert (and one of the teachers who gave us in the Division training) to start the project's Framework buildings. At that time, I arrived in the company, the first is full, the second, I don't have anything very much, so many of the tasks for me is the Utility of some modules. For example, a common Check method, CSV, and the reading parsing of the fixed length file, and some effects that can be achieved in IE can also achieve the same effect in Netscape. Although these things are not very complicated in the present, they have learned a lot with these things. For example, using JDOM's parsing of XML files, many of the CHECK methods, IE and Netscape are inconsistent, how to solve, etc., these are many days. In these days, I found the information online, and quickly learned the use of Java reflections, and I learned the reflex cases in various situations. I personally feel that Java reflection technology is very important, which allows you to write some universal tools. If there is no reflection, maybe you can only write some solutions to specific situations. After using the reflection, you can write some code, which can be used in many places, reaching the effect of its own extension or even build Framework. In this project, I used custom TAG and Java reflection technology to define some universal TAGs that needed in some projects, which is convenient for everyone.

Later, I listened to the old employees to say that the new employee started to do Framework is something that I have never had before, because our Leader wants to be more big, so I want to cultivate me as much as possible, let me pick up the project girdle, so give me Growth provides an opportunity to come again. In mid-November, the project began to enter the coding stage, and I also saw formal project design books for the first time. When I saw the design book, I feel that my brain is a bit awkward. A lot of Japanese meaning, I am not very clear, and I feel that it is not going to start, I don't know where to start watching. The project acts as a desired, and what is the format of the design book and what is the meaning of what is the meaning of Coding, and what kind of idea is designed to see the design book. Plus the old employees in the project first wrote a Sample, let everyone see a process of the standard, so we will have a picture of a picture from a picture. Coding. Of course, there is also a tester to test our picture. After the BUG is found, it will send me a bug, which month is in Coding, correcting bugs, this project is made with struts because it is not big. So there is no other Framework, the database operation there is only a very simple single-table operation DAO layer, and the remaining DB operations are done by the JDBC operation statement. In this true project of this first contact, I learned a lot of B / S designs, I feel very fulfilled. However, I have not been idle in the book, I can get an in-depth understanding of Java, probably starting to see the book "in-depth Java Virtual Machine" in mid-November, because the content is relatively deeper, so it is a bit tight. The book translation is not bad, it is worth seeing, I have been watching the first eight chapters. I didn't see it again after I saw the Java program running the details. I watched the way in December, huh, huh, there is time to decide After reading the back of the part. After reading this book, the gain is to understand the essence of the Class file, the Java security model, how the virtual machine works. These knowledge is very beneficial to the later debugging procedure bug or Exception, you can find the reason why you feel inexplicably wrong, don't know how to die when you have encountered very quirky Exception, from reading this After this book, there is little feeling in the future debugging abnormality. At the end of December 2004, my first project was also finished. Because I was idle, Leader made me modify me when I was on Wednesday, making it useful to add a more useful Features. There is basically no document for me when I give me, in my hand is a pile of source code, the interface is made with swing, because there is no carefully designed on the UI, so I can't see it, the typical Java written graphical interface The program of the program. The software is not very big, it is estimated that within 10,000 source code, but it is more embarrassing for only one person's revision. Fortunately, I wrote some Swing programs with JBuilder when I just learned Java. Now I have a concept for swing, so after getting carefully, after careful analysis, gradually clarifying the clue. After amendment and his own test, I feel that I am more satisfied, reaching the expected goal, so I submitted to Leader at Friday. Through this time, the development of Swing has deepened the impression, nature, and benefit from some details.

New Year's Day is coming soon. Before the end of the year, the company feels necessary to learn Hibernate, although there is no Hibernate in our current project, but use another company's internal development of ORM tools, only a few technical experts prestige to Hibernate After feeling that Hibernate is strong, and it is open source, and some people are promoting, upgraded, so it is necessary to learn Hibernate. This study adopts the form of learning team, that is, a few employees in the company (mainly the technical department, of course, if you are interested, if you are interested, you can consider) to conduct in-depth learning, then regularly meet each other, Several members who met in a short time quickly got into the form of hibernate. Since I first in the idle state, the second is also more interested, and the experts from the technical department are also more talks, so I also joined them and became part of several members of the study team. Our learning materials are mainly "Hibernate In Action" English version and the official help manual. I am responsible for the object operation, Transaction and Cache, and the setup of several parts of the high-grade mapping relationship. Since the information is all English, the book speed is not very fast, but it is still a preliminary. I have learned for more than half a month. We have finished learning, exchanged each other and write a reading note, and use the reference for later specific projects. Through this long half of the month, I personally felt a lot, before this, I only knew that there was ORM, but never used it, I have never seen it. Since I have learned, I am not only familiar with Hibernate, but also aware of Hibernate's configuration and many underlying knowledge, so that I have improved my understanding in data persistence. step. After the New Year's Day, although learning Hibernate, Leader said to me to learn the shell programming under the project because many batches in the project are started with the shell. The UNIX command has learned at school, but this time has been forgotten, but you can recall a lot of orders when you turn your information. Shell is not difficult. If there is a programming basis, study shell programming is also very fast. The overall feeling is that the programming language is similar, from the basic syntax, not impossible to assign value, condition, and cycle. Just quickly grasp these types of coding formats in such programming languages, then you can quickly master the most basic programming capability of this language. After a week of learning, she feels good after a week, but not only understands the shell program written by others, but it can smoothly write the shell program that meets their needs in Linux and can perform smoothly. But the emergencies are always there, that project suddenly decided two months, so the SHELL of the previous week is equal to temporary distribution. However, learn more skills always have no harm, and then review so many unix commands, it feels very nice. So I entered the vacuum period in the project.

But the good scene is not long. It has not been in the last two weeks. The company has started 2 issues last year, and I was also dragged into the project. Speaking of that project, a lot of people still have a sense of impression, it is said that when the project was developed last year, about 50 people did a few months, and every day was 11 o'clock, it was possible to go home, and Saturday is iron workshop, Sunday It is the situation, in the evening, overtime is not a strange thing at 3 am. At that time, everyone said more than a few such a project will die. This time this project has come over, everyone is nervous again. At the beginning, an example is a project conference. After listening to the project manager, everyone is also safe. This time, although it is a second phase, but the size is not large, only 15 people can do it for a month. It is mainly to make some places inside the project, and of course there is a new picture development, but it is not much relative to last year. This is a big test for me, because the project is the second phase, in addition to me, the other people have done 1 period, so it is very clear about the project structure. There is no training in this project, so I can only see the source code of the period of the period of the project structure. At this time, the project manager called me to handle the passport and prepared this project to send me to Tokyo on-site maintenance. This project is a more comprehensive and large project. The server has taken a cluster, and the amount of data is also 10 million or even hundreds of millions, so performance requirements are particularly high. There are many technical aspects, using EJB to control Transaction, using ORM tools to manipulate DB data, etc., etc. And because the server initialized in the server is extremely large, the code is extremely huge, and the code is very difficult to read in the place where the authority control is. This also brought a lot of trouble to my study code. However, finally, I will take the whole project framework and realization methods after calm down, this time I feel very happy, and it is very fulfilling the construction of the web application. I feel that I have a preliminary ability to write Framework.

The project is nervous, basically every night to 11 o'clock, then take a taxi home, haha, company reimbursement. And nearby, this overtime will not feel the breath of the New Year. But I can't relax my study. I feel that my foundation should be better, I started to pick up another big head - "Java and Mode". I have always been the feeling of design patterns is some already formed, the test code framework, which has very good scalable ability and very good code. However, beginners should not see design mode, because there are not many code you get in touch, if the design mode is designed, it will not understand why this design is good. If you are, if you are, you will be in the code. Mode, adversely affecting its future coding development. Each design pattern has the characteristics of each design pattern. Naturally, they also have their own scope of application, such as the most basic single sample mode (Singleton), suitable for configuring information readers, primary key generators, etc. The only thing in the globhere. If beginners don't understand these, take a single case pattern, all of them use a single example mode, such as the JavaBean used by ordinary delivery data, has made a single case mode, which is serious. This "Java and Mode" I really saw from the head to the end. Every time I read a pattern, I will read this model. I will think about these patterns. Because this time I have written a lot of code, I have a lot of feelings. After more than 50 days of serious study, all modes were digested, and my understanding of the program development has improved very much. Shun Road said, this book is very good, many examples, but not complicated, people who have a certain code to write experience will understand. However, it is not the most important thing. It is important to digest, used to understand the essence of the code you have seen, so you can get it. Although this project is very nervous, I still adapt to it, and I have a better overall grasp for the entire project structure. The project has across the New Year, so the mobile phone must be opened in the past few days, and I am afraid that there is an emergency request to go overtime. Visa sent past sign on Front Fdairs, Leader said to me because of the Chinese New Year, the visa may be slow, more difficult, but in general, it should be enough for 1 month. I originally planned to go to Tokyo on March 6, I have two other colleagues, so that it is almost almost. However, there is a saying that China has a good thing, huh, huh, it is really not too much in me, my visa, March 3, Japanese consulate, January 4th sent to Nanjing. On March 5th and March 6 is a double-time day, so the May 7 visa is sent to me. Since the plan is to send people to Tokyo on March 6, there is still a person who has a visa has no expiration in the past, and this opportunity will be bubble. But I am not very concerned, because the company will go to Tokyo business to travel, especially for developers, it is said that after a few years, I will not be happy, after all, after all, is also behind the hometown.

On the way of this project, the company has also begun to make a detailed design training at the end of January 2005, although in the project, it has become one of them. This training has a total of more than 6 lessons. Although the time is not long, but the main points of the detailed design and the idea and easy error, it feels good, the training of these classes After that, although I may want me to make a detailed design and write, I have a little difficult, but I have already had a lot of bottom, I think I have a detailed design after a period of exercise.

After the end of March, I thought I could take a break, but soon notified me to join another project on March 7. In fact, it is not a formal project that belongs to an information query module of the company's knowledge base. The company is responsible, that is, the person is the technical expert in the first project when I came to the company, and I really had a reason, and now I have followed him, and the company is only one A person who is born with me with my same month is really a coincidence. The others are very good, very enthusiastic, so I have learned a lot from him. This time, because there is no basic design, there is no basic design book, but he gave us a meeting, the content of the project, the specific functions of each picture, and the design of the database table. Since this project is small, there is a total of 12 pictures, so it does not take Framework, but use the comparative original JSP JavaBeans constructor. Everyone explains the detailed design of each person's own assigned screen according to what he is with us, which is not a real detailed design, which is written out of the specific logic design of the piece of himself, and then with him. REVIEW together, start writing code. Detailed design here is so fast, I have written it to the two picture business logic assigned to the two pictures. Monday is arranged. I have been submitted in the self-test, so my feelings. It is like this small project at an instant. Japan's annual financial settlement is in March, so our history is very busy in January and February every year, and I have been getting closing in March, I have been receiving a big project in May. So the next truly arrived in my free period, there is no project pressure, I can freely learn what I like myself. I have bought this "Proficient EJB" second edition, but I always feel that my skill is still shallow, so I didn't see it, I would like to learn EJB this time. Although everyone is recognized that EJB is not very good, it has always been criticized to ENTIN's ENTITY BEAN section. This part I think it can make up for Hibernate, and the session bean and message driver bean are still quite good. This time I learned a technology, learning his good things, not very good things as the reference at the time of future development. "Proficient EJB" This book I feel is better, but the level of translation is slightly worse, especially many mistakes, and very low-level misunderstanding actually discovered that when proofreaded, I can't say it. Big flaws. But it is not a good textbook for an EJB. Start from the beginning of JNDI, then explain the object serialization, RMI- IIOP, etc. These previous models are modeled, or they have seen it, but I don't know what to use. However, after this study, there is a further understanding of the things that these distributed systems, which feel clear in the mind. What kind of working principle is the working principle, how to achieve a remote method call, and so on. The next EJB learned, he wrote his own learning applet with Eclipse WebLogic. I personally feel that it is best to write a small learning program while I don't practice much more. After learning EJB, I feel that my brain has been clearly clear. I have a few ways to solve it in my mind. Several methods are compared to each other. After this, I have improved my thinking activity.

In mid-March, due to the company's relatively unlucky, most people are in a state of no projects, so the company has organized the first company-wide programming competition. The company only specifies the topic as a calendar system, requiring a function of schedule notes, and the rest is free to play. This time it is no longer used in the form of a team, but a strategy to take. Since training in detailed design, my mind has always written a detailed design idea. This time I first specified the development plan to ensure that I control my progress. Then, demand analysis, determined which functions I have. Then start the database structure design in its own basic design. This time I decided to write with the structure of Hibernate Struts, so my data persistence layer is greatly simplified, and it also enhances many. After DB design, I started the production of Demo screen. To be honest, my beauty level is really unsatisfactory, you can say that although I will do it myself, but the specific web design is what I really don't have. Fortunately, Dreamweaver, I'm more proficiency, I'm trying to touch the Demo screen, but I don't think it is good, but I have limited designs, but I can't design better. At this time, I feel how important it is in a project. The following detailed design is very happy, reflecting the needs of the needs, which is also written into a detailed design. The first detailed design is done, and it has a sense of accomplishment. Next, I first constructed the Framework of this small project. After the baptism of the company's two official projects, I have studied the excessive code of the Framework, so I have a set of Framework in my heart. In particular, how to combine Struts and Hibernate, some of themselves have some ideas. In this Framework constructor, I didn't copy any company's previous code segments, and I wrote it after I understand the code you read. I think this project is also a big improvement, first exercising your ability to detail. Second, although he has learned Hibernate, it has never used Hibernate, which makes himself greatly enhance the experience of practical use. Since I know that there is no real project to use Hibernate, I am also the most experienced person in the company's internal Hibernate experience, which is also the reasons why I am helping others to use Hibernate project to solve the problem. Again, I wrote Framework this time, especially in batch, using many design patterns that I just learned, which makes my program more robust and scalability, making me a big capacity in design. Promoted. I wrote more seriously, the amount of code is indeed large, the total number of lines exceeds 30,000, and the number of valid code lines is more than 10,000. After the assessment of the company experts, I got the first place, although there is no prize, but I am sure that I have been working hard during this time, I am still very happy. And this programming competition made me greatly increase the proficiency of the coding, and also drifted many of the programming skills you came out, and brought great benefits for future development.

Starting from April, the company has begun various training due to relatively inexpensive. Our department has carried out three training. The first item is the programming capacity training. The second is Oracle database technical training, and the third item is test technique training. In programming ability training, it is mainly to take everyone discussed the details of the original, and the way to lectures will be carried out. Although many things I have just known, but there is also an unclear place. Moreover, after this discussion, I have deepened impression. In Oracle Training, I feel that the harvest is great. This Oracle training has taken the traditional class mode, and the old employees who have developed OCM in our development group give us. For Oracle, I originally only written the SQL statement, and the specific function of Oracle has any special features, and I am not very clear. But this time started from Oracle's start-up principle, let me know what is exactly in Oracle, how does the Oracle database are stored on a disk, what is the meaning of Control File, Redo File, what role in the database, database How do you rely on them to run, and how to manage Oracle's system administrator level management, how to update, upgrade, backup, and more in the case where the database is not stopped. Although these things are very useful, it is unbearable in the usual development. This opportunity greatly enhances its level of Oracle, and it feels very happy. The database has always been my weak item. When I am on college, my SQL statement is only average. The database management configuration is basically not understanding. Through this concentrated training, I feel that my ability is further enhanced, and the weakness is also slow. Slow back. In the final test training in three training, I admit that I have not learned how to learn, so I learned to have some test concepts, and the specific test skill is still not very. The combination of development and testing is getting higher and higher, it seems to be kung fu, so as not to eliminate it.

I have made this time in the progress of the company, I haven't said my own study. During this time, I just saw the Chinese version of "Junit In Action" published, behind the book "If this book is not seen, Don't make a unit test of J2EE. I learned about the powerful features of JUnit last year, and the Ant is very convenient for the regression test. I have time, I will start watching this book at the beginning of March. At that time, I saw half of "Proficient EJB", I found more and more mistakes, and the text also somewhat unknown, so I didn't waste time to see the book, concentrate on "Junit in" "". With the idea, Manning's set of In Action Series is indeed very good. From my previous "hibernate in action" English version, it can be seen, in which the code is arranged, it is very easy to see you very smoothly. I want to see the code snippet. The "junit in action" is also the same. The paper of the blog view is still very good. The typographic version uses the manning style. It is very comfortable to read, so I have read very fast, probably two more than two weeks. This more than 400 Page book. It feels not shallow. First, only one Ant will only be used in the original automation configuration tool, and other basic have never heard of this book, in detail, Maven. After listening to the explanations in the book and my own test, I really feel that the Maven function is very powerful, but I feel that it is more troublesome than Ant, so my own feel is that Ant is still widely used in the project, but maven is in large projects, especially There is a lot of martial arts in the entire site. For us, the methods used are very simple, master how to write a configuration file is our key. The book gives a lot of examples on JUnit and CACTUS in J2EE test techniques, giving people very well, the biggest advantage of this series of books is here, using instance code snippets let you quickly understand the same thing. In actual work, JUnit applications are also relatively wide, especially if test-driven development, JUnit is an essential part. In Taglib test, JSP monomer test, database testing and EJB test are all I haven't seen before. In fact, this time, although learning is a learning, but if you really do it, there must be an example of a code example. I think everyone has this feeling. When writing the program, I will find a bit similar code snippet COPY, then look at what is going to modify, I really write the code snippered from my head to my end. Unless You have been cooked. However, when this book is over, the project is coming again.

This time, a company's MIS system, which is different from the past. This customer gave a large foundation, encapsulated nearly 100 tags, basically packaged all kinds of operations that may be encountered. Tag inside. And all information such as screen display is placed in the table, so this time you ask if you do not write any program code, just learn to use these Tags, then use these TAG to write a JSP page. It's really a headache when I start, these tags don't understand, and the document is not very complete, and the comments in tag's Source are relatively small, and they are not very convenient to learn. We have been put into the preparatory preparation of this project. In the first week of learning, everyone allocates a personal learning module and communicates with each other at any time. In the later in-depth discovery, the business logic operation of this project will use the PL / SQL and the stored procedure. For me, PL / SQL is something that has never been done, it is called a bad, so I need to learn PL from my head. / SQL, and how to write a stored procedure. I got a PL / SQL e-book from the Internet, and then spent a day in the company for a day, and individuals used toad to debug PL / SQL, although others like to develop with PL / SQL Developer, but I still More love toad, and Toad's sense is also very powerful, it is very convenient to use. After the first day of the PL / SQL learning, all grammar and writing formats of the stored procedure are all written, and the very simple PL / SQL can be written. The next two or three days are constantly consolidating, and the customer has also sent several detailed designs to let us practice. With the actual detailed design, coupled with each other, we have improved very quickly, about three or four days, everyone has written basic detailed design code, and after practical exercise, my PL / The level of SQL write stored procedures is also greatly improved, and it is already possible to meet the needs of development. This project will be a large number of people who can satisfy customers, so Leader decided to train our Group's idle, let them feel a little, when it is officially developed It can also quickly enter the state, and the task that is responsible for the training is given to me. It is training, in fact, it is to tell them in the form of a conference through a meeting, then as their homework, and they want to make the design book yourself. At this time, I have to put the Labor Day. The Golden Week can take a rest for a week, think about it very happy. When the Labor Day is basically not studying, just take a clutter with XML-RPC first, learn how to write an XML-RPC application, then look at SOAP a little, it is good, just some simple SOAP In the case, the complex things of SOAP did not look.

Soon, I have finished the holiday in May Day, I started to work, I started to work, and I started to formally do the project before going to work. This nature belongs to the trial, that is, people send a batch of design books, we Then start coding, after a week, I have harmed the acute conjunctivitis, can only go home, this time, it can only be rest, and the eyes feel particularly rising, don't say a computer, I can't see the computer. I saw it hurting my eyes. So I can only sleep in my family. After a week, my eyes are probably recovered, I can go to work. After returning to the company, the Leader inform me that I don't have to do the last project. I want to join our Group's new project. This project is relatively large. At that time, it is still in Tokyo, I just made a basic design from Tokyo. Next, ready to send back to do a detailed design. When I went in, the project began three or four days. I basically didn't do anything. This time I entered the detailed design and production team and began to make the detailed design of this project. Since I belong to the first time in formal projects involved in the detailed design, many things don't understand, especially the business above, the business terms in many Japanese, I don't understand, such as what selling, cut, Shi of. Looking at the basic design book, I feel very different from the detailed design book before. There is less written by specific things, and there is more business process logic framework, so you need to be familiar with your business content first, you may write more designs. This detailed design, I am not a fortunate fight, but there is an old staff who enter the company to do with me, my task is very light, but the focus is to learn how to write detailed design, maybe there is another one next time. Amazing project, there is no other person with me, but I will have a detailed design. For about 20 days, I was written for about 20 days. I was notified that the detailed design of the hand was written, the next day, the design team was designed to design.

After entering the way, the task received is a few code automation build tools written in DB operations. Since this DB does not have a very mandatory specification, the writing of SQL statements can be said to be more casual, which gives me a lot of difficulties and challenges. The person responsible for the management format is still in the company, and it is really very complapous. Write a tool is actually very good for the improvement of your code, because the information you first will constantly modify, you can update the tool after you update the information later, you need to design a good Framework, not necessarily need What a complicated Framework, but must try to decrease the coupling of the program as much as possible, so that you can expand your tool. Then, the project code is written, and the mission is moderately biased. There are 2 pictures and a batch need to be written, and the complexity is still relatively. This project needs to write JUnit programs and regression tests every day to ensure the correctness of the code Method. JUnit will be used by itself, but never used in a real project, so it feels a bit of hands when you really use it. I used JUnit to I feel that give a parameters, detecting a return value is good, in fact, it is not that business logic, you need to do a lot of stub to simulate the return value of the true class. Designing a good Stub is more difficult, especially when the database content is relatively abundant, a database table has hundreds of domains, and the workload can be seen. The project will end in mid-September 2005, so it is still in a stressful development phase. I wrote JUnit's feeling is that it is difficult to write a JUnit program, but how to design test cases. For the programmer who is not tested by test, the design test case is very painful and very difficult, it is estimated that people with similar experience will agree with.

转载请注明原文地址:https://www.9cbs.com/read-132045.html

New Post(0)