[PYTHON] I tried to summarize the general flow up to service creation by self-education.

Perhaps most of the readers of this article are about to start programming, or have completed their programming studies and are thinking about creating a service. This article is for such a person, and describes the flow of service creation in as much detail as possible.   By the way, as an advertisement, the service I created is a service called Yapy (laughs).

1. How to study programming

First, I will introduce how to study programming.   The first site I used to study programming was progate. This service allows you to actually write and study programming. In addition, the written code is natural, but it works as it is, so you can write it while applying it yourself. In addition, even if you make a mistake in one character unique to programming, the behavior may be completely different or an error may occur (laugh) I think progate was free halfway through html, css, javascript. After that, there is a charge, so if you are serious about doing it, you can register as a paid member from the beginning.   Some people want to study programming but have nothing to do, or can't imagine what they can do with programming. I was the same. However, if you don't know what programming is and you're stuck, I think it's a good idea to study for the time being. At first, I thought that programming was a discipline that geniuses could learn, but when I actually tried it, it wasn't easy, but the hurdles were lower than I expected, and I was able to learn smoothly. I did. So, I think it's best to try it without thinking about it.

After learning all about progate, it's a good idea to start creating apps for the time being. In my case, I first studied html, css, javascript, and I was wondering "what kind of apps can be made in these languages, how much power I have", so Monaca I started to create an application using a service called: //ja.monaca.io/).   It's been about a month so far.

As I said earlier, I used a service called Monaca to create the app, but this service makes it easy to develop apps using html, css, javascript. It is a service that can be used, and although there are restrictions, it can be used free of charge. In this application development, you can check the knowledge of javascript application and the general flow of development, so please try it. It also leads to motivation.   It took about 2 weeks to develop this app.

After that, I became interested in Ruby, used progate, and after about 5 laps of the Ruby course and the Ruby on Rails course, I started developing the service. Learning Ruby and Ruby on Rails with progate has taken a lot of time. It took about 3 hours a day and about a month to make 5 laps.   In my case, I studied Ruby first, but I think it's easier to continue because each person has motivation to study what language first according to their goals. Depending on the language, habits, things you can do, and things you can make are different, so please carefully examine the characteristics of each language and decide on a language.

2. Environmental development

Next, I will introduce the development environment. If you are researching programming, you will often see articles that say that building an environment or building a development environment is troublesome. Actually, I had a lot of trouble building the environment. I won't go into too much detail about building an environment here. However, I would like to introduce only the points to note when building an environment.

It is important to note when building an environment, but if you do not do it after thoroughly checking the type of your OS, what specifications you have, and what type of file you download, it will be messy later I will. After that, when I'm investigating how to build an environment, I see a screen with a lot of English on a black screen that I don't understand. If you do not do it after checking which command is giving what kind of command, you may end up typing an unnecessary command and start over. When building an environment, I think it is safer to learn commands lightly. Finally, do not forget to back up when building the environment. It's too late since it's annoying (laughs)

If you haven't decided what you want to do, but want to get in touch with programming in earnest, there is a development environment that you can use online, so you can search for it according to your language! I haven't used it before, so I can't explain it in detail, but it's an integrated development environment, and the environment is built from the beginning, and it's a service that allows you to use the language as soon as you register. If you are interested, you can use it because you can find out how to use it by searching.

3. About service development

Once you have built the environment and are ready, you will want to develop a service.

There are many things that you do not understand in service development, so in addition to programming learning services such as dot install and Schoo, books are available. I bought it and proceeded with the development while studying.

Dot Install is a service that allows you to learn programming with a video of about 3 minutes each, and most of it can be used for free. I'm not used to it at first because of the quick explanation, but once I get used to it, the videos of other learning services become slow and annoying (laughs).

Schoo is also a service where you can learn programming with videos, but you can ask questions to the instructor by watching it in real time, and the explanation is relatively polite, so For those who are quick and difficult to understand dot installation, there is a charge for some, but I think you should use this.

