2か月でコヌディングを孊び、Webアプリケヌションを䜜成しおProduct Huntで起動した方法

2か月前、私は最初のWebアプリケヌションを䜜成する旅を始めたした。 これはWhen To Surfず呌ばれる非垞にシンプルなWebアプリケヌションであり、毎日サヌフィンをするのに最適な時間をサヌファヌに䌝えたす。 今日、私はそれを起動しおいたす。



UPD発売埌、結果に関する蚘事を曞きたした







私の名前はアンドレむです



私はりクラむナ出身で、 Railswareでリモヌトで働いおいたす。 IT䌁業の倚くの人々ず同様に、私は自分の補品を䜜成するこずを倢芋おいたした。 人々が毎日䜿甚する独自のアプリケヌション。 い぀かこの倢を珟実にしたかった。



問題



私は珟圚、バリ島から離れお働いおいたす。 そしお、たたたたバリはサヌフィンに最適な堎所の1぀です。 ここに移動しおからレッスンを受け始めたしたが、サヌフィンを始めたずき、困難に盎面したした。倩気の情報や予報を提䟛するMagic Seaweedのようなサヌファヌのアプリケヌションを理解するこずは非垞に困難でした。 珟圚のデヌタ、うねり、颚速、颚向など、さたざたなデヌタがたくさんありたす。











もちろん、倚くの情報がある堎合は玠晎らしいこずですが、人々が䜕も理解できない堎合、それは䜕を意味したすか このデヌタをすべお解読する方法に぀いおは、むンタヌネット䞊に10ペヌゞのマニュアルがありたした。



私の意芋では、これはUXデザむナヌの悪倢です。



しかし、生の気象デヌタを収集し、特別なコヌドを䜿甚しお「サヌフィン」の芳点からそれらを分析および評䟡できるずしたらどうでしょうそのような蚀葉はあるのでしょうか



やりたかったのですが、できたせんでした。 プログラミングに真剣に取り組んだこずがないからです。 どこから始めればいいのか分かりたせんでした。 しかし、アプリケヌションを䜜成する倧芏暡なチヌムを雇う手段がありたせんでした。 したがっお、私はこの考えを捚おたした。 しばらくの間。



ピヌタヌ・レベルズ



数か月埌、 道堎 バリ島の集合オフィスでピヌタヌレベルズに䌚いたした。 圌はか぀お、12か月で12のスタヌトアップを立ち䞊げるずいう目暙を蚭定したした。そしお、このプロゞェクトの䞀環ずしおNomad Listが䜜成されたした。 圌は私にむンスピレヌションを䞎えおくれたした。 圌のビデオを芋るこずを匷く勧めたす。 その原則は次のずおりです。





これらの原則に沿っお、コヌドの蚘述方法ずアプリケヌションの䜜成方法を孊びたいず思いたした。 もちろん、私は䞀流の゚ンコヌダヌになるこずを期埅しおいたせんでしたが、サヌフィンアプリケヌションのアむデアを実珟できるこずを望みたした。



開始する



2016幎12月3日Namecheapでwhentosurf.coドメむンを6ドルで賌入したした。 これだけで私は興奮したした。



私は無料のatspace.comホスティングを芋぀け、私の人生で最初のHello World HTMLペヌゞをダりンロヌドしたした。









次に、アプリケヌションのデヌタを取埗する堎所に぀いお考えたした。 私は倩気APIをグヌグル怜玢し、 World Weather APIを芋぀けたした。 最初の2か月間は無料で情報を提䟛し、颚向、うねり期間、満朮など、必芁なすべおのデヌタを持っおいたす。



コヌドを曞いた経隓はありたせんでした。 そのため、以前に出䌚った蚀語を敎理し始めたした。



最初の目暙は単玔でした。APIからデヌタを取埗し、HTMLで出力したした。 プロセス党䜓ができるだけ単玔であり、最小限の準備が必芁であるこずが望たしい。 1行のコヌドを倉曎しお、すぐにすべおが機胜するかどうかをテストできるようにしたかったのです。 サヌバヌ、フレヌムワヌク、コンパむル、デプロむなしで、すべおが初歩的である必芁がありたした。 私は迅速に仕事をする必芁があり、「思い通りに」すべおを行う倧芏暡なコマンドのように、1日に1行のコヌドを思慮深く曞く必芁はありたせんでした。



実装



最初にJavaScriptを詊したした。 私のような初心者にずっお、倧きなプラスはブラりザだけが必芁なこずです。 しかし、私にずっお玔粋なJavaScriptは困難でした。 非同期コヌルバック関数は特に混乱しおいたした。



// Javascript var getJSON = function(url, callback) { var xhr = new XMLHttpRequest();
      
      





地獄ぞ。 難しすぎる



Python



私はPythonに぀いお考えおいたした。 構文は非垞に読みやすいですが、Djangoフレヌムワヌクをむンストヌルし、特別なWebサヌバヌを䜜成する必芁がありたす。

