От души улыбнуло )))
Вышло около 118 часов
время = деньги. Даже по минимальному тарифу в $10, получится $1180 затрат. К этому можно смело добавлять процентов 20-30 неучтенного времени.

Если бы я попросил какую-нибудь компанию реализовать мое приложение для серферов, уверен, это бы мне стоило на $29,989 больше :)

Если в том объеме, что сейчас, то нормальному фрилансеру, это было бы часов так 30 и стоимость максимум в $1000. Максимум. + часов 10 собственного времени на составления нормально тех. плана. В компании можно было был удвоить эту суммы (если конечно компания не Лебедев и Ко)

Так что это можно рассматривать исключительно как проект на самообучение.

p.s. да и сервер можно было бы настроить лучше, потратив на это всего часа 2, с авто диплоем из vc, h2 и т.п…
Если в том объеме, что сейчас, то нормальному фрилансеру, это было бы часов так 30 и стоимость максимум в $1000

Чтобы найти нормального фрилансера нужно попытки 3, а если не повезет, то и больше.
Серфинг это опасное для жизни/здоровья занятие, которое крайне сложно освоить без инструктора, или, по крайней мере, без самостоятельного освоения параметров, отражённых на сайтах типа magicseaweed. По идее, хорошие инструкторы сами должны рассказывать начинающим в какое время им лучше проводить занятия, рассказывать как обращаться со специализированными сайтами, рассказывать как понять водоём, смотря на него, и когда следует заходить в воду, а когда лучше посидеть на берегу и поизучать программирование. И в первую очередь для того, чтобы это было безопасно.

Вы уверены, что не обладая достаточными теоретическими основами про серфинг, Вы сможете создать сервис, который будет действительно полезен людям, и не навредит их здоровью?
Мне не нравится каждый раз делать так с git:…
Вместо этого я просто создал папку, а для бэкапов каждый раз делаю новую, прописывая в названии вчерашнюю дату. Так я избегаю git. Но собственная незамысловатая система управления версиями у меня все-таки была.

Вот же нонконформист. Скорее всего он даже не пытался разобраться для чего git и как работает.
Зачем нужен гит при разработке в одного?
История изменений, возможность откатиться, залить код на какой-нибудь Гитхаб или Битбакет, вести учёт задач в Issues, сделать простой деплой на сервер… Это то, что сразу приходит в голову.
Это все круто, но зачем мне это для демки в 100-1000 строк кода как у автора?
Тут все просто — если вы не понимаете зачем, то вам и не нужно.
Ололо, налетели. Разработка бывает уровня «запилил за вечер демку» — что собственно в этом посте и описано — все это там не нужно.
Согласен, там не нужно. Но вы же написали «Зачем нужен гит при разработке в одного?», а не «Зачем нужен гит при разработке демки в 100 строк?».
Зашел на сайт, разрешил определение местоположения. Увидел надпись «Small waves today». Для моего города такая информация говорит о наступлении апокалипсиса.
Я понимаю, что Норильск не лучшее место для серфинга, возможно, даже одно из худших, но все же, предположим, что я упертый и хочу покататься на снегу, но не знаю, хорошая ли там погодка.
https://whentosurf.co/norilsk
Но суть-то в чем… Успехов тебе, человек.
На хабре плохая погодка https://whentosurf.co/habr
Стараться закончить свой проект — похвально. Увлечься идеей, которая заставит освоить что-то новое — похвально. Но…

$data->data->...
Это не «научился кодить». Это «как я быстро налячкал, чтобы работало». И снова же — это тоже похвально. Но давайте уважать труд программистов, для которых кодинг — это еще и особый вид наслаждения.

Это потому что:


"Не надо покупать/читать книги. Не надо записываться на курсы. Не надо платить учителям"

Отчасти он автор конечно прав — практика очень важна. Но теорию подтягивать тоже временами нужно :)

Мне не нравится каждый раз делать так с git:
git add, git commit -m “Bla Bla Commment ”, git push origin master

Вместо этого я просто создал папку, а для бэкапов каждый раз делаю новую, прописывая в названии вчерашнюю дату

