Functional Exploration for Web application development tools and languages-partial

Source: Internet
Author: User
Tags line web sql injection attack

1 Preface

In the last one months in the Web project, the use of the technology has (also not the leakage of company secrets):

Backstage : Struts 2 (with Jsp/freemarker), Spring, Hibernate, MySQL, Web Service (only Dubbo interface);

Front desk : JQuery series;

Web server : Tomcat.

Although more disgusted by what others call the Java Web, but did not do things are still challenging, almost every day of the week overtime can be my attitude.

Seems to have a sense of accomplishment of the computer master should feel that these jobs are some "ordinary" gongfen work, "pure" technical work how to be cloud computing, parallel/distributed computing, data analysis/Big data and so on tall.

Ashamed, I used to think so, but also the audacity of the proposed "I ' m shy to rape your mind with your mind."

Sorry, here is ashamed to have 3 years + first-line web development experience of the programmer said, if not, although I only 0.2 years + development experience, but my attitude is I ' m shy to rape your mind with your.

Why is it another partial?

The original plan was to be ready for the first time to read Python Django back to write, but now there are more important things, and as a structured procrastination patients, naturally chose this is not a very cost of brain cells and hours of work, see if you can finish.

Too much crap, it's time to do it!

2 HTTP

Each web developer should thank fielding and others about the work of HTTP, like to see the structure of the aircraft, functional specifications of the academic can go to see the RfC, want to start a zero basis to learn to open the plane can see [1].

The most MIME types used in a simple web app are text/html, Application/json, and temporarily less than rest.

3 features required for Web application development tools

Want to jump out of the Java Web this small box, but found that other development tools do not have enough say, or is mainly Java Web Development tools bar.

ide/Editor is required! Have syntax highlighting error hints, auto-completion? Merrier

A Web server that is lightweight enough and not too lightweight, tomcat enough? No! No heat deployment function, change the action or DAO interface Java class implementation, all have to restart again, think of others PHP, how happy AH (lamp does not evaluate), as if we also have JSP Ah, the business/data access Logic heap on the JSP page is the Stone Age come over it. I do not see a good solution at the moment, just try to make the startup speed a little faster, to ensure that the waiting time does not exceed a cigarette.

It is necessary for Web servers to support static resources, what about dynamic content? Every rebuild? This should be something to consider in developing the language implementation itself. The Web server should provide enough configuration items, virtual root path, Application Module page path segmentation, but also not too much, after all, its responsibility is only to send and receive HTTP request/response, too much to the ultra vires AH.

4 features required for Web application development languages

As if it should be a language family, most of the product managers will put web browser current Web "rich" client.

or dynamic content!

where does the data come from? database, no-tube memory/process, centralized/distributed, open source/commercial database, the development language of the Bridge/connector/adapter module/library has a set.

based on what conditions are dynamic content generated? application logic is generally very good implementation, the development of language should be very convenient to receive the parameters of the front, not get/post well, a little mature and stable framework to ensure that the programmer is very clean, as for the multipart to pass a file/video, the car to the mountain before its own way. , the segmentation request URL corresponds to the application logic processing in the current project has the use, play really hi, heartfelt to admire.

What if it's a malicious request? such as Dos attack is not the language itself can solve the matter, add some filter/Interceptor plane can basically solve the authority judgment, SQL injection attack.

How is dynamic content response generated? the most "effort-saving" approach is to generate a unique response to each request online, fast enough, but not easy to cope with the ghostly change of the product manager. Template! and introduced a DSL language, these days do not know a few programming languages are embarrassed to call themselves programmers, in order to deal with the coming polyglot language times, many will door craft many way out. What are some of the features of the template language? Imperative conditional judgment, loop is necessary, convenient data format conversion is also the more the more.

How is the data flow handled? where do I receive the request parameters? Business processing front end or response page, regardless of the performance of the words casually. How do you heap the response data on or to the response page? Push/pull casually.

As for the rich page, the bad JavaScript specification, the warlord-melee browser implementation, some people think this is an opportunity, I think it is encountered. Fortunately, the project team is using jquery (Core, UI, widgets), there is a professional front-end engineer, every time he used CSS to let me a Leng leng, or let professional people do professional things. As for the AJAX request, every time I face the unreasonable page logic of the product manager, I'm happy to use it.

5 Advanced Features

This part of the content is not the tool and the language itself can handle the problem, need to integrate including business logic, user behavior, make decisions, no solution (so it is partial).

I would like to believe that the business executive always sings this song on assignment: Harder Better Faster stronger.

Cache

The response is getting slower! What a slow, toothed tooth!

The principle of locality is good, hello, me.

Listen to the sound of the cache: Why do we live the same length of time ah, I obviously more than you use Ah, why can only save so much, and most of the buttocks on the outside?

Rps/tps

The programmer's sentence "This function can not be achieved" is listed as "Your food immediately good", "money I first help you save", "go inside, inside there is empty" and so the real lie, I was shocked.

The requirements are simple: the page jumps from here, here to show these, then jumps here, to show these. You know how many times the browser interacts with the Web server, how often the Web server interacts with the database, and I can write a lot less code to get rid of this awesome feature.

Page-side optimizations such as page scripting placement can refer to the experience of a mature team.

The key is to have a profile, enough data to show that your doubts are correct.

User behavior tracking, analysis, personalization

Yes, high-level topic. You don't have to be a nosql to make sure each page is accessed the same number of times. Which page streams are accessed frequently by the user?

Also personalized, personalized what? A message to remind me? Push, Pull! Recommended content? What's my position?

Resources

[1] Gourley D., Totty B., Sayer M. et al.http authoritative guide [m]. Beijing: People's post and telecommunications press. 2012.

Functional Exploration for Web application development tools and languages-partial

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.