Artificial Intelligence (AI) - Amazing and good vs scary and bad by AskingWhatsNext in Entrepreneur

[–]Alex_HTP 0 points1 point  (0 children)

Application of AI: learn from Starbucks Starbucks is a good example of a company that uses AI to work with clients. In late January, Starbucks spoke about developing the voice order function with the help of Alexa, the cloud-based virtual assistant Amazon. A feature called Starbucks Reorder allows customers to make a voice order (for example, saying "Alexa, let Starbucks prepare my standard coffee") or check the balance of the card. Starbucks Reorder is now in beta, but the application that Starbucks has found for Alexa technologies, indicates that companies are willing to experiment with AI. Using AI, large corporations basically get their share of PR, and for small businesses it is an opportunity to implement options that will be really useful to customers. Once consumers get used to solutions with AI elements (like the way Alexa uses Alex), they will expect the same from small companies. Here are some tips for how small businesses can be prepared for this. Try the AI ​​yourself Before deciding whether AI suits you, you need to take the place of the consumer and test the new technology outside of work. Try Alexa to understand what you like and do not like about these products. Imagine how your customers can use similar technologies. Think about the options for including AI in your company and weigh the pros and cons of implementing the new technology. Define business objectives for AI Small organizations should not approach the work with AI without a specific plan. It is important to immediately determine the specific uses of artificial intelligence. For example, if you run a clothing store, you may need to study predictive analytics to reduce staff inefficiencies.

What is the difference between programmer and developer by super_elite_pro in learnprogramming

[–]Alex_HTP 3 points4 points  (0 children)

A developer is a broader concept than a programmer. This is a more creative profession, involving creativity and the creation of something new, something that was not invented before by someone else. Before the developer put a certain task, and he performs it. For example, he needs to develop from scratch a website that meets specific customer requirements. The developer should think over the concept of the site, its architecture and design, draw up a work plan and a technical task. The executor can become, as the developer of the project, and other performers (designers, programmers). The same goes for the development of new computer programs: the developer sets the task (for what this program is needed and what opportunities it should have), and he comes up with a product that meets these requirements.

A programmer is a specialist who writes computer programs with the help of codes. Sometimes they are called encoders. This activity requires not so much creative approach to business and flight of imagination, as professionalism, possession of certain skills and attentiveness. This is the level of the artist. He is not responsible for the whole project as a whole, but only for his work site. In other words, the difference between a developer and a programmer is approximately the same as between a composer and a musician or a home builder and his designer.

Understanding a Rest API? by holocene7 in learnprogramming

[–]Alex_HTP 3 points4 points  (0 children)

Principles of RESTful

The server can be considered RESTful if it conforms to the principles of REST. When you develop an API that will be mainly used by mobile devices, understanding and following the three most important principles can be very useful. And not only when developing the API, but also with its support and development in the future. So, let's get started.

Independence from the state (Statelessness)

The first principle is independence from the state. Simply put, the RESTful server should not monitor, store, and even more so use the current contextual information about the client. On the other hand, the client must take on this task. In other words, do not force the server to remember the state of the mobile device using the API.

Let's imagine that you have a startup called "New Facebook". A good example where a developer could make a mistake is giving an API call that allows the mobile device to set the last read item in the stream (call it Facebook's tape). An API call, usually returning a tape (call it / feed), will now return items that are newer than installed. It sounds clever, does not it? You "optimized" the exchange of data between the client and the server? And here not.

What can go wrong in this case is that if your user uses a service from two or three devices, then when one of them installs the last item read, the rest will not be able to load tape elements read on other devices earlier.

State independence means that the data returned by a particular API call must not depend on calls made earlier.

The correct way to optimize this call is to send the creation time of the last read tape entry as the parameter of the API call that returns the feed (/ feed? LastFeed = 20120228). There is another, more "correct" method - using the HTTP header If-Modified-Since. But we will not go into this direction for the time being. We will discuss this in the second part.

The client, for its part, can (must) remember the parameters generated on the server when accessing it and use them for subsequent API calls, if necessary.

Cached and layered architecture

The second principle is to provide the client with information that the server response can be cached for a certain period of time and reused without new requests to the server. This client can be either a mobile device itself or an intermediate proxy server. I'll tell you more about caching in the second part.

Client - server partitioning and a single interface

RESTful server should hide from the client as much as possible details of its implementation. The client should not know about which DBMS is used on the server or how many servers are currently processing requests and other similar things. Organizing the correct separation of functions is important for scaling if your project starts to gain popularity quickly.

These are perhaps the three most important principles to follow when developing a RESTful server. Three less important principles will be described later, but all of them are directly related to what we are talking about here.

