In the arms of Python (women only)
I, as always, didn’t meet anywhere, when I suddenly saw a message in VKontakte news that tomorrow was the last day for submitting applications for Django Girls in St. Petersburg - a Python programming workshop for women. I usually read such messages when registration for an event is already closed. I have a special luck for such cases - to learn about the event the day after its completion. Therefore, when I realized that there was a real opportunity to get to the free Python training, I quickly filled out an application, just in case I booked a hotel and waited.
It seems to me that I immediately knew that they would accept me, otherwise how can I explain that I missed the similar event in Moscow a month earlier and hit it in St. Petersburg! Can you think of a better time to travel: summer and white nights, a world championship with the opportunity to visit the fan zone on Konyushennaya Square, familiarity with the IT community of Django Girls and the office of Wargaming, and the curtain festival "Scarlet Sails"!
Two years have passed since I discovered the world of IT, but I still have little ability to do applied. To organize software testing in a project, coordinate UAT - I can do this, and I like the variety of projects. But if you need to do something with "hands", for example, to automate a simple test, this is a problem. Therefore, the idea to try programming in Java or Python has long appeared. I even tried to take an online course on Udemy Computer Science for beginners, with an introduction to Java. The part about the binary system and the physical structure of computers was very understandable, but as soon as it reached the code, it became difficult. I need a mentor - a person who sits side by side and answers any question. So, I took the invitation to a Python workshop for women as my chance. Especially,

On the morning of June 23, 2018, I went straight to Faberge Square, to the office of Wargaming. She came in advance, helped the organizers a little with the arrangement of tables and chairs for the participants. We were about 70 girls who wanted to take the first step in programming. Each table has 5-6 participants and one trainer. Our table was lucky, there were only three of us and the trainer Lyuba, almost personal assistant. Olya, a marketer who was eager to move to IT, and Dasha, an employee of the bank, like me, who decided to move to Canada and mastered the profession of a programmer who demanded this, sat next to me.
Since I installed all the programs at home and read the introductory articles, I was able to immediately proceed to the project - creating a blog in Python and posting it on one of the ready-made platforms. At the same time, the application code had to be placed on GitHub and from there to update the blog on the site. The development was carried out on my local computer, in the role of which my home laptop kindly made. I’ve done everything for the first time in my life, and before the master class I didn’t have an idea how a web application is really created.
For development, the Django framework was used - an understandable and popular tool. The Python version 3.6 programming language was installed on the laptop and a virtual environment was created for the project. A text editor Sublime Text was installed to work with the code. To store versions of the code, Git is downloaded and installed. Versions were published on GitHub, for which I created a profile there. To place my blog on the Internet, the site www.pythonanywhere.com was selected , where I also created an account. All work with folders and files on a laptop led through the cmd command line, and a similar console was used on Pythonanywhere to manage folders and blog files.