В контексте заголовка, кодить-то может и научился… а вот разрабатывать пока нет.
Меня восхищают такие темы «как я научился кодить, запустил веб-приложение и бла-бла-бла». Особенно если не понятно, что является целью — таки «кодить» или таки «запустить приложение для себя». Восхищают в негативном смысле, поэтому чувства — весьма двойственные:
С одной стороны — это весьма хорошо, что отдельно взятый человек смог разобраться, написать и запустить что-то, что было нужно ему. Ещё более хорошо, что это даже нашло отклик у кого-то ещё. Совсем круто, когда это считается новомодным словом — стартап! Ибо слово это в тренде и широкоузнаваемо…
НО(!)
С другой стороны — результирующая оценка и отношение к такому «кодингу» у меня скорее отрицательные. Ибо это даже не кодинг это, как уже было указано кем-то в комментах — скорее обучение, причём — фрагментарное. По принципу: надо — впихнул, не надо — даже не смотришь и уж тем более не разбираешься — зачем это. Банальный пример мотивации, прослеживаемый в тексте: https был внедрён не потому что он нужен, чтобы сохранить данные закрытыми и не позволять в них шариться кому попало, а… потому что какой-то там сервис отказывался работать без https. Т.е. присутствует явное нарушение причинно-следственной связи. Аргументация типа: «не нравится git» или «весь код в одном файле» — лишь поддерживают это мнение. Человеку это не нужно постоянно, а значит — не буду разбираться, а соответственно и пользоваться/делить файл на логические модули.

Т.е. если целью было: создать лично для себя инструмент для чтения данных серфинга — то результат более чем успешен. Поздравляю.
Если же результат планировался: «научиться правильно кодить» и «запускать вебприложения» — то увы.

P.S. Принципы же Питера Левелса — не выдерживают никакой критики [ИМХО]. Мало того — стартап если и можно так запустить, то сомнительно, что он далеко «улетит». Как минимум потому, что делать для «долгополётного» стартапа всё одному — это из области фантастики.
Вы как бы по большей части правы, но тут есть один важный момент — обучаться «как делать правильно» после того как что-то слепил на коленке становится в 100 раз проще и интереснее, когда ты уже увидел результат своими глазами (ибо сам слепил) и теперь понимаешь всю боль, связанную с неумением организовывать код, делать его понятным, поддерживаемым и так далее. Если бы он все делал «как надо» со старта по книгам и так далее, то он бы скорее всего забил через неделю, уснув в очередной раз на какой-нибудь главе заумной фундаментальной книги, недоумевая, как же ему эта информация поможет в создании сайта для серферов.

Я вот например фундаментальные книги по JS сел читать только через полгода+ клепания всего подряд с jQuery, ибо мне в начале был важен результат (а глаза у меня были горящие) и только лишь со временем я начал понимать, что мне не хватает понимания того, как все это работает без сахара. И читать все эти книги было намного интереснее и проще, четко осознавая суть и предназначение каждой главы, вспоминая реальные примеры из жизни, а не аморфные куски кода.
Любопытно что большинство комментариев в стиле «фу, говнокод!». В то время как пост отнюдь не про красоту кода, а про запуск продукта своими силами при минимальных вложениях. Если хватит сил и упорства растолкать сервис до уровня первых денег — автор наймет специально обученных пхп людей, рассуждающих о говнокод, и они перепишут ему все в более скалируемый и пристойный вид. А автор в это время будет изучать уже другие вещи — управление командой, маркетинг и продвижение, и.т.д. Идти вперед, одним словом.

Так что удачи на этом нелегком пути! Если есть работающий результат — значит все сделано верно.
да тут не в коде даже дело. Нам преподносится это как пример, но надо задуматься — а действительно ли это хороший пример.

«про запуск продукта своими силами при минимальных вложениях»
А являются ли более чем сотня часов на одностраничный сайт «минимальным вложением»? К этому надо добавить еще время людей, которые вроде как консультировали его.

Если так смотреть по его архитектуре, то ему вообще php не нужен был. Тут серверная часть нужна была бы, если только для кэширования ответов от погодных серверов. Но я так думаю, он этого даже в своем php коде и не делал. А, у него там еще форма подписки на оповещение на лучшие волны в определенной местности, и когда-то это возможно понадобиться, но сейчас это просто пустышка — он собирает emails на mailchamp даже без локаций людей.

А так — JS + использование github в качестве хостинга для данной страницы. И время на minimum viable product сужается часов так до 20(из которых 10 часов на выведение формулы). По деньгам — Доменное имя = 6$ / год.
Все верно. Но автор же написал — JS у него не пошел. Так что на мой взгляд, это как раз таки очень показательный положительный пример — именно за счет своей невообразимой корявости. Парень сделал как умел. Если заглянуть внутрь — то топорно и нелепо. Можно было проще и быстрее. Зато оно как-то работает. Его можно показывать, рекламировать, развивать и переписывать.

У большей же части тех кто знает как написать все прекраснейшим образом, и высокомерно рассуждают о говнокоде — нет никакого своего, пусть даже такого зачаточного, продукта.
Нет своего, потому как на работе достаточно кода пишется и всяких формул разной степени бредовости придумывается(к сожалению). А вне этого можно, например, строить дом. Но хвастаться перед строителями «смотрите, я научился забивать гвозди, а уровень мне не нужен, потому как его не понимаю» не приходит в голову.
И да, когда-то были свои проекты и они даже живут сейчас более-менее, что-то делалось в процессе изучения нового языка, потом переделывалось нормально (или чуть более нормально), но тогда было больше сил и времени сидеть за компом.
«Парень сделал как умел. Если заглянуть внутрь — то топорно и нелепо. Можно было проще и быстрее. Зато оно как-то работает. „- тоесть этот пост про продукт, который “хоть как-то работает». Очаровательный пример подает автор. Продукт «может быть дойдет до уровня первых денег», зато он уже тяп-ляп работает.
На данные мысли и выводы «о коде» лично меня сподвигает начало заголовка: «Как я научился кодить...». Мало того — это идёт аж первым посылом, но скорее ситуация похожа на — «я узнал как стандартные конструкцие зафигачить, чтобы всё работало и не сильно глючило».

И заметьте, что по поводу выхода проекта — вопросов нет — народ скорее как раз поздравляет с запуском. Работающий результат хорошо, но ответьте сами себе честно — парень таки «научился кодить», как он сам позиционирует?
Видимо тут важна роль в восприятии читателя, который концентрируется на том, что ближе ему. В заголовке ведь не только начало есть. Да и в статье акцента на том чтобы именно научиться кодить, тем более «научиться хорошо кодить» я не замечаю. Конечно же нельзя считать что парень теперь программист. Но он вроде как и не стремится.
«Учитесь на практике. Не надо покупать/читать книги. Не надо записываться на курсы. Не надо платить учителям. Просто гуглите и пользуйтесь тем, что уже освоили.»

Лично я именно так и обучился программированию и добрался до позиции архитектора всего за несколько лет. Но я бы еще добавил что нужно еще читать официальные документации, свежие технические статьи на тему, смотреть видео с конференций (желательно с Кремниевой долины, на английском) и т.д. для получения более актуальной информации.

Очень многое еще зависит и от мотивации: либо это страсть к созданию чего-то нового и полезного людям либо это просто страсть к деньгам. К сожалению, большинство разработчиков с которыми я работал и работаю сейчас относятся именно ко второму типу. Так вот, этот тип людей еще и довольно ленив и не хочет прилагать практически никаких или минимум усилий и времени для саморазвития. Они просто работают за зарплату.

Хотелось еще добавить про новичков, вчерашних студентах, в большей массе не умеющих самостоятельно решать проблемы в принципе (за собой такого не замечал). Мне кажется это проблема именно нашего образования, прививающего людям шаблонное мышление. Дети просто привыкают что всю необходимую информацию им всегда преподносят прямо на блюдичке и даже рассказывают и показывают как решить конкретную задачу. Нужно просто воспользовать предоставленным шаблоном.

В английском языке нравится определение «strong problem solvers», в русском языке аналог для этого наверное «решалы». По моему мнению, именно это и есть правильное определение настоящего программиста.

P.S. Программированию нельзя обучить, ему можно только обучиться.
Только не git

Где-то в это же время все наперебой стали советовать мне использовать GitHub и прекратить загрузку через FTP.

Мне не нравится каждый раз делать так с git:

Если взять Mercurial через лучший GUI для систем контроля версий TortoiseHg, то использование систем контроля версий очень даже понравится.
Не понятно почему «перевод» когда автор статьи Вы же, ну да ладно. Не суть. Я живу на юге Португалии и здесь все сёрферы используют windguru. Не увидел упоминания о нем, возможно не встречали и найдете для себя полезные данные на нем. Удачи с проектом.
Круто, мои поздравления :) Я знаком с чувством гордости, когда создаёшь что то сложное в первый раз, потом ещё сложнее задачу решаешь и понимаешь — нет предела совершенству, главное не останавливаться на достигнутом.
«Учитесь на практике. Не надо покупать/читать книги. Не надо записываться на курсы. Не надо платить учителям. Просто гуглите и пользуйтесь тем, что уже освоили. А если вам нужны наставники, имейте в виду: лучшие из них консультируют бесплатно, потому что они уже успешны и не нуждаются в ваших деньгах!»- вот уж «молодо-зелено». На практике Возможно учиться только тогда, когда уже Есть определенная Теоретическая база. Книги не покупать и не читать? Автор серьезно думает, что гугл заменит ему все книги? На курсы не записываться? Автор всерьез уверен, что он Сам может Все изучить, без посторонней помощи?
Пусть код написан на пхп в стиле хоп-хоп и в продакшен.
Пусть сайт работает криво.
Пусть автор потратил много личного времени.

Самое главное — он уже прошел весь путь от идеи до готового продукта. С тысячей препятствий на пути.
Появился целый готовый проект в его портфолио. Появились знания и опыт. И следующая идея пойдет уже по проторенному пути, выйдет быстрее, более проработанной.

Что касается обучения не по книгам, а по google. Я согласен с этим утверждением. Иначе, следуя логике некоторых комментирующих, автору нужно было прочитать книги по PHP, JavaScript, по сетевым протоколам, по системам контроля версий, базам данных, взять платные курсы маркетинга и продаж, SEO, и конечно же администрированию Linux.
Многие так и делают. Но до готового продукта так и не доходит, потому что сил и времени нет — не все книги из списка еще прочитаны.
Но статья, в принципе, полезная. Не, ничего нового для разработки продуктов я не нашел, но кое-что уяснил на случай, если захочу получить с свое портфолио продукт, про который можно будет сказать, что он занимал хорошее место на Product Hunt.

Как продукт, When To Surf слабый, никакой. Как тут уже упоминали, в нем нет ничего особенного, уникально. По wind/surface forecast можно найти десятки профессиональных приложений (с вполне понятным и удобным интерфейсом). Приложений в основе которых лежат более серьезные алгоритмы и больше данных. У автора — ну что-то покликал в Excel, вроде стало что-то похоже на правду(что-то похоже, т.к. даже в комментах на PH отмечают, что прогноз так себе). Прогноз дается только вот только на сейчас и все.

В чем же успех на Product Hunt? Во-первых, достаточно узкая ниша где требуется достаточно мало upvotes, что бы выйти в топы. Во-вторых, эти голоса собрал не продукт, нет. Голоса получены за историю, которые вы видите выше. Большинству(а это такие же предприниматели как автор) это история(не продукт) показалась как пример успеха и борьбы(там так и пишут, «ну я не знаю как продукт, но мне понравилась твоя история»). Думаю, им было бы сложно понять, что на самом деле это «много букв», а результат примерно на уровне «история о том как я написал свою первую лабораторную работу в первом триместре, первого курса».
У гита есть приложения для создания коммитов. Мне нравится приложение от BitBucket — SourceTree. Там коммит создается в два клика, очень удобно и не сильно отнимает время, зато деплой без фтп упрощаяется в разы)
В Караганде пишет, хорошие условия для сёрфинга :) Логику надо бы подправить)
В довершение всего я подхватил глазную инфекцию.

И что, никто не пошутил до сих пор, что это из-за Линукса? :)

На деле же советы, которые не технические, для меня ценны. Что касается именно технической стороны вопроса — тут да, согласен, нет смысла повторяться, что этот проект можно расценивать только как углубление в познания и приобретение опыта. В остальном фрилансер справился бы лучше и дешевле, так что я в какой-то мере пытаюсь сейчас реализовать именно этот путь — так мое ви́дение не будет размазано по коду. Сложно рубить джунгли с помощью мачете для прокладывания дороги и одновременно смотреть вперед поверх леса, чтобы быть уверенным, туда ли ты рубишь. Посему грамотный лидер будет делегировать, но сконцентрируется на том, что в его проекте реально никто другой не сделает — на ядре, идее, направлении, ви́дении.
Возможно совсем дилетантский вопрос. Напишите, чуть подробней про переход на https. Хотя бы перечислите основные действия. Спасибо за статью. Удачи Вам.
Сайты переводятся на https путем получения (покупки) сертификата и настройки сервера.
Настроить сервер: http://nginx.org/ru/docs/http/configuring_https_servers.html
Купить сертификат: https://www.reg.ru/ssl-certificate/
Тут как раз была отличная статья недавно по теме: https://habrahabr.ru/post/318952
Ага, спасибо.
От меня несколько ушел один момент: автор разрабатывает приложение в одиночку. Однако что значит «Мы ввели систему денежных штрафов, чтобы заставить себя закончить задачи, в моем случае – приложение для серфинга». «Мы» — это кто? Автор ввел систему денежных штрафов штрафуя самого себя? Он что, раздает деньги другим в этом случае, лишая их самого себя? :D
Альтруизм в виде GitHub — это, конечно, очень хорошо и полезно, но не в том формате. Он прекрасно подойдет для некоммерческих проектов. Однако если автор начал статью с того, что он работает в офисе, но всегда мечтал иметь собственный проект, все-таки в дальнейшем он планирует работать на себя, а не на дядю? Иначе очевидно что если проект взлетит и станет действительно крупным, его будет практически невозможно поддерживать в одиночку, да еще и совмещая это с основной работой. Потребуется команда, которую тоже нужно на что-то содержать. В связи с этим можно сделать вывод, что проект предполагает принесение прибыли, но как следствие, проектом на GitHub, любезно предоставленный автором, может воспользоваться кто-то, кто имеет широкие возможности и для его продвижения.
Я попробовал PHP и сразу понял: вот оно.
О, нет, нет, нет!
Только зарегистрированные пользователи могут оставлять комментарии.
Войдите, пожалуйста.