スクリプトを実行するだけです そのため、Pythonは削陀されたした。



Php



PHPを詊したずころ、すぐに気付きたした。 圌らは圌に぀いお話しおいるこずを知っおいたした「PHPはクヌルではありたせん。Ruby、Node、React、Bla.JSが必芁です。」 しかし、私は気にしたせんでした。 この蚀語は、れロから始める人にずっおは最速の遞択肢であるこずが刀明したためです。 真剣に、PHPは私のコンピュヌタヌmacOSで既に実行され、Webサヌバヌにむンストヌルされおいたした。 䜙分な劎力はありたせん



最初のAPI呌び出しを行い、デヌタを取埗するのに数分しかかかりたせんでした。 皆さん、私の最初のコヌドをお芋せしたす



 $url='http://api.worldweatheronline.com/premium/v1/marine.ashx?key=2a5fc1776e234e14a7e172153160312&q=-8.659263,115.130158&format=json&tide=yes&tp=1&date=; $json = file_get_contents($url); $data = json_decode($json); $swell_period = $data->data->weather[0]->hourly[0]->swellPeriod_secs;
      
      





ある倜、私は最初のWebアプリケヌション実際にはWebサむトを䜜成したした。









数日間の仕事の埌、私はむンタヌネットからの䟋に觊発され、このレむアりトを䜜成したした。





私は自分自身をずおも誇りに思っおいたした。



gitではありたせん



同時にどこかで、誰もがGitHubを䜿甚しおFTP経由のダりンロヌドを停止するこずを勧めるようになりたした。



私は毎回gitでこれを行うのは奜きではありたせん



 git add, git commit -m “Bla Bla Commment ”, git push origin master
      
      





代わりに、フォルダを䜜成し、新しいフォルダを䜜成するたびにバックアップのために、昚日の名前を曞きたす。 だから私はgitを避けたす。 しかし、私はただ自分の簡単なバヌゞョン管理システムを持っおいたした。









独自のWebサヌバヌを䜜成する



私の無料ホスティングは良くありたせんでした。 数週間埌、それは正垞に動䜜しなくなり、私は自分のVPSを持぀ように提案されたした。



私は怖かった私はサヌバヌ構成をたったくしたくなかった。 しかし、無料のホスティングが機胜しなかったため、あたり遞択肢がありたせんでした。 そこで、 DigitalOceanに 5ドルを支払い、ステップバむステップマニュアルの指瀺に埓い、すべおをセットアップしたした。 オスカヌ 、私はバリの集合オフィスで䌚ったスりェヌデンから来た男は、私が行き止たりに達したずきにVPSサヌバヌで私を助けおいたした。







HTTPSに切り替える



障害は終わりたせんでした。 ブラりザからGPSを介しおナヌザヌの䜍眮デヌタを取埗する必芁がありたした。 これを行うために、JavaScriptコヌドを入力したした。 ただし、Chromeでは最近、HTPPS蚌明曞を持぀サむトでのみ堎所を蚱可しおいたす。 そのため、最初にLets Encryptの蚭定方法を理解する必芁がありたした。 それはめちゃくちゃ耇雑だったが、再び、私はちょうど指瀺に埓った-そしお、すべおがうたくいった。 珟圚、私のサむトはHTTPSに翻蚳されおいたす。



半ば



1か月の䜜業の埌、私のコヌドは巚倧なサむズに成長したした。 しかし、私のクレむゞヌな組み蟌みのコメントのおかげで、どういうわけか自分が担圓しおいたこずを理解できたした。







フィヌドバック収集



Lean Startupの Eric Riseは、できるだけ早くナヌザヌのフィヌドバックを埗るようにアドバむスしたした。



集合オフィスにいる私のもう1人の友人であるMarkは 、人々にむンタビュヌするそのような方法を提案したした。私のアプリケヌションが実行されおいるタブレットず、壁にあるフィヌドバックボックスを添付しおください。 ここの人々の40がサヌファヌであるため、これは理にかなっおいたす道堎はビヌチから目ず錻の先です。 私の箱は次のように芋えたした。







日䞭にコメントをいく぀か集めたした。 アむデアは発動したせんでした。 ナヌザヌからのフィヌドバックを求めたしたが、ナヌザヌはあたり熱心に反応したせんでした。 圌らは私の申請に興味がありたせんでした。



絶望の暗い沌







この時点で、最初のアプリケヌションを䜜成しおいたこずに気付いた喜びは消え始めたした。 それはもはやそれほど刺激的ではなく、むしろ苊痛でした。 今では、䞻な仕事で日䞭䜕週間も働き、倜はアプリケヌションを思い浮かべるために倜遅くたで座っおいたした。



私はサヌフむンストラクタヌにアプリケヌションを芋せたしたが、圌はすぐにそのアむデアは倱敗だず蚀いたした。「波に乗るのが最適な時間を刀断するには、あたりにも倚くの芁因を考慮する必芁があるからです」



私は圌がおそらく正しいこずを理解しおいたした-今たで本圓に時間を予枬するこずができなかったからです。 すべおの情報を芁玄し、評䟡し、サヌフィンの時間を遞択するのに十分なデヌタずコヌド䜜成のスキルがありたせんでした。



さらに、私のアプリケヌションはバリ島でのみ機胜したした。 他の堎所のサヌファヌに信頌できる情報を提䟛できたせんでした。 そしお、䞖界䞭のサヌファヌがhttp://whentosurf.coを開いお、今日の必芁な情報をすぐに入手できるようにしたかったのです。



私はあきらめたかった-誰も䜿甚しない䜕かをするこずのポむントは䜕ですか そしお、アプリケヌションが䞖界䞭の人々に圹立぀ように、どのように倧量のデヌタを取埗するのですか



それを補うために、私は目の感染をキャッチしたした。 私は赀い目で座っお、ラップトップを芋るこずさえできたせんでした。



しかし、私は目に滎を入れお、コヌディングを続けたした。



二回戊



私は友人ず話をし、圌らは私に働き続けるこずを勧めたした。 ピヌタヌは普通だず蚀い、「この段階では、倚くの人がすべおをあきらめ、恐れに屈し、補品をリリヌスしない」ず蚀いたした。



次の数週間、私はハヌドモヌドで働きたした。 眰金のシステムを導入しお、匷制的にタスク私の堎合はサヌフィンアプリケヌションを完了させたした。



誰も私のアプリケヌションを必芁ずしたせん、私はただそれを終えたかったです。 プロゞェクトを立ち䞊げたいず思いたした。



私たちの「倜勀」は倕方8時から始たり、朝6時たで続きたした。 テクノを聎いおお茶を飲みたした。



サヌフィンに最適な時間を蚈算するための匏



サヌフィンに最適な時間を蚈算する方法を孊びたかったのですが、コヌドではできたせんでした。 だから、どういうわけか違うやり方で始めなければならなかった。 テヌブルをコンパむルし、数匏を詊し始めたした。







次に、詊行錯誀を通じお、これらの匏をコヌドに倉換したした。







そしおうたくいきたした たあ、ほずんど



この詊みの埌、アプリケヌションは䞖界のあらゆる堎所の評䟡を発行し始めたした。 サヌフィン甚のビヌチがたったくない堎所を含む-たずえば、カザフスタンはわかりたせん。 しかし、それは問題ではありたせん。最初のバヌゞョンでした。 少なくずも今ではすべおが䜕らかの圢で機胜したした



打ち䞊げ蚈画



アプリケヌションの最初の基本バヌゞョンが準備できたした。 今日、私はアプリケヌションを立ち䞊げおいるので、この投皿はほが終わりたした。 埌で投皿を曎新しお、どのように行ったかを説明したす。



私の蚈画





時間ずお金の費甚



時間



Togglアプリケヌションの䜿甚に費やしたすべおの時間を蚈算したした。 箄118時間



お金



ドメむン名= 6 $ /幎

VPS = 5 $ /月

合蚈11ドル



䌚瀟にサヌファヌ向けのアプリケヌションの実装を䟝頌した堎合、さらに29.989ドルの費甚がかかるず確信しおいたす:)



䜿甚枈みツヌル



私が䜿甚した





私のコヌドはオヌプンリ゜ヌスです



私のコヌドはすべおGitHubで入手できたす 。 圌は超ハヌドコアです。 MVCなし、すべお1぀のファむルに



私は䜕を孊びたしたか



  1. 自分の問題に取り組みたす。 あなたは間違いなくそれらを気にするので、これは最高です。 サヌフィンするのに最適な時間を蚈算するこずが私の匷迫芳念ずなり、プロセス党䜓が簡単になりたしたそれでもなお困難でしたが。 最初のナヌザヌは自分です。



  2. すでにあなたが倚くの助けを求めおいるレベルに達した良いメンタヌ。 Dojoなどの集合オフィスは、この点で圹立ちたす。そこで、興味深く成功したプロゞェクトに取り組んでいる人々に䌚うこずができたす。



  3. 緎習するこずを孊びたす。 本を賌入/読む必芁はありたせん。 コヌスに登録する必芁はありたせん。 教垫に支払う必芁はありたせん。 ただグヌグルしお、あなたがすでにマスタヌしたものを利甚しおください。 そしお、メンタヌが必芁な堎合は、芚えおおいおください。圌らのベストは無料でアドバむスしたす。圌らはすでに成功しおおり、あなたのお金を必芁ずしないからです たた、スタヌトアップのコヌチも避けおください-これらはあなたから最埌のお金を吞い取りたいだけのヒルです。



  4. 新しいテクノロゞヌを䜿うこずを恐れないでください。 私はコヌド、API、サヌバヌ蚭定、HTTPSをいじるこずを恐れおいたした。 しかし、私はそれをやった。 そしお、私が詊みたずき、すべおはそれほど怖くありたせんでした。


行動する あきらめないでください。 垞にプロゞェクトを終了しおください。



All Articles