Personal experience: from the idea and a clean slate to a draft version of the site

Good day.

My name is Dmitry, in a couple of months I am 30 years old, of which for about 10 years I am a “tyzhprogrammer” and half a year ago I decided to create something of my own (lame, oblique, secondary, but mine).

A couple of days ago I talked with a familiar student and in it I recognized myself from the sample of 2009 - the same problems, the same thoughts. This text is a compilation of our conversation and correspondence on the night of September 24th. Personal moments and specific examples were missed, but the text became more logical and generalized.

What helped one person might help another.


The introduction can be not read, but from it it will be possible to understand the initial knowledge site.
In grade 11, I had the choice of who to go to study - a history teacher or a programmer. I loved the story and understood, programming seemed to me very interesting and promising. I chose the latter, because history can work in my free time.

I was not able to choose an educational institution - my parents clicked the calculator and sent me to the local technical school, which became a college under September 1. I will not describe the problems of our education, but my desire to write code has greatly diminished. After receiving a special secondary, I refused to study further and decided to work. A friend invited me to work as a system administrator in a budget organization:“Healthcare informatization is coming soon, it is necessary both to assemble the computers, to pull out the paper from the printers, and to explain everything to the people. You’ll work for two or three years, and then you will see what's next . I will not write about the problems of reforms in Russia, but I revised my views on life and people. After working for almost 6 years, I quit, because everything became very sad. I rested, changed jobs and the desire to program came to life.

March 2018 - September 2018

In the beginning there was an idea - "that would be the site where you could see more detailed statistics and the history of data changes." We are talking about the rating of players on servers of one online game (nickname, level, clan, etc.). The official resource gives only current values, which are updated once a day. There is no history of changes, no clarity, it is difficult to choose anything and limited sorting capabilities. There is an unofficial version in which there is already more functionality, but it is also inconvenient for me, and even with a miner. Therefore, after the first thought a second thought came: “We need to do something of our own! Convenient and without a miner . And it is desirable that the creation process took 1-2 hours in the evening, since there is little free time, and I did not want to cut sleep. During the evening, I painted a rough plan of action and began to translate it into reality.

But to do something, you need to learn how to do it. For several days I studied articles and videos on the topic “What do you need to create a website?”, After a couple of days, I switched to “comparing different PLs - their pros and cons.” For about a week, watching videos and reading articles every day for 2-3 hours, I came up with an approximate set of technologies:
  • html5
  • css3
  • python 3
  • django 2
  • sql (postgresql 10)
  • linux (debian9)

Once acquired knowledge was forgotten and everything had to start from scratch.

Self-study - this skill is very difficult for many people. Constantly someone or something is distracting: the cat decided to mumble on his knees, a neighbor called, a new series of his favorite series, a new memchik on social networks and hundreds of other examples. In addition to willpower, determination and the desire to create, you will not have allies (there is still hunger, but it is not always present). Close social networks, close the tab with the series, turn off the sound on the phone, close the door to the bedroom - temporarily remove all distractions. In the information hunger, the brain itself will want to receive information, and here it is the basics of SQL, which will be good food.

SQL and script to write data to the database

SQL is interesting because there are few it-vacancies where it would be in the first place, but there are plenty of vacancies where it goes to the 2nd or 3rd place. If you are just starting to enter programming, then the basics of SQL can be a good start. I chose postgresql as a DBMS, as it is often written that it is a good choice for python (as far as this is true, I cannot judge). Thanks to Postgres Professional for translating the documentation .

If you are learning from materials available on the Internet, then it is possible that you do not always manage to understand everything - somewhere the theory was not accurately conveyed, somewhere the example does not reflect the essence of the topic, somewhere it was not explained at all to an interesting moment for you. After reading one article, fasten it by reading a similar article or watching a video on a similar topic.

And in the end, implement the material covered by the example of your idea, even if it will be further redone or completely discarded as an unnecessary element. Do not be afraid to experiment. Bookmark the browser interesting material.

So we got acquainted with SQL, chose a DBMS, created a database under our idea and decided to move on to the next item - somehow write the information from a page on the Internet into our database. Python comes to the rescue , which brings with it its packets psycopg2 , json , datetime , requests . Oh, and it was fun to understand all this. In about a week of experiments, a working script turned out that writes changes to the database of 20-25 thousand characters.


Now we need to display all this in tabular form on the site. Gently moved to the basics of html5 and css3 - the skeleton of the page and the table. In search of good material, I came across one portal that promises to make me a front-end developer for a small money. The first couple of lessons are free, and then a small amount, in these lessons is just given the minimum basic knowledge. We pass free lessons, apply the knowledge gained and get these blocks:
<divid="header"> тут будет шапка сайта </div><divid="main"> основная часть страницы </div><divid="content"> основной контент </div>

Everything is clearly explained, it is possible they will have a course if necessary. And after a couple of days I found out that this is an outdated form of recording and you can simply write the tags header, main, etc. And at this step, I realized that at the initial stage of the study you should not buy online courses. I just can not understand how relevant they are (after all, the authors often do not indicate the date of the articles) and how much knowledge they need in them. Therefore, I deleted the bookmark and later found what I was looking for.

It is worth noting that when you buy a course, you financially oblige yourself to pass on the course - “well, it’s not for nothing that you gave denyuzhku, but you could have paid for the Internet” . And begins the study of information that you do not need for the current purpose, and if you need it, it’s not a fact that you remember it. And if you abandon the course, you will blame yourself - "and why take a course? now it hangs dead weight and in general after 3 days it ends, and no one needs this certificate ... all the pain .