The principle of training is simple: you read the instructions, perform tasks on it, if something is not clear - you ask the coach. Assignments are given in order, which allows you to create a small but full-fledged blog and post it on the Internet.
The training lasted from 10 am to 7 pm, every hour a 10 minute break. There were several interesting reports, for example, on internships for novice programmers or on learning opportunities, starting with free online courses and ending with a bachelor's degree in Computer Science at an American university at a very affordable price. For lunch, there was pizza, and for supporters of healthy eating - homemade cafe "Faberge" on the 4th floor in the shopping center next door. We also had a large kitchen with an unlimited number of approaches to water, tea, coffee, cookies and fruit. Personally, I was struck by the office of Wargaming by employees who worked there on Saturday - these creatives traveled around the office on scooters, and sometimes barefoot.
How much did I manage to do in a day? A lot! First, I created a separate project in Django and created the necessary files in it. In the configuration of the project indicated the data for the correct operation of the site, for example, the time zone and the address of the blog. Next, set up the database. In fact, it was already created in Django, it had to be migrated to the directory of my project. And finally, I launched a virtual server on a laptop - it was all magic, I still do not believe that I did it.
When the site template was ready, and it could be seen on the computer in the browser at 127.0.0.1: 8000 /, now it’s time to create a model for blog entries in the database. That is, we have a blank site template, but it needs to be filled with something, for example, blog entries. In order for the program to understand which records I want to create, it needs to say about it. And this is done by using the model and adding it to the database. At this stage, the creation of a blog on the local computer was over, and it was necessary to place my website on the Internet — deploy. To do this, we used a very popular tool Git - code version control system.
First, I had to tell my laptop where to put the code. To do this, the settings are first set, and then the git commit command and git push code is placed on GitHub. When updating the code, you can add a comment, then each change will be accompanied by a description of what has changed. You can also check what changes have been made with cmd using different commands. Very useful stuff!
Then the most interesting thing began: the code from GitHub should be uploaded to the site where the blog will be placed, that is, to publish my blog on the network - in fact, for this purpose everything was started. Only first on Pythonanywhere it was necessary to create a virtual environment and database, and then unload the code from GitHub. This is done easily - with one git pull command. In general, all of the above is done easily. For me, the biggest magic was that after 8 hours of work everything worked, everything worked and appeared where it was necessary. I tried Python quite a bit: I copied tiny code fragments from the instructions and changed them as I needed. And most of the time was spent on many preparatory steps: configuration, creation of environments, databases, accounts, repository. To make it work, you need to link all the components and tools with each other. It is not so easy.
I realized that modern programming is the use of a large set of tools, where much is already ready for use. Success depends on how well you know these tools and know how to use them.
One funny mistake did happen. I created a blog file with HTML code (that is, with what we see on a page on the Internet), and had to put it on the site, but the command ended with an error and the cmd console told me that the file does not exist. It turned out that the path to the file was incorrect. Together with the coach, we could not understand why the program is looking at the default path, and not the one we indicated. Google - it did not help. I go to the other tables and ask who reached this stage if there was a similar error. The trainer of one of the tables responds, approaches us, looks at the name of the folder and says that I have a typo in the title: tamplates instead of templates. Began to fix through the rename command - no access. We understand why there is no access, it is not clear. And then my coach offered to go to the folder itself and fix it. “How?” - “Well, how do you rename files on a computer?” - “What, is it so direct to go and rename via Windows Explorer?” - “Of course.” And it worked. Sometimes you start thinking too hard in situations that have a simple solution.
Then I also learned to update the blog on the site from my computer and created a URL so that the browser when entering the link to my blog understands which page to display on the screen.
Total:

I really liked the workshop, he greatly inspired me and, no doubt, opened a new chapter in my life.
By evening I was very tired, my brains demanded a reboot. Therefore, immediately after the master class, I threw the laptop into the hotel and went to two of the most striking events of that evening and night: the match Germany-Sweden in the fan zone on Konyushennaya Square and the Alye Parusa festival, celebrating the new life of St. Petersburg school graduates. Who is interested to learn more about the master class, write me in Skype - elen.furs.
In conclusion, I want to say: pretty girls, if you want to join the world of technology, work in interesting companies and make good money, do not be afraid to go to IT. And how to do this, you already know in my example .
It seems to me that I immediately knew that they would accept me, otherwise how can I explain that I missed the similar event in Moscow a month earlier and hit it in St. Petersburg! Can you think of a better time to travel: summer and white nights, a world championship with the opportunity to visit the fan zone on Konyushennaya Square, familiarity with the IT community of Django Girls and the office of Wargaming, and the curtain festival "Scarlet Sails"!
Why python
Two years have passed since I discovered the world of IT, but I still have little ability to do applied. To organize software testing in a project, coordinate UAT - I can do this, and I like the variety of projects. But if you need to do something with "hands", for example, to automate a simple test, this is a problem. Therefore, the idea to try programming in Java or Python has long appeared. I even tried to take an online course on Udemy Computer Science for beginners, with an introduction to Java. The part about the binary system and the physical structure of computers was very understandable, but as soon as it reached the code, it became difficult. I need a mentor - a person who sits side by side and answers any question. So, I took the invitation to a Python workshop for women as my chance. Especially,
Preparation for the master class

On the morning of June 23, 2018, I went straight to Faberge Square, to the office of Wargaming. She came in advance, helped the organizers a little with the arrangement of tables and chairs for the participants. We were about 70 girls who wanted to take the first step in programming. Each table has 5-6 participants and one trainer. Our table was lucky, there were only three of us and the trainer Lyuba, almost personal assistant. Olya, a marketer who was eager to move to IT, and Dasha, an employee of the bank, like me, who decided to move to Canada and mastered the profession of a programmer who demanded this, sat next to me.
Since I installed all the programs at home and read the introductory articles, I was able to immediately proceed to the project - creating a blog in Python and posting it on one of the ready-made platforms. At the same time, the application code had to be placed on GitHub and from there to update the blog on the site. The development was carried out on my local computer, in the role of which my home laptop kindly made. I’ve done everything for the first time in my life, and before the master class I didn’t have an idea how a web application is really created.
Instruments
For development, the Django framework was used - an understandable and popular tool. The Python version 3.6 programming language was installed on the laptop and a virtual environment was created for the project. A text editor Sublime Text was installed to work with the code. To store versions of the code, Git is downloaded and installed. Versions were published on GitHub, for which I created a profile there. To place my blog on the Internet, the site www.pythonanywhere.com was selected , where I also created an account. All work with folders and files on a laptop led through the cmd command line, and a similar console was used on Pythonanywhere to manage folders and blog files.
How was the master class

The principle of training is simple: you read the instructions, perform tasks on it, if something is not clear - you ask the coach. Assignments are given in order, which allows you to create a small but full-fledged blog and post it on the Internet.
The training lasted from 10 am to 7 pm, every hour a 10 minute break. There were several interesting reports, for example, on internships for novice programmers or on learning opportunities, starting with free online courses and ending with a bachelor's degree in Computer Science at an American university at a very affordable price. For lunch, there was pizza, and for supporters of healthy eating - homemade cafe "Faberge" on the 4th floor in the shopping center next door. We also had a large kitchen with an unlimited number of approaches to water, tea, coffee, cookies and fruit. Personally, I was struck by the office of Wargaming by employees who worked there on Saturday - these creatives traveled around the office on scooters, and sometimes barefoot.
My result for the day
How much did I manage to do in a day? A lot! First, I created a separate project in Django and created the necessary files in it. In the configuration of the project indicated the data for the correct operation of the site, for example, the time zone and the address of the blog. Next, set up the database. In fact, it was already created in Django, it had to be migrated to the directory of my project. And finally, I launched a virtual server on a laptop - it was all magic, I still do not believe that I did it.
When the site template was ready, and it could be seen on the computer in the browser at 127.0.0.1: 8000 /, now it’s time to create a model for blog entries in the database. That is, we have a blank site template, but it needs to be filled with something, for example, blog entries. In order for the program to understand which records I want to create, it needs to say about it. And this is done by using the model and adding it to the database. At this stage, the creation of a blog on the local computer was over, and it was necessary to place my website on the Internet — deploy. To do this, we used a very popular tool Git - code version control system.
First, I had to tell my laptop where to put the code. To do this, the settings are first set, and then the git commit command and git push code is placed on GitHub. When updating the code, you can add a comment, then each change will be accompanied by a description of what has changed. You can also check what changes have been made with cmd using different commands. Very useful stuff!
Then the most interesting thing began: the code from GitHub should be uploaded to the site where the blog will be placed, that is, to publish my blog on the network - in fact, for this purpose everything was started. Only first on Pythonanywhere it was necessary to create a virtual environment and database, and then unload the code from GitHub. This is done easily - with one git pull command. In general, all of the above is done easily. For me, the biggest magic was that after 8 hours of work everything worked, everything worked and appeared where it was necessary. I tried Python quite a bit: I copied tiny code fragments from the instructions and changed them as I needed. And most of the time was spent on many preparatory steps: configuration, creation of environments, databases, accounts, repository. To make it work, you need to link all the components and tools with each other. It is not so easy.
I realized that modern programming is the use of a large set of tools, where much is already ready for use. Success depends on how well you know these tools and know how to use them.
One funny mistake did happen. I created a blog file with HTML code (that is, with what we see on a page on the Internet), and had to put it on the site, but the command ended with an error and the cmd console told me that the file does not exist. It turned out that the path to the file was incorrect. Together with the coach, we could not understand why the program is looking at the default path, and not the one we indicated. Google - it did not help. I go to the other tables and ask who reached this stage if there was a similar error. The trainer of one of the tables responds, approaches us, looks at the name of the folder and says that I have a typo in the title: tamplates instead of templates. Began to fix through the rename command - no access. We understand why there is no access, it is not clear. And then my coach offered to go to the folder itself and fix it. “How?” - “Well, how do you rename files on a computer?” - “What, is it so direct to go and rename via Windows Explorer?” - “Of course.” And it worked. Sometimes you start thinking too hard in situations that have a simple solution.
Then I also learned to update the blog on the site from my computer and created a URL so that the browser when entering the link to my blog understands which page to display on the screen.
Total:
Impressions

I really liked the workshop, he greatly inspired me and, no doubt, opened a new chapter in my life.
By evening I was very tired, my brains demanded a reboot. Therefore, immediately after the master class, I threw the laptop into the hotel and went to two of the most striking events of that evening and night: the match Germany-Sweden in the fan zone on Konyushennaya Square and the Alye Parusa festival, celebrating the new life of St. Petersburg school graduates. Who is interested to learn more about the master class, write me in Skype - elen.furs.
In conclusion, I want to say: pretty girls, if you want to join the world of technology, work in interesting companies and make good money, do not be afraid to go to IT. And how to do this, you already know in my example .