g9rga

Software engineer at Company
На Пикабу
Дата рождения: 29 июля
9661 рейтинг 51 подписчик 5 подписок 7 постов 4 в горячем

По поводу мобилизации

Сочувствую всем тем кто не поддерживал СВО изначально и теперь попадает под раздачу. Говорят что умный учится на чужих ошибках, я читаю ваши новости и вижу все то же самое что уже было у нас начиная с 24 февраля, потому хотел бы дать совет(для кого-то возможно очевидный) - если есть возможность и вы не хотите чтоб вас принудительно отправили на фронт - уезжайте, границы для военнообязанных могут перекрыть очень быстро(у нас это сделали одним днем). Мы с женой, к сожалению, не успели.

851

Как я строил дом. Поездка в Ирпень, часть 3

Все началось с того что мы с женой получили ключи от квартиры, которую выплатили в рассрочку(1шку в Киеве, насколько помню около 46 кв. м.), и я на выходных сел набрасывать планировку квартиры.

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

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

Наш выбор пал на Ирпень, но цены на землю заставили нас приуныть, потому что они просто заоблачные(в нормальном месте примерно $3k-$5k за сотку) и цены постоянно растут. Сначала искали подешевле, потом плюнули, потому что хочется жить в красивом месте и раскошелились на шикарный сосновый участок, размером в 10 соток, вот так он выглядел в прошлом году зимой(справа сосед):

Мы хотели себе каркасный дом в стиле барнхаус, потому нашли подрядчика который обязался все сделать в лучшем виде, подкопили денег для старта стройки и в начале осени приступили к строительству, мы хотели оставить как можно больше целых деревьев на участке, потому спилили по минимуму - одно большое дерево и ветку другого дерева:

Поставили забор:

Постепенно дом становился похожим на дом:

Уже зимой этого года как-то приехал посмотреть как идет стройка и дыхание перехватило, снег лежит, сосны стоят в снегу, красота неимоверная(с женой договорились посадить во дворе голубую ель и наряжать ее на новый год):

В целом шло хорошо(не считая того что расходы на стройку сильно отличались от того что запланировали), и мы планировали переехать в дом в конце апреля.