From the interesting I would like to highlight the following:
  • and - most html tag requests led me to this site
  • - the successor of
  • - I saw the recommendations of this resource somewhere and decided to watch their free set of lessons. Armed with the knowledge of the free lessons, you can already roll up a page: a hat, a basement, a main unit, a menu, a table and tie the css to all of this.

Django 2

Just read the official website and translation for version 1.9 , which in most cases is suitable for version 2.0. Everything. Unclear errors are copied and pasted into the search engine. With a probability of 90% in 1-5 minutes, you will find a similar situation with the solution of the problem, sometimes with the analysis of the solution.

Our main assistant will be stackoverflow - a popular system of questions and answers about programming. Initially there was only English, but at the moment there are 4 more versions of which we are interested in Russian .
Here I would like to draw attention to some resources that sometimes appeared in my search results - questions / answers from stackoverflow translated by machine translation and with advertising (for ). Sometimes they stood above stackoverflow itself. Translation in places was quite good, and in places just a bunch of words - most likely this is due to the correctness of the sentence construction, since people with different levels of English (and not just him) write on stackoverflow.

No matter how well this translation is done - read the original text, and if your knowledge of English does not allow you to fully understand the text, use online translators - over time you will begin to understand more and more words and one day just look at the answer and understand what is written there .

The second most popular resource where I was led to the search for an answer is toster - thanks to everyone who leaves the answers and explains these answers.

Ocean of information and draft version of the site

From the moment of the beginning of the training, it took about a little more than 3 months - there were breaks in 2 weeks, and repeated reading of articles and manuals, and problems on which stumbled over 2-3 evenings. Browser bookmarks are swollen, in a telegram every 15 minutes a new article on technology of interest to me, VK replete with reprints of these articles. Information sea - choke easier than easy.

And at that moment awareness came, and it began to choke. And at night, I revised my entire plan - from the look and feel of the site to the technologies that were used or planned to be used.

The plan itself was supplemented with sub-items and each sub-item was assigned importance, priority, identified critical points without closing which forbade itself to move on. But most of all there were questions - I asked myself a question, I found the answer myself, I explained it to myself, I made changes to the plan myself.

The next month was a shock therapy - I put Debian 9 (which I studied from scratch), on which for the first month there were no social networks, forums, TV shows, movies, Skype, or discord. I just disappeared for a month from the usual for me (and for most users) Internet.

The schedule of my evenings was as follows:
- a problem or a question
- search for solutions and answers
- implementation
- either we write down a solution in a notebook, or a bookmark in the browser
- if our creation is out of control, then we delete everything and start to do it from scratch (currently the 4th version is used)

Sometime by August I restored some social contacts - I returned to the social network, put Discord every 2 -3 days I go to windows and check it, I haven't translated it to Debian yet. The rate of execution of the plan has decreased, but this did not frighten me much, because the first draft version of the site was already spinning on the local computer and before September 1 I planned to move to VDS.

And I did not have time. While he was dealing with the subtleties of VDS settings, while he was understanding how to start his creation, while the site’s jambs rules, while solving problems in real life, while distracting on the social network, while solving health problems - the website was launched late in 4 days. For some reason, it had a damn effect on me - there was a reserve almost a month, I had to do absolutely nothing, but I was late and not everything was done. I had previously violated my own schedule, but practically did not notice this, and these 4 days of delay touched me. Having grieved and thought the evening, I set to work further. And I began by sending the address of the site to the 3rd acquaintances. After waiting for the reaction, I perk up - the average assessment was "the topic was fine, we finished it and it will be cool."

Now the wishes of users were connected to my plan - most of the wishes were in my plan (and still exist). So I do not need it alone.

And at this moment I stopped.

The work has changed (I am farther and farther from it and it saddens me even more than 4 days late launch of the site), daily affairs, the autumn blues and a hundred other reasons take away the time, which is less and less. Over the past week I have only sat down for a project a couple of times. And it scares me that I will not finish it. And most of all it scares me how people live in similar situations, but with their wives and children? How do you manage to do everything?

Why did I write all this text?

Once again remind readers of commonplace truths:
  • want to do something - take it and do it
  • experiment, do not be afraid to make mistakes - the computer can endure everything, the main thing is that the result will be a quality product
  • if you are a student who has lost interest in studying, or just are learning something new, then try to study material on alternative sources, if that did not help you, then change your profession - working on unloved and incomprehensible work will exhaust you and will irritate your colleagues
  • learning is never too late, but it is better to start as early as possible


Over the past six months, I learned a lot of new and interesting information, changed some habits, got rid of something, got used to something.

Briefly from the interesting:
  • changed to , since duckduckgo is integrated with stackoverflow and the answer to your question can already be displayed on the search page
  • refused windows, skype, deleted the last account on social networks
  • I'm not afraid of nano anymore and even know how to get out of vim
  • thought about privacy in the network, after seeing what information the user can leave just by visiting the site
  • pulled up reading english
  • fell in love with the console and analyzing the output of information about requests to the site (how happy I was when out of 100 requests to the database I made 1 request, and then I also reduced the time for its execution by limiting the selection to just the right columns and rows)
  • I realized how much I do not know the technologies that I use
  • and I regret that 5-7 years ago nobody showed me python and could not explain SQL efficiently (by the way, that teacher still teaches, students still do not understand his explanations and teach SQL on their own)
  • I was able to create something of my own, and one day it will cease to be lame and oblique.

All good.

Just do it

ps I’m really complex and now I’m not morally ready to provide a link to the site for the general public. At the moment there are 3 “red” items, after which the item “you can brag about your hand-made article” will open.
pss slightly redid your flow of thoughts, thanks for the criticism and comments

Also popular now: