"Open source framework that thing 11": Software development Talk

Source: Internet
Author: User


One of the talk: technology is just a little basic condition of success, really still have to rely on
life

Say, there is a lianzi classmate, the level is good, thought ahead, signing Ali now in Baidu internship, before because sprayed my stickers and no reason, so tell him away from me a little, but recently he returned to my group, has been stretched a thumb, I say what he is the thumb, feel strange, is not so a feeling, Finally suppressed a period of time, and resumed the normal way of communication, chat record:

"Legend" Hangzhou-leisurely 18:31:13lianzi color finally came out. "Legend" Hangzhou-leisurely 18:31:30 I learned this is your own, you have a thumb every day, I do not feel like you. "Active" Lianzi (756215798) 18:32:17 hahaha, fortunately, fortunately, "legend" Hangzhou-leisurely 18:32:52 live a very good nature, sometimes touch everyone also understand. It's okay to keep twins. "Active" Lianzi (756215798) 18:37:22 Yes

Talk about the second: let who "cool" problem

look at the product manager PPT, which has the following passage:

Do "Product", is nothing more than "want to own cool, first let others cool." Always stand in the user's perspective to consider the problem. Details, details, or details. Prioritization is more important than determining the functionality based on the actual situation.


Deep thought, in doing tiny framework, the framework group do Eclipse plug-in students who do a function is the executor, his plan is: open a preference, and then by the developer in the configuration of what type of file to be executed by which class. So I asked, if there are a lot of actuators, developers are not worthy of death? So he did a function extension, add a batch import function, can be caused by batch. So I asked if there are 100 projects, 100 developers, there are 100 kinds of actuators, different projects need the executor is not the same, is it necessary to match 100 times the configuration file, and then spend a lot of money to distribute the configuration file, but also let the programmer spend a lot of time to import this configuration file?? The key is that as the project continues to change, the actuator used is variable, so the above process has to be ongoing, but also involves a version of maintenance issues, such as some people into the new, and some people are old. How much manpower and resources and management costs can be combined? My solution is to configure an executor XML definition file when developing the executor, and then project to scan the actuator XML definition file in the current project, so the tool developer only develops it once, each executor developer is configured only once, the real user, and nothing at all, is always up-to-date, 0 workloads. Two program comparison, the tool developer workload is small, the executor of the workload of a little can be ignored, the end user, save a lot of work, the key is not to let them feel the use of trouble, and will not be wrong.

Three: Let the program throw a wrong or let the program "correct" execution?

Long Zhendong classmate, has been using tinydbrouter, also found some of the bugs inside, but also made a lot of suggestions for improvement. Since he pulled the code locally and changed it locally, I suggested that he fork our code directly and pull the request to us after the change, which would be good for both parties. Which involves a problem, he asked me on the QQ how to dispose: some non-standard SQL,SQL parser does not support, he suggested (in fact, he did this earlier) in the event of an unsupported SQL exception, the read-write separation method to execute. Because at that time in the car, is on the phone and he communicated, so there is no chat record, I hit the word directly on it.
Leisurely: Due to SQL parsing exception, this time SQL is not standard, it is possible to apply to read and write separation, it is possible to apply to the sub-database table, regardless of the way you handle, there is always a situation is "wrong" way to carry out, This can result in non-user-expected results-and at this point the user gets the results that look normal-because no exceptions and errors occur, but the results are actually incorrect. The result is much more serious than throwing an exception and telling him that he doesn't support it, killing you, killing your boss, and killing your client. Therefore, please throw the exception directly, instead of changing to the previous disposal method. If this SQL is very important to you, the only correct way is to extend the SQL parser to support it. What do you think? Long Zhendong: Then.

He was soon finished and presented to me, following a transcript of the communication:
"Legend" Hangzhou-leisurely after 20:10:03 in our project directly change it. So you can share it together. Today I give you the principle of the telephone, in the work must pay attention to. Or you're going to poke a big hug. Long Zhendong (593038106) 20:11:37 Some controversial places I'll start by talking about "legends" Hangzhou-leisurely 20:11:54 Well, let me tell you a story. We have a man with a very good x on our side. See another person wrote the program has a problem: the direct anti-compilation and then changed on the get up, the result is not really the problem. He did not tell anyone about this, and the results were later upgraded, and the change was lost. It turned out to be a very big fuss. Another time, he and another program to do docking, the result he wanted to get the data inside the family. "Bubbling" Hangzhou-cwl (150326161) 20:14:07 I feel like I'm talking to you. "Legend" Hangzhou-leisurely 20:14:16 people inside the data is private, he changed access control, and then access to the private data of others. Then he was so proud that he couldn't do it. "Long Zhendong" (593038106) 20:14:51 later, "legend" Hangzhou-leisurely 20:14:55 results after a period of time, and the big fucking problem, the original people have changed the object of private. Another time, he also modified the access settings, access to the people's private methods, this time nothing changed, and the result is not fucking. Live unable to run, the result of this fork figure to the scene, ran Beijing for a few days, and finally found out that the Oracle JDK can break through secure access to private methods, but the IBM JDK under AIX cannot break. So: Do not be smart, you will eat a big loss. In the computer field must be rigorous, according to the normal way to solve the problem.

on The evolution of buffer related code I have written an article about the buffer, you can click on the above link to check. There are many people reply, some people feel good, some people feel bad, each said the rational. In fact, in the computer field, to solve a problem, there can be n programs, sometimes their differences are very small, this time need to carefully consider. This is not the weekend, we asked again:
"Active" Lianzi (756215798) 10:03:18 early, now do not know what to look at the technical article, last night before bedtime read a leisurely and Hasor blog is that the logic of cache reconfiguration tuning is very clear, as for the best solution, Ghosts Know "legend" Hangzhou-leisurely 10:05:45 wasn't it sprayed? "Active" Lianzi (756215798) 10:07:19 Well, what's the final optimization plan? What is the actual effect? "Legend" Hangzhou-leisurely 10:07:40 Actually, we used to feel good. Maven plugin? "Legend" Hangzhou-leisurely 10:07:58 the key is to avoid the programmer to participate in the buffer aspect thing. Because of the dynamic embedding of code through the MAVEN plugin, performance is also very secure. "Active" Lianzi (756215798) 10:08:52 This statement, I think, to see the scene if the younger brother is not very good, but what to do when the programmer debugging code? At least one built-in HTTP server has a cache of dashboard What do you think? "Legend" Hangzhou-leisurely 10:09:46 you can actually understand it as an AOP process. Program debugging code, is all the data from the real database AH. It has no effect and is processed with the MAVEN command, just by buffering the accelerator. "Active" Lianzi (756215798) 10:10:57 I mean so, the cache should not be transparent to programmers "legend" Hangzhou-leisurely 10:11:28 our choice is transparent. "Active" Lianzi (756215798) 10:11:39 identity "legend" Hangzhou-leisurely 10:11:48 the article says a number of benefits, especially when one buffer scheme is replaced by another. The key is to avoid the programmer's involvement in Buffering. "Active" Lianzi (756215798) 10:12:02 is, logic clear "legend" Hangzhou-leisurely 10:12:07 Choose a transparent way, as long as the architect or elevation is done, the original code does not have to be modified. "Active" Lianzi (756215798) 10:12:19 Our boss also often scold me, said to tell the story of the complete "legend" Hangzhou-leisurely 10:12:25 the last time we from the Mc->redis, the code changed, all vomit blood. "Active" Lianzi (756215798) 10:12:53 didn't do the abstraction layer? "Legend" Hangzhou-leisurely 10:13:01 if another plan from redis->, not to vomit again? "Diving" Shanghai-yun Juan Jiangnan (25269626) 10:13:08 to change the implementation of the class is not the line "legend" Hangzhou-leisurely 10:13:31 If you do the abstraction layer, the use must be kv. IfTo use in depth, it is troublesome, and some support some do not support. But technology is certainly a double-edged sword, which has advantages and disadvantages. "Active" Lianzi (756215798) 10:14:53 This I understand "legend" Hangzhou-leisurely 10:15:06 how to play a good, avoid the bad. Even in the abstract layer, I wrote in the text, everywhere is the code to deal with buffer logic, is not good. "Diving" Shanghai-yun Juan Jiangnan (25269626) 10:15:43 easy to use "legend" Hangzhou-leisurely 10:15:53 so, the better way is to use face-oriented approach to processing. "Active" Lianzi (756215798) 10:17:25 I agree, there's a problem with the first design.

Here, again I often say a word, good software is "product" out, when a problem has n solutions, it is necessary to carefully taste the various programs. the question of the new mentality
"Active" Lianzi (756215798) 10:20:14 often see Oscer said just graduated from the student union what, I think, should be more than the predecessor study, but in the mind always a bit uncomfortable haha, maybe dictionary bar "legend" Hangzhou-leisurely 10:23:25 do not know my story, have told you. I just graduated from the first network name is called Master. "Active" Lianzi (756215798) 10:23:48 No, and then what? "Legend" Hangzhou-leisurely 10:24:03 at that time mentality estimate and you almost, always think you graduate more than a few years have a what use, I still better than you. Later, after a period of time, silently changed to: The Master in the study and after a period of time, silently changed to: In the study of low hand to now, elder brother has not dared to say which piece is NB, think what also know not enough depth. "Diving" Shanghai-yun Juan Jiangnan (25269626) 10:25:15 I also graduated soon "active" Lianzi (756215798) 10:25:23 leisurely, I think I am still modest studious "legend" Hangzhou-leisurely 10:25:43 well, good seedling. "Diving" Shanghai-yun Juan Jiangnan (25269626) 10:25:44 The fact is that many people experience the fundamental and the ability nothing positive correlation "legend" Hangzhou-leisurely 10:26:18 you have to know that in the battlefield of the fierce, well-played, have been dead. "Diving" Shanghai-yun Juan Jiangnan (25269626) 10:26:34 more and more humble because of their ignorance, not teammates strong "legend" Hangzhou-leisurely 10:26:57 occasionally a few survived, then the hero. Survived, have no longer advertised themselves to play well, hiding well, just said: Luck is a bit better. So, young people, appropriate hiding the edge is conducive to development. "Active" Lianzi (756215798) 10:28:48 you're right. "Legend" Hangzhou-leisurely 10:29:23 you look at all the winning speech, no one said: because I nb so, I just ... Thank you for that, thank you, the edge corner of the character. "Active" Lianzi (756215798) 10:29:39 dip in the struggle of tears spring, the cheek of the Sacrifice of blood Rain "legend" Hangzhou-leisurely 10:30:04 A to show their gratitude, and secondly, because these people's success is not necessarily the side corner of the person's credit. But if they get upset, a small "mistake" can ruin your career. You can not do anything else NB, do not have a flaw. "Diving" Shanghai-yun Juan Jiangnan (25269626) 10:31:18 It's so advanced, "legend" Hangzhou-leisurely 10:31:19 when you have a little flaw, you will be attacked and killed. "Active" Lianzi (756215798) 10:31:22 The landscape has met, leisurely but is the mentality of the manager, leisurely leisurely ah "legend" Hangzhou-leisurely 10:31:32 I'll tell you an example. There was a previous Ali's architect, level, that was a high. In his words: In addition to looking at my feeling pleasing to the point, no one else he will see in the eyes. "Active" Lianzi (756215798) 10:32:55 Very high evaluation, this person has a problem, I think "legend" Hangzhou-leisurely 10:33:06 but because of the edge is too high, stripped people have no one, the gun has no one, finished also let others say his level is too poor. So, do not flaunt their level of good, ability, and solid work, honest man is the right.

Six: The relationship between working life and level
"Active" Lianzi (756215798) 10:37:47 I think it's a lot more to do with experience. <span></span> "Spit Groove" Shanghai Hao Zi (120195645) 10:38:49 What should be weighed against the actual situation " Legend "Hangzhou-leisurely 10:39:02 so the more dragged architects can work together. That is to say that everyone does, to the time can be group together, and do not cost any work. "Active" Lianzi (756215798) 10:39:29 why? Because it's more than a hole, right? Double-click to view the original "legend" Hangzhou-leisurely 10:39:36 of course, this level is a bit high. "Active" Lianzi (756215798) 10:43:05 This I think, now is the study stage, more step on the pit bar "legend" Hangzhou-leisurely 10:43:49 of course, the experience here is not the same as the working life. But the same effort of two people, work three years and work a year, the difference is very big. "Active" Changsha-sept () 10:45:13 the system is built from the bottom up is the final performance is always affected by the basic structure of the foundation to determine the ultimate limit and bottleneck "active" Lianzi (756215798) 10:46:12 nn, said well "legend" Hangzhou-leisurely 10:46:16 So, I have a statement, that is, work 3, 5 years to say how to make a very advanced framework is still premature, of course, experimental no problem. "Active" Changsha-sept () 10:46:22@lianzi The limitations of the basic structure can be said to have decided the maximum limit of the results of the "legend" Hangzhou-leisurely 10:47:11 because, your local practical ability and technology application ability should be some, but the overall macro vision certainly has insufficient. This you go to see people's framework, but also just look outside, some of the internal causality, is not clear, there is a certain understanding is not complete. In Sept's words, your starting point determines your end. You expect to say back to add, this cost is very high. As if you want to build a building, the front is not very good, just start the lid, expect the middle of constant correction can be built out of the building. But at the end of the day, there is no way to adjust it so that it can move in the right direction.

Savor!

Welcome to the framework Forum: Http://web.j2ee.top . The Code and framework information in this example will be shared in the forum. "Self-write framework" member QQ Group: 228977971, let us work together to understand the mystery of the framework!

"Open source framework that thing 11": Software development Talk

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.