Но потом настало 24 февраля и я немного поплачусь. Как я писал в предыдущих постах, мы с женой уехали на день раньше из Киева, а работники которые строили дом, уехали уже после(отдельное спасибо им за то что когда уезжали, закрыли пленкой все окна и двери. Мы долгое время не знали что с нашим домом, учитывая ожесточенные бои предполагали что он мог сгореть, или же его могли разбомбить. Когда наконец-то получилось вырваться в Ирпень поехал посмотреть что с ним:

На первый взгляд все не так плохо - поломанный забор, разбитые окна, испорчен задний фасад. Ходить пришлось осторожно, эту часть Ирпеня тогда еще не разминировали, в здании напротив так и написано: "Осторожно мины". Зашел посмотреть поближе:

Забор проломлен, там где цел видны сколы(от пуль, осколков?):

Сам дом расстрелян, странно звучит, но именно так можно описать каркасный дом в который стреляли, куча сквозных отверстий когда пуля входит в одну стену и выходит из другой стены. Окон осталось целых примерно 30%, обидно что много где прострелена рама, т.е. такие окна уже нельзя восстановить, в крыше тоже дырки(фото не сделал, мокрый пол под дыркой в крыше говорит о том что все плохо):

Глядя на входную дверь складывается ощущение что кто-то специально стрелял, кто разбирается, это от осколков или пулевые отверстия?

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

Страшно подумать сколько это все будет стоить, сейчас нет ни денег ни желания что-то чинить - ситуация нестабильная и возможно вскоре от дома вообще ничего не останется.


В очередной раз задумался о том как хрупка наша жизнь и все что у нас есть, а наши планы всегда могут пойти по одному месту. Ну, по крайней мере мы пока живы, и то хорошо.


З.Ы. Упустил много деталей по строительству, потому что тогда пост вышел бы прям ооочень большим.

Показать полностью 16
198

Поезда в Ирпень. Часть 2

Недалеко от квартиры 23 февраля оставил машину, потому что место спокойное, было кому за ней присмотреть. Знать бы заранее что случится, ни за что бы не оставил. Было:

Стало(фото скинули жильцы с жк):

Есть страховка, но военные действия это не страховой случай.


После этого поехали с братом смотреть что с коммерческим помещением:

Окна все выбиты, но товар арендатора цел, спасибо решеткам. Мы предусмотрительно захватили с собой пленку чтоб их заклеить, на первое время пойдет:

Больше пока ничего делать не будем, неизвестно будет ли второй заход на Киев, не вижу смысла что-то сейчас ремонтировать.


По частному дому сделаю отдельный пост, хочу рассказать как шло строительство.

Показать полностью 7
396

Не судьба, часть 2

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

На этом хорошие новости закончиваются. Являюсь несчастным обладателем недвижимости в Ирпене(возле Киева), и как раз на выходных ездил смотреть как там дела. В первую очередь на квартиру, потому что там больше месяца стоял холодильник без электричества(сам холодильник удалось отмыть, но воняло знатно :)


Вот так выглядит дом во дворе напротив квартиры:

Моей квартире повезло больше, разбитое стекло и сквозное отверстие в стене, вот так это выглядит:

Я так понял что кусок металла пробил стену, ударился в другую, отлетел опять в ту стену через которую попал в квартиру и упал на стол.


Кроме квартиры в Ирпене перед отъездом 23 февраля я оставил свою машину(уехали на машине жены), там же осталось коммерческое помещение и почти достроенный дом, в который мы с женой планировали переехать в конце апреля. Если будет интересно что с этим всем стало, создам еще один пост.

Показать полностью 2 1
7253

Не судьба

Привет! Сам я из Киева, в последнее время осознал что много работаю, и решил прикупить себе видяшку, чтоб немного переключиться от работы, тем более у меня давно готов список игр которые я хотел бы пройти.

20го февраля довольный сходил в магазин, подключил видяшку, поставил cyberpank и подумал что жизнь то налаживается и наконец-то смогу отвести душу.

Не судьба

Ну а потом понеслось, признание ЛНР и ДНР, ввод туда же войск. Мы с женой решили что на всякий случай лучше уехать на недельку в Ивано-Франковск и 23его числа вечером уехали налегке сменить обстановку, а дальше вы все уже знаете из новостей.

В Киеве остался мой компьютер, а в голове мысль: "Не судьба"

Показать полностью

Как я решил сделать мобильное приложение[Part 2]

1 часть


Исходный код парсера и остальных компонентов приложения положил под систему контроля версий git, в качестве бесплатного хостинга приватных репозиториев я использовал github. В принципе, ничего сложного в настройке нет, создал репозиторий на github и проинициализировал его локально:

После этого развернул локально базу данных mysql в локальном k8s-кластере с помощью minikube + helm(взял 3 версию, до этого использовал 2, из явных плюсов увидел только отсутствие tiller)+ чарт bitnami/mysql(конфигурацию чарта опущу, там все по-умолчанию):

Спроектировал структуру базы данных, получилась не очень красиво, из-за большой вариативности данных, но это можно переделать потом:

Пара заметок по структуре базы данных:

- таблица recipe_parser и некоторые вспомогательные поля нужны для сохранения прогресса парсинга сайта между перезапусками парсера

- выбрал кодировку utf8mb4, потому что в контенте достаточно много emoji, и обычный utf8(трехбайтовый) их не может хранить

За структуру проекта для парсера, я взял golang-standards/project-layout. В принципе для такого мелкого приложения его можно было не использовать, но может кому-то будет полезно знать что есть такая штука, когда будет думать как структурировать проект. Получилось как-то так:

Соответственно:

* recipe-parser - это helm-чарт который я создал выше

* sql - папка с миграциями
* data - это папка с данными базы данных, ее необходимо хранить на хосте, чтоб не потерять данные если мой локальный кластер случайно удалится

* все остальное - код связанный с парсингом, конфиги, команды

Для написания самого парсера я использовал следующие пакеты:

- PuerkitoBio/goquery - для парсинга DOM страниц

- jmoiron/sqlx - для работы с базой данных

- sirupsen/logrus - как логгер

- spf13/cobra - для создания команд

- spf13/viper - для конфигурации приложения(yaml в папке configs)

Сам код парсера не вижу смысла выкладывать(технически он несложный), получились такие этапы:

- спарсить категории/подкатегории и записать в базу

- спарсить ссылки рецептов и записать в базу

- скачать все страницы с рецептами и записать на диск(кстати получилось достаточно много, почти 9gb данных):

- считать с диска страницы, распарсить и записать в базу данных

Везде где можно, я параллелил задачи с помощью горутин и буферизированных каналов для контроля количества потоков. Также на сайте присутствовала защита от ботов, но я ее обошел за счет того, что она работала неправильно. В результате получил на выходе базу данных с ~500 категориями и ~90к готовых рецептов с заголовком, описанием, картинками и шагами приготовления. Еще было бы неплохо выкачать все картинки и закинуть в свое облако(использую space от digital ocean), но это пока можно отложить.

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

В следующем посте собираюсь написать небольшой бекенд на php (и конечно засунуть все в docker :) , с которым будет работать мобильное приложение.

Показать полностью 8

Как я решил сделать мобильное приложение[Part 1]

Это первый пост из серии о том, как я сам делаю мобильное приложение, от идеи до реализации. Надеюсь кому-то это будет интересно как с технической стороны, так и для понимания процесса.


Сам я уже порядка восьми лет работаю бекенд-разработчиком (пишу преимущественно на php), но в свободное время люблю выучить что-то новое, тем более профессионального развития на текущем месте работы как такового нет.


Еще в прошлом году я полностью перешел на удаленную работу и для меня остро встал вопрос готовки еды. Я подумал о том что хорошо бы найти достойное приложение с рецептами, которое будет соответствовать некоторым требованиям:

- Бесплатное

- Без запроса личных данных понапрасну

- С умеренным количеством рекламы

- Большая база рецептов

- Поддержка оффлайн режима работы

- И различные мелкие фичи, например поиск по ингредиентам, список покупок если собрался что-то готовить и т.д.


В принципе, такие приложения есть, но я не буду программистом если не сделаю свой велосипед :)