Regarding books, if you want to study a language that you are very interested in, you should buy books at a relatively early stage. By purchasing a book and reading through it, you will find many notations and methods that you did not know before. By reading the book lightly once, it will be absolutely useful when developing services.   As I said at the beginning, service creation faces many errors and unknown problems. In such a case, let's actively research and learn notations and methods. The important thing then is to write the code without understanding the meaning of the program. This can lead to unexpected errors, so try to read the meaning and enter the code as much as possible.

It took about two months from service creation to completion.

I think it took about half a year from the start of learning to the completion of the service.

4. Summary

This is the series of steps up to service creation. I think that the procedure differs depending on the person, but I think that there is no choice but to gradually improve the skills in this way.   Programming can be difficult, but it's a way to put your thoughts into shape. If you do not aim to study programming, but think about what you need to do to create something new, you will be able to learn while maintaining motivation. I myself still need to study because the code is getting longer at the beginner level and complicated code does not work well. Let's do our best each other!

Recommended Posts

I tried to summarize the general flow up to service creation by self-education.
I tried to speed up video creation by parallel processing
I tried to summarize the umask command
I tried to summarize the graphical modeling.
I tried to summarize the commands used by beginner engineers today
I tried to summarize the Linux commands used by beginner engineers today-Part 1-
LeetCode I tried to summarize the simple ones
I tried to summarize the basic form of GPLVM
I tried to summarize the string operations of Python
I tried to summarize SparseMatrix
[First COTOHA API] I tried to summarize the old story
I tried to summarize the code often used in Pandas
I tried to summarize the commands often used in business
[Machine learning] I tried to summarize the theory of Adaboost
I tried to summarize how to use the EPEL repository again
I tried to summarize the languages that beginners should learn from now on by purpose
I tried to move the ball
I tried to estimate the interval.
[Linux] I tried to summarize the command of resource confirmation system
I tried to visualize the Beverage Preference Dataset by tensor decomposition.
I tried to predict by letting RNN learn the sine wave
I tried to solve the shift scheduling problem by various methods
I tried to summarize the frequently used implementation method of pytest-mock
I tried to summarize the contents of each package saved by Python pip in one line
I tried to summarize Python exception handling
I tried to recognize the wake word
Python3 standard input I tried to summarize
I tried to estimate the pi stochastically
I tried to touch the COTOHA API
I tried to summarize Ansible modules-Linux edition
I tried to summarize until I quit the bank and became an engineer
I tried moving the image to the specified folder by right-clicking and left-clicking
765 I tried to identify the three professional families by CNN (with Chainer 2.0.0)
I tried to summarize Cpaw Level1 & Level2 Write Up in an easy-to-understand manner
I tried to summarize various sentences using the automatic summarization API "summpy"
I tried to summarize the logical way of thinking about object orientation.
I tried to find the optimal path of the dreamland by (quantum) annealing
I tried to verify and analyze the acceleration of Python by Cython
I tried to summarize Cpaw Level 3 Write Up in an easy-to-understand manner
I tried to solve the inverted pendulum problem (Cart Pole) by Q-learning.
I tried to verify the result of A / B test by chi-square test
I tried to analyze the New Year's card by myself using python
I tried to summarize all the Python plots used in the research by active science graduate students [Basic]
I tried to program bubble sort by language
I tried web scraping to analyze the lyrics.
I tried to summarize the relationship between probability distributions starting from the Bernoulli distribution
I tried to optimize while drying the laundry
I tried to get an image by scraping
I tried to save the data with discord
I tried to touch the API of ebay
I tried to summarize the operations that are likely to be used with numpy-stl
I tried to correct the keystone of the image
I tried to predict the presence or absence of snow by machine learning.
I tried using the Datetime module by Python
I tried to predict the change in snowfall for 2 years by machine learning
I tried to rescue the data of the laptop by booting it on Ubuntu
Qiita Job I tried to analyze the job offer
I didn't understand the Resize of TensorFlow so I tried to summarize it visually.
I tried to pass the G test and E qualification by training from 50
I tried to summarize all the Python visualization tools used in research by active science graduate students [Application]
I tried to classify dragon ball by adaline