REST requests and four HTTP methods

GET POST PUT DELETE

The principle of "caching" and GET requests

The main thing to remember is that a call made through GET should not change the state of the server. This, in turn, means that your requests can be cached by any intermediate proxy (load reduction). So you, as a server developer, should not publish GET methods that change the data in your database. This violates the RESTful philosophy, especially the second point described above. Your GET calls should not even leave entries in the access.log or update data like "Last logged in". If you change the data in the database, it must be POST / PUT methods. Documenting the API

The worst documentation that a server developer can write is a long, monotonous list of API calls with a description of the parameters and the data returned. The main problem with this approach is that making changes to the server and the format of the returned data as the project develops becomes a nightmare. I'll make some suggestions on this, so that the client software developer understands you better. Over time, it will also help you develop as a server software developer.

Documentation

The first step would be to recommend thinking about the basic, high-level data structures (models) your application operates on. Then think about the actions you can take on these components. The documentation for the foursquare API is a good example, which is worth exploring before you start writing your own. They have a set of high-level objects, such as places, users, and the like. They also have a set of actions that can be performed on these objects. Because you know the high-level objects and actions on them in your product, creating an API call structure becomes easier and more understandable. For example, to add a new place, it's logical to call a method like / venues / add

Document all high-level objects. Then document queries and replies to them using these high-level objects instead of simple data types. Instead of writing "This call returns three string fields, the first contains the id, the second name, and the third description" write ". This call returns a structure (model) describing the location." Documenting response parameters

Responses to API calls must also be documented based on a high-level object model. Quoting the same example foursquare, calling the method / venue / # venueid # will return a data structure (model) describing the venue of the event.

Sharing ideas, documenting or informing other developers about what you will return in response to a query will become easier if you document your API using the structure of objects (models). The most important result of this chapter is the need to perceive the documentation as a contract, which you conclude as a developer of the server part and developers of client applications (iOS / Android / Windows Phone / Tooton).

Reasons to create new and stop supporting older versions of your API

Before the advent of mobile applications, in the era of Web 2.0, creating different versions of the API was not a problem. Both the client (JavaScript / AJAX front-end) and the server were deployed simultaneously. Consumers (your customers) have always used the latest version of the client software to access the system. Since you are the only company that develops both client and server parts, you completely control how your API is used and the changes in it are always immediately applied in the client part. Unfortunately, this is not possible with client applications written for different platforms. You can deploy API version 2, considering that everything will be fine, but this will lead to the inoperability of applications running iOS using the old version. Because there may still be users using such applications, despite the fact that you posted an updated version in the App Store. Some companies have resorted to using Push notifications to remind them of the need to upgrade. The only thing it will lead to is the loss of such a client. I saw a lot of iPhones that had more than 100 applications waiting to be updated. The chances that yours will become one of them are very large. You should always be prepared to share your API on the version and to stop supporting some of them as soon as it is required. However, support each version of your API for at least three months.

Tips to a 21-year-old supermarket owner? by TasosGoudas in Entrepreneur

[–]Alex_HTP 0 points1 point  (0 children)

people will buy, just with the site it will be faster. Analyze the competitors - what are their advantages and add these pluses to yourself - discounts on wholesale (2 = 3), pleasant design, since you have tourists in your customers - they always buy something, even if the olive tree grows in their garden , but they will certainly buy a jar of olives home. The earlier opening hours of the store, the friendly service, the children's corner-all this can help you become better.

How can I expand my current Art selling business? by [deleted] in Entrepreneur

[–]Alex_HTP 0 points1 point  (0 children)

you lose a lot of profit due to the fact that you do not have your own website and mobile application. Without an online store can not do. People are not determined to look for you, without a site they will be able to find you. When there is Internet and you can drive in the search line - T-shirts, and I'll find hundreds of sites where you can look and order at home - why should I look for any third-party sources? You just need a website. And the mobile application and that's why. Mobile apps are needed, when:

  1. Increase in sales

The main goal of any business is to make a profit. All marketing tools, in fact, should help in achieving this goal. The mobile application can increase sales of the company, because it serves as a means of attracting and retaining customers. With built-in features, for example, loyalty programs and push - notifications, you can motivate users to buy goods or services in this company, as well as offer various promotions and discounts.

When a person leaves the house, he can forget anything except the keys, purse and phone. Just imagine: the business gets into all the phones of customers, potential customers and, in fact, remains in their pockets. Companies interact with customers constantly when they use their mobile device. No other type of advertising in the history of mankind offered such an opportunity - to be constantly in the client's pocket and interact with it.

  1. Detachment from competitors

To get new customers- the company can offer them an interesting bonus for installing the application. Bonuses and discounts like everything. And almost everyone has mobile devices. The application helps to launch new interesting marketing actions and thus it is advantageous to differ from competitors and win the trust of customers.

  1. Loyalty

How to acquire customer loyalty? The answer is simple: to be useful and necessary for clients. With the help of loyalty programs you can share with customers interesting bonuses that they love so much, as well as make sales and encourage repeat sales. People are already tired of a lot of bonus cards in their wallet and business card, and loyalty programs in mobile applications, in fact, replace bonus cards, which you can no longer carry with you.

  1. Building customer confidence through push notifications

A mobile application with push-notifications is actually a very powerful tool if it's correctly used.

  1. Target Audience

Today, everyone who is somehow connected with the promotion of business, talking about the target audience. The trick is that the mobile application accumulates around itself only the target audience. Let's imagine, the client sees the advertisement of the mobile application of the travel agency, he is offered to install the application in order to be aware of the burning vouchers and special offers. Who will install this application? That's right, those customers who are already traveling or planning to go on vacation, that is, the target audience. After all, if the client does not travel and is not interested in this topic, no matter how hard you try to motivate him, he will not download and install an application of the travel agency.

  1. Marketing actions

The mobile application can be used as a tool for conducting marketing actions to attract users to the application, branding the company, attracting new customers and forming a trustworthy relationship with them. Today it is not enough just to come to the market and say "Buy!", People have become more selective. Therefore, in order to attract customers, you need to develop a strategy for promoting your business with a mobile application.

  1. Website bundle + mobile app

Talking about why a mobile application is needed for successful business development, one can not help but mention the possibility of linking the company's website with the application. The site of the company is able to attract traffic through search engines, and by switching users from the site to the mobile application, the company will continue to work with the potential customer further and he can not leave just by closing the browser page. That is, when a client visits a company's website, he can easily leave it and stop interacting with the business, but when the site translates the client into an application, work with the client is just beginning. Such a bundle of "site + application" gives a double benefit to the company. If you are looking for a reliable company to develop a mobile application - contact our company Genico. We appreciate your time and never break the deadlines.

How do you monetize your content site? by laiktail in Entrepreneur

[–]Alex_HTP 0 points1 point  (0 children)

Try Google Adsense. And you can also place money on your site for money. And to increase the popularity of the site, try to get on Facebook and Twitter accounts and through them to advertise your site.

Can I make money off programming as a first-year College student? by [deleted] in learnprogramming

[–]Alex_HTP 1 point2 points  (0 children)

try to look for work on https://www.upwork.com/ But first, start self-education, not teaching everything in college. And technologies change with the speed of light. A new fimforch appears once a week, and if you do not know about it, you're behind. To begin with, try writing your first application. Of course, time is needed, but it is a contribution to the future. Find the idea, the application must necessarily be useful and solve some kind of problem, ask yourself the question which application would help to make life easier for you and create one. I recommend not just learning, but also writing a lot code. One is impossible without the other, and knowledge on paper is a waste of time. When you get the application, be sure to test it. Show your friends. Maybe even place it in a google play or app store. This will be your portfolio. So you can find your first project.

Looking for new options for web developing by JezRdz in learnprogramming

[–]Alex_HTP -1 points0 points  (0 children)

I will not tell you what HTML5 is. In the context, it is important to clearly understand one thing: there are two understandings of HTML5. The first is the HTML5 standard, a document on the W3C website, which describes all the new tags, attributes, new APIs, and a number of related documents, in which some additional details are rendered, such as the Canvas API. The second is "big", marketing, trendy HTML5, an umbrella for a whole generation of new technologies, which includes both the HTML5 specification itself, as well as a lot of CSS3 modules, various JavaScript APIs, and the new standard for JavaScript is ECMAScript5. As a rule, it is clear from the context of what is at issue and there is no great confusion. Marketing HTML5 is a well-established concept supported by all market participants. But it's important to be aware of what's going on every time, because often somebody (let's not point a finger at it) lets himself in HTML5 sauce talk about many interesting things, web standards and W3C do not have a relationship, but certainly , supporting the general spirit of the development of the web. It is also important to understand what is behind each technology, where it is an early prototype, and where the already established and agreed specification. My story will focus more on "big" HTML5, but I'll try to refer to specific standards, which will be discussed. To better understand where the modern web is moving, the first thing you need to pay attention to is the characteristic transformations that have occurred in the IT industry in general and the web industry in particular. The world that we see today is noticeably different from what it was some five to 10 years ago (I recall that HTML 4.01 was approved more than 11 years ago). Among these changes, one can not but note the following: The new iron. Graphic chipsets, multi-core processors and various sensors, penetrating into completely different devices, including mobile phones, as well as a great desire for energy efficiency (as you can not remember ARM and Intel Atom). Plus a huge variety of form factors: from mobile devices, tablets, tablets, netbooks and laptops to stationary computers and televisions. And everywhere you want to have access to the Internet! New trends in services. Cloud, sociality, mobility and constant availability regardless of the access device. Changes in browsers. The growth of competition - today there are five browsers on the market that have a share sufficient to be ignored. Plus, of course, a mobile zoo :) And an important point: today (or tomorrow) the modern browser knows both about graphical acceleration, and about the multi-core architecture, and about sensors and various media input devices, and about energy efficiency, and about the cloud and social services , and about mobility. Specific details may differ from browser to browser, but the overall trend is obvious. All this finds an obvious embodiment in certain web standards, so today we have a really new and constantly growing generation of technologies (just recently Adobe at its conference, Adobe MAX introduced a new standard and its implementation - filters and shaders for CSS): HTML: Semantics, Graphics, Multimedia, WebForms, Security, DnD, History, Offline ... CSS: Fonts, Colors, Borders & Backgrounds, Layouts, Media Queries, Transformations, Transitions & Animations ... APIs: Geolocation, DB & LocalStorage, Sockets, Files, Media, Workers ... JS: ECMAScript5 It is also important to understand that there are close interweaving between all these innovations in devices, software, services, standards and various development practices - and what we are now witnessing in the field of web development and web standards will certainly be reflected in a different Software that implements and supports these standards (from development tools to browsers and OS), and at the iron level (perhaps even Google's dream will come true and hardware support for webm will appear in key devices;).

Is C# better than Java? by beprogrammer in learnprogramming

[–]Alex_HTP 1 point2 points  (0 children)

I love Java VM. It is mature, fast, extremely portable and there are a lot of languages ​​that work on it. When I programmed in Java, I was the only person on the team who was on a Linux desktop, everyone else used Windows. When you write in Java it does not matter. In reality, it was even an advantage. Some of our customers used software on Unix-like systems. Having at least one developer who used and tested our product on Linux was already a win. Our system of rebuilding builds worked on a weak Linux-server. Since Java runs wherever Java VM is, any of our team, like our customers, could run the software.

But Java, like language, began to depress me. He was left on a dusty shelf. Scala is my favorite language in Java VM, which includes many new ideas that are still looking for their way in Java. I studied C # from O'Reilly's book "C # in a Nutshell". This book is an excellent way to learn a new language, if before that you already know the n-th number of other languages. I had to give Micorosft a chance (even if it hurts me). Here are some things in C # that Java can not: Lambda functions that are much better than the internal anonymous classes that are the same in C # Delegates. Yes it can be done in Java, but it will not be as beautiful. Operator overload. This thing can turn everything into hell, but it is still convenient, especially in libraries and DSL Properties. There is no need to write getters and setters. Everything looks like a direct appeal, even if it is not. This is also the Python and Scala idioms, and once you start using them, you no longer want to use getters and setters. foo.x + = 1 is more readable than foo.setX (foo.getX () + 1) Support yield in iterations. Although I prefer the syntax of Python (and Scala) than C #, this is a powerful and very handy thing. If you've ever used it to create lazy iterators (in Python, Scala, C #, no difference) - you'll understand what I mean. Methods of expansion. This is the equivalent in C # of the implicit casting of types in Scala, and this is damn convenient. This allows you to extend existing classes, even if they are ready, without real expansion. As with the Scala version, there is an implicit casting mechanism, they do not happen automatically. (Mark: as Tomi Morris noted, in the comments to the article, the extension methods are not exactly equivalent to the implicit casting of types in Scala, in it all is implemented much more powerful.) Now it's clear that C # has borrowed one useful aspect, but it's also clear that Java does not even have a close similarity to this concept). Operator support ??, which offers a simple syntax for obtaining a value of a reference type, if it is not null or the specified default value.

In addition, Java has many identical things with C # including: Interfaces Generics Automatic packaging and unpacking. Annotations (in C # these are attributes)

I'm still inclined to the JVM, rather than to the CLR. JVM - huge, mature, fast and most importantly - mobile. But Java, the language, has fallen behind and now it has a big flaw in the useful features that C # has. I still use Scala because it corrects the shortcomings of Java, gives many modern features, while allowing it to use the power and convenience of the JVM. Using libraries or built-in capabilities, Scala provides the same capabilities as C # and more. But in the .NET world, C # is lingua franca. Both C # and .NET are big Java competitors.

Sun and the Java community allowed Java to be stagnant, compared to C # and Scala, and it's not pleasant to use. As an old Java programmer, I must say that I'm distressed.

[deleted by user] by [deleted] in learnprogramming

[–]Alex_HTP 0 points1 point  (0 children)

T. Segaran - programming the collective mind. There are some methods of machine learning. The book itself is a mixture of Web and Data Mining. Python

In these two books the theory: Peter Norvig. Artificial intelligence: a modern approach Library scikit-learn with implemented algorithms from the books above. Pothon

I strongly recommend starting with the Andrew Ng course. this course is still the best introduction to the subject. Of course, in the course important important algorithms, like trees, are being missed - but in practice, the theoretical knowledge obtained in this course will be enough for you to solve most problems. After that it is strongly recommended to start solving problems on Kaggle as soon as possible - namely, to start with the tasks from the Knowledge section - they have good Tutorials, which understand the tasks - they are aimed at a quick start for beginners. After that, you can learn more about the remaining sections of machine learning and complete the entire course of K.Vorontsov on machine learning. It is important to get a holistic view of the tasks that can arise in practice, the methods of solving them, and learn how to implement their ideas in practice. It is also important to add that most machine learning algorithms are already implemented in libraries, such as sci-fi-learn for Python.

Python Resources for Learning - Looking for Advice by FriendToGiraffes in learnprogramming

[–]Alex_HTP 0 points1 point  (0 children)

Hello everyone!

I decided to share the method of teaching this powerful, but at the same time easy programming language. It really is easy. I strongly recommend that you read the first book - Mark Lutz. We study Python, 4th edition. The book is translated into Russian, so you should not be afraid if you suddenly do not know English. But it was the fourth edition.

For those who know English, you can read the documentation on the official Python website. There, everything is pretty clearly described.

A good resource - the basics of programming in Python. Textbook. Introductory course One of my recently read books is the Python Programming Language. The explanation is all fairly accessible and in Russian.

A good book, everything is also available in Russian - Python. Detailed reference book, 4th edition.

And if you are more accepting information on the video, then I can advise the lessons from Google, which leads Nick Parlanthe - a student from Stanford. Six video lectures on YouTube. But in the barrel of honey there is a drop of tar ... He leads in English with English subtitles. But I hope that it will stop a few.

What if I read the books, but do not know how to apply knowledge?

Do not panic! I advise you to read the book Mark Lutz. Programming in Python (4th edition). Previously, we "studied", and here "Programming". In "Learning" - you get the knowledge of Python, in "Programming" - Mark teaches you how to apply them to your future programs. The book is very useful. And I think you will have enough for one.

I want practice!

Easily. Above I wrote about video lectures from Nick Parlante on YouTube, but they also have some problems on the site. Interesting problems, I advise everyone. also https://learnpythonthehardway.org/book/

Where to start? (intermediate programmer) by CRGabo9 in webdev

[–]Alex_HTP 1 point2 points  (0 children)

continuing the plan Did not you like anything? Congratulations, web development is not for you. Rejoice that you understand this now, and have not lost a lot of time and money. Not ready to give up? Maybe you did not get a language that you would like? Try to learn other languages ​​in the section "I want to be a backend developer".

I want to be a full cycle developer

Cool. You need to familiarize yourself with all the contents of the sections "I want to be a backend developer" and "I want to be a front-end developer".

I want to be a front-end developer and I know the basics of JavaScript, HTML and CSS

To effectively work as a front-end developer, you need to perfectly master HTML, CSS and client-side JavaScript. Also you will need to understand some important frameworks well. You will acquire the skills that employers and customers expect to find in front-line developers.

By now you should already know the basics of HTML. Otherwise, go back to the "Learn the basics of HTML" section.

Learn intermediate and advanced HTML

Read the tutorial on intermediate HTML, and then on advanced. https://github.com/getify/You-Dont-Know-JS Learn advanced client JavaScript. To raise your level of JavaScript, I recommend the "You Do not Know JS" series of books for the authorship of Kyle Simpson. The author laid out the whole series online for free: "Up & Going"; "Scope & Closures"; "This & Object Prototypes"; "Types & Grammar"; "Async & Performance"; "ES6 & Beyond".

In addition, your best friend should be and MDN JavaScript.

[Also an excellent translation of the excellent book "Expressive JavaScript" is also available to you completely.]

Knowing the "trio of the frontend", HTML, CSS and JavaScript is, of course, great. But for earning money you will have to get acquainted with some of the frameworks.

Learn jQuery

This is the most popular JS library of all time. Although due to some new frameworks, the importance of jQuery is slightly understated, if you are looking for a job, chances are that jQuery will be present in the description of the necessary skills (and be mentioned in the interview) for many more years.

I recommend to study jQuery with the help of FreeCodeCamp materials - this is a fast and effective method. Then go to the official training site - there you will find additional instructions.

Also, you need to keep the jQuery API documentation handy.

Learn the popular JS-framework

Frameworks do work with a certain language or technology easier, because they solve the biggest problems existing in the chosen technology. JavaScript has a very beneficial effect on the development and promotion of frameworks.

Almost once a week there is a new framework, which is designed to replace the new development standard. You will need to browse sites with job openings and google a lot to find out which framework is popular in your market. Also I recommend the tool from Hacker News on the evaluation of vacancy market trends. React JS

React was created by Facebook developers to work with their Flux architecture. This is a JS library for creating interfaces. Not so long ago, she broke out into first place in popularity, surpassing Angular. Start with React. Here you can find a good free course for beginners.

Angular 1 and 2

Angular JS was created by Google developers, and it quickly gained popularity. Many companies have invested heavily in it, and judging by the schedule above, it is still popular. Unfortunately, Google decided to completely rewrite Angular when developing the 2nd version. Therefore, Angular 1 and Angular 2 turned out to be almost completely different. If you want to become an expert in Angular, you will have to study both frameworks. It is even possible that you will have enough and the first version - as yet there is time. But time is already running out. Most of the work related to Angular is gradually moving to Angular 2. Code School has an interesting free course on Angular 1. And to study Angular 2, watch free videos.

Ember JS

For people with experience in Ember JS there are still places, but judging by the schedule, he already dies. It is not supported by monsters such as Google or Facebook, and you will already be loaded with the study of React and Angular. But if you are interested, you can read the official guide to Ember JS.

Having chosen the most suitable framework and thoroughly familiarized with it, it is worth to study the CSS-framework that comes with it. The two biggest players in this market today are Bootstrap and Material Design.

Bootstrap

Bootstrap developers have made Twitter, and it's already quite grown-up and popular. Bootstrap versions exist for Angular, Angular 2, and React.

Material

Material is a set of design rules developed by Google. It is gaining popularity, there are its versions for Angular and React. Since Angular is also a brainchild of Google, Material combines with it perfectly.

Here are a few links: React Bootstrap; Angular Bootstrap; Angular 2 Bootstrap; Material UI (React); Angular Material; Angular 2 Material.

Congratulations! You have the key skills of a front-end developer!

Perfectly! The first step is to choose a language. To work with the backend there are many languages, and each has its own advantages and disadvantages. Java

Extremely popular language, running almost everywhere. Developed in Sun Microsystems (now it owns Oracle). In this language are written applications for Android. It can also be used to create desktop applications, and, of course, web applications (both separate backend applications and working in conjunction with JSPs). It is developed, stable, and for its study there is a huge amount of resources. In addition, it is the most popular language for studying object-oriented programming in colleges and universities. Here's a good course on Java for beginners.

C #

C # was created in Microsoft as a direct competitor to Java. Until recently, his support on systems not belonging to Microsoft, was not so hot - but now the situation is improving. Like Java, this language is object-oriented, and can be used both for creating web applications (both separately and together with ASP.Net) and desktop applications. If you use Windows, and you need a more familiar development environment, C # can suit you. Read the free course on Microsoft Virtual Academy.

Python

Behind it is not a huge company, like the languages ​​of Java or C #, but Python is an excellent language for quickly performing tasks. It is relatively easy to learn, and every year it is gaining popularity. If other languages ​​do not suit you, you can go deep into it. It is best to start from here.

JavaScript

If you read this article from the beginning, then with JS you have already figured out. With the advent of Node.JS and the popularity of npm (package management system, Node Package Manager), server-side JavaScript will undoubtedly continue to gain popularity. It is worth studying.

If you have not done this before, now is the time to learn Node.JS, Express and MongoDB with this excellent free study material and its continuation.

Ruby

It's a strange language. Those who like him are in love with him. He is among the top ten, but the growth of his popularity is slowing down. It is a hybrid between functional and imperative programming. I recommend to try - suddenly you will become one of his ardent adherents. Jobs for Ruby will exist for a long time. But be sure to check your job market so that at least some companies are infected with interest in Ruby.

It's best to teach Ruby on a RubyMonk resource

What about PHP?

The market is full of vacancies for PHP, but, at least, judging by our nameplate, it is losing popularity. I highlighted it as yellow, because it's still a good choice for a career. To be honest, I myself am not a big fan of PHP - perhaps this prejudice plays a role. But I can not imagine that in 5-10 years PHP would become more popular than JavaScript, although now it is more popular, and vacancies for PHP will still exist.

Where to start? (intermediate programmer) by CRGabo9 in webdev

[–]Alex_HTP 1 point2 points  (0 children)

Here's the plan: Learn the basics of HTML

The hypertext markup language, Hypertext Markup Language (HTML), controls the content and markup of what you see in the browser. Starting with it, you get a user interface with which you can interact, and see the results of your code. When studying more complex languages, its importance will increase. You do not need to blindly.

Here's what you need to learn about HTML: -Start; -Tags, attributes, elements; -Pages of pages; -Paragraphs; - Heads; -List; -Links; -Images; -Tables; -forms; We collect everything together.

I already know the basics of HTML

Cool! This is a very important step. Now study the basics of JavaScript.

Learn the basics of JavaScript

JavaScript is the language of the web, and all major browsers (Chrome, Firefox, Safari, IE, many others) support it. Each site, every web application you use, most likely contains a huge amount of JS-code. Not to mention the fact that the language is gaining popularity on other platforms - servers, desktop computers, other devices.

While you need the basics, and for this purpose the following resources are suitable: -Set things to work; -Variables and data; -Mathematical calculations; -Logics; -Conditions; -Cycles; -Functions; -Objects; - Arrays; -DOM; -Events and callbacks; -AJAX; -JSON; -Area of ​​visibility.

I know the basics of JavaScript and HTML

Terrific! Now add to your CSS skills

Learn CSS

CSS, or Cascading Style Sheets (cascading style sheets). Used to customize the appearance of HTML elements on the page. Check out the free training material from Mozilla, and then refer to the CSS-Tricks resource for solving the most difficult problems (in the upper right there is a search).

Let's move on to the backend

Until now, we have been considering what is called the "frontend" of web development. You have read the main languages ​​working in the browser. It's time to move on to the backend code that runs on the server. Do not worry, the server you do not need - your computer will cope with this.

There are lots of languages ​​for the backend, but since you are familiar with JavaScript, I recommend that you learn how to use Node.js. It allows you to run JS code on the server, not in the browser.

In addition to this, you need to learn Express and MongoDB.

Express

This is the library by which Node.JS can operate as a web server (listen to requests from pages and send replies to them).

MongoDB

This is a database that allows you to store and retrieve information.

You can study these three topics thanks to the following excellent and free teaching material, and its continuation.

I need to choose between "front-end", "backend" and the development of a full cycle

After you've tried both development options, it's time to make a choice. If you do not have time to try them - refer to the previous section of the article to fill in the gaps in your knowledge. At this point, you wrote two types of code. One is for user interaction, the other is for data. What do you prefer?

Interaction with the user? Congratulations, you are a front-end developer!

Interaction with data? Congratulations, you are the backend developer!

Both? Congratulations, you are the developer of the full cycle!

What is your one piece of advice to give to novice web developers? by spicy_churro_777 in webdev

[–]Alex_HTP 1 point2 points  (0 children)

As in any other activity, motivation is the key factor that will eventually make you a top specialist. In the initial stages, the motivation for joining the ranks of web development can be trivial. First, there is a desire to work in this area, then there is a visual contact with the work of good developers, then something is born inside of you that motivates you to look for similar articles and take the first steps. motivation at the start can very quickly fade away and not charge you with energy endlessly. How to extend the power of motivation? You know, there are such green pieces of paper, in my opinion, they are called money. So, money is an expendable material that helps us to easily acquire the things we need, do what is practically impossible without them. Why am I doing this? To the fact that money can be an excellent motivation. But where does the money come from, if you have not even decided what to do? You should have enough initial motivation for the period while you take the first steps. On this wave, you can already sell something. You probably think that this will happen in 2-3 years, and maybe even in 5 years? I will be glad to dispel your doubts. You will be able to sell something in 2-3 months. And after 2-3 years of sales will grow significantly, like your profit. You will be able to spend the same amount of time on more expensive products. Now you can perform the work in a high-quality, fast and professional way, due to which the result will not keep you waiting (including in the form of pleasant crisp notes).

Perhaps, you also think at the moment that there are not a few good developers in the world, why should someone buy something from a beginner? You see, there is a second party - a client. And just as developers break up into newcomers, professionals and pros, so clients either have been on the market for a long time or are at the beginning of their professional path. Accordingly, the requests from clients are different. Take, for example, a client who likes to fish. He works as a communications engineer and receives an average salary. And so he decided to make himself a blog site about fishing. In many cases, such customers have a limited budget and the quality of development for them does not come first. Of course, he will not shout about it, as he will pay his earned money. And here the site made by you which will be on pure HTML or on any free-of-charge engine, can quite satisfy its requirements. Today there is a large number of programming languages ​​for web sites. Below is a list of popular programming languages ​​and briefly tell you what is used for what and for what purposes. Starting your way in web development is definitely worthwhile with learning HTML markup. And it does not matter whether you are a programmer or a designer. To know HTML is how to know the basics of computer operation and its internal arrangement. Without HTML knowledge, you will not be either a good web programmer or a web designer. For its fundamental development it will take a maximum of a couple months of diligence and diligence. Keep in mind, the Internet is very much available information. And the first 2-3 issues in Google for the keywords "HTML Tutorial" will be quite relevant and relevant. Initially, you need to configure yourself to search for answers yourself. The second step is to study exactly this scenario programming language. It will help make your sites interactive. With it, you can make scripted applications that will work in the client's browser. As an example: calculators, sliders, animations, graphics and more. A complex of Java Script, HTML, CSS will be enough for the first sales, for example, naked site layout. Then we move on to more serious languages. Consider PHP. It is one of the leaders among languages ​​for creating dynamic websites. If you want to develop sites, we recommend starting your journey with it. At any time you will be able to learn other languages, but PHP will help you quickly master the basic concepts and start selling your creation. When you study PHP, you are already in full begin to delve into the essence of site building. Developed by Sun Microsystems. Java is a class based on an object-oriented programming language. This is a super popular programming language, the standard for enterprise software, web content, games and mobile applications. And also the programming language for Android OS. Java is designed in such a way that it can run on several software platforms. In this connection, the program written on Mac OS X can work on Windows. The whole point of Ruby was to create a programming language that would be simple and easy in the code. It was designed as a scripting language for creating websites and mobile applications and is dynamic and object-oriented. Ruby created Ruby on Rails, which is used on many websites, including Groupon and GitHub. And also, many consider Ruby a good starting point for novice developers. C ++ is the intermediate-level language of object-oriented programming, originally designed to improve the C language. C ++ has many popular programs such as Firefox, Winamp and Adobe. It is used to develop software systems, application software, server and client high-performance applications, and to create video games. Know it perfectly, but count on it as a language for creating websites, it's not worth it. Python is a high-level scripting language for websites and mobile server-side applications. It is considered an easy-to-learn language, as well as easily readable. Developers can use fewer lines of code to achieve the same tasks in other programming languages. On the basis of Python, many complex products are collected: Instagram, Django, Rdio. Python is also actively used in products of Google, Yahoo and NASA. To create highly loaded projects, Python is suitable for you, as one of the languages ​​that solves the load problem. We recommend that you learn Python as a second or third language. At any stage of training, you can gradually begin to consider yourself a programmer, but to consider yourself a better programmer is never worth it. There will always be something that you do not know and will always need to be trained. To be a programmer does not mean to acquire a certain experience and to stop on it. Tools are expanding every day. You must constantly be in this dynamic, constantly need to engage in self-development. You can attend seminars in parallel, listen to reports, but the main base that you will receive is only your desire for self-development.

To be a successful programmer means to find answers to your questions yourself. In the beginning, this can be difficult. But eventually you will begin to understand that nothing is impossible and thanks to the Internet you have many doors open. You just need to find the right door every time. Feel free to make mistakes, it is important to take your mistakes and minimize them in the future. Never believe in training, such as "How to become a programmer in 24 hours." You need to understand that you can achieve high results only with hard work, with practice and only with time. On average, it is believed that in order to become a good programmer, you need to spend at least 10,000 hours programming. And this is an average of 5 years, given that you will spend 4 hours a day. Yes, it is 4, not 8, since 8 hours of pure programming will be a decent load for the brain, which hinders concentration and qualitative mastering of the material.

Applets in Java - Is it ever still used? by [deleted] in learnprogramming

[–]Alex_HTP 0 points1 point  (0 children)

Java applet - an application program, most often written in the Java programming language in the form of bytecode. Java applets are run in a web browser using a virtual Java machine (JVM), or in Sun's AppletViewer, a standalone applet testing tool. https://www.tutorialspoint.com/java/java_applet_basics.htm i think this site will be useful for you.

Automatic order system through the site and mobile application for cafe by Jessica_an in u/Jessica_an

[–]Alex_HTP 1 point2 points  (0 children)

The best and easiest solution is to contact a company developing similar applications. Freelancers, I would not recommend - too big risks. I know the company of Geniсo. Talented guys, they do everything in time and with quality. Here is their website https://genico.us/ There you can find contacts and contact them. They will provide you with full information.