Основные вопросы которые мне нужно решить для написания приложения:

- Где взять базу данных с рецептами?

- Какой функционал изначально должен быть в приложении?

- Какой технический стек нужен для реализации приложения?


Обо всем по порядку:


Где взять базу данных с рецептами?

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


Какой функционал изначально должен быть в приложении?

Это не первый мой личный проект, потому я давно для себя решил, что лучше зарелизить что-то в минимальном обьеме и наращивать функционал постепенно, чем строить космический корабль и не достроить его. Для себя я решил, что в первой итерации приложения будет:

- категории с рецептами, непременно с картинками

- поиск по рецептам и категориям

- избранные рецепты(нужно же отмечать те рецепты что мне понравились, чтоб использовать их потом еще раз :)


Какой технический стек нужен для реализации приложения?

Поразмыслив, я предварительно решил остановиться на:

- kubernetes + docker(containerd) + helm3 для локальной разработки и live

- golang для парсинга данных

- mysql в качестве хранилища данных

- php для бекенда, мобильное приложение будет получать данные из api

- elasticsearch - поисковый движок для поиска

- react native - платформа для мобильного приложения. У меня уже есть опыт написания нескольких приложений на этой платформе, тут не будут выдумывать ничего нового. Дополнительно возьму какой-то свободный UI kit, предварительно UI kitten, еще не решил.


На момент написания этого поста, я уже спарсил рецепты и сохранил их в базу данных, подробнее опишу в следующем посте.

Как я решил сделать мобильное приложение[Part 1]
Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества