Vova Rozhkov

Vova Rozhkov

Веб-скрапинг. Инструменты

Для скрапинга можно использовать всё что угодно. Вам нужно лишь сделать запрос, получить содержимое и дальше его разобрать. Теоретически, скрапинг можно делать на bash + какой-то программой для работы с xml. Библиотеки для работы с сетью и парсинга html есть во всех языках. Можете брать любой. Однако скрапинг помимо собственно запроса и обработки включает еще кучу всяких вещей. Вам нужно ходить по ссылкам и желательно делать это...

Веб-скрапинг

Интернет—бездонный океан информации. Часто она не структурирована и требует подготовки, чтобы быть полезной. Множество продуктов строят свою бизнес-модель на сборе и обработке данных. Веб-скрапинг—это автоматизированный сбор информации с сайтов и других источников: публичных API, файлов с данными и так далее. Скрапинг нужен везде и всегда. Первый раз я столкнулся с этим в 2010, когда мы были совладельцами маленькой сети зоомагазинов и нужно было искать...

Мудрости из интернета, «7 takeaways on how to do things», «Here what I learned»

Читая твиттер или рассылки часто попадаю на всякие списки людей которые что-то там прочитали или сделали и вот они пишут уроки, которые извлекли. Напоминаю себе, что чтение такого рода материалов это то же самое что и productivity porn, где люди рассказывают как классно они организовали свои дела в определённой программе или по определённой методике. Чтение материалов вроде "15 ключевых характеристик для технического кофаундера" не...

Оновлення бібліотек на проектах

"Rotting software" це серйозна проблема. Вибухове зростання індустрії генерує таке ж зростання кількості інструментів розробки та пришвидшує старіння існуючих рішень. В 2015 для розробки стартапа ми взяли мікросервіси та Spring Cloud Netflix [https://spring.io/projects/spring-cloud-netflix]. До 2017 половину з цього стеку сам Netflix перевів у maintenance режим, а деякі рішення просто задепрекейтив у себе та залишив напризволяще. Ми ще не встигли вийти...

IDE против текстового редактора

Основной мой рабочий инструмент—IntelliJ IDEA. В нем я делаю вcё. Основной аргумент сторонников работы в текстовых редакторах—это минимализм, простота, скорость. По поводу производительности всего что сделано на электроне есть вопросы. А вот с минимализмом и простотой сложнее. Для работы мне нужно несколько вещей: собственно редактор с хорошим автокомплитом и навигацией, дебаггер для java/ruby/python, инструмент для доступа к базам данных, возможность запускать приложения...

Архитектура современных веб-приложений на примере adopt.com.ua. CMS. Мониторинг. Аналитика

Так как у меня нет тестов кроме линтеров, то нужно быть готовым быстро фиксить ошибки на проде. Для этого используются логгеры и трекеры ошибок. Логгер я не использую, так как у меня пока что нечего логировать особо. А вот для трекинга ошибок я пользуюсь отличным сервисом Sentry [https://sentry.io/]. Как он работает? Вы подключаете SDK в своё приложение, и при возникновении любой ошибки она будет...

Архитектура современных веб-приложений на примере adopt.com.ua. Масштабирование

Предущие части: введение [https://www.rozhkov.me/modern-web-applications-architecture/], внешние сервисы [https://www.rozhkov.me/modern-web-applications-architecture-cdn-email/] Сейчас вся моя инфраструктура крутится на самых дешёвых и простых инстантсах. 512 мегабайт памяти, редис на 25 мегабайт, какой-то дохлый постгрес. Всего этого хватает чтобы сайт бодро работал. Что будет, если завтра ко мне придет не 1000 пользователей в день, а 1000000? Чтобы это узнать, нужно проводить нагрузочное тес...

Архитектура современных веб-приложений на примере adopt.com.ua. Внешние сервисы

В предыдущей части я рассказал о ядре [https://www.rozhkov.me/modern-web-applications-architecture/]. Теперь пройдемся о внешних вещах. На Heroku эфемерная файловая система. Это значит, что после перезагрузки инстанса, например при редеплое, все записанные файлы пропадут. Основной контент сайта—это фото, поэтому их нужно где-то хранить. Для этого мы используем AWS S3 [https://aws.amazon.com/s3/]. Файлы прозрачно загружаются на S3 с помощью RoR, для этого...

Таймкоди до стріму з Олександром Соловйовим: Clojure, як стати CTO, складність бізнесу

Саша в Ютубі: https://www.youtube.com/channel/UChAo... [https://www.youtube.com/channel/UChAorxVcXUA9MWSLuHLQX3w] Твітер: https://twitter.com/asolovyov Телеграм канал: https://t.me/bitethebyte​ Та сама крутезна доповідь про FRP: https://www.youtube.com/watch?v=R4sTv... [https://www.youtube.com/watch?v=R4sTvHXkToQ&t=0s]​ Топ тем для тих у кого мало часу: 00:15:40 [https://www.youtube.com/watch?v=...

Архитектура современных веб-приложений на примере adopt.com.ua

Я разработчик сервиса по пристройству животных — https://www.adopt.com.ua/ [https://www.adopt.com.ua] Там вы можете найти себе друга—котика или собачку. Хотя сайт простой, я применяю те же подходы для разработки своих коммерческих проектов. Если бы у меня стояла задача делать стартап, то я всё делал бы так же. Расскажу о том, как всё устроено внутри. Сайт сделан на Ruby on Rails...

Почему кошки могут ссать мимо лотка?

Есть у меня одна кошка, зовут Пуша. Вот она на адопте: https://www.adopt.com.ua/pets/533 Полгода назад где-то мы заметили что Пуша стала ссать мимо лотка, во всяких укромных местах. В питании и остальном вроде ничего не менялось, до этого чётко ходила в лоток. Подозрение упало на проблемы с мочеполовой системой. Если кошка испытывает боль при мочеиспускании, то она может ассоциировать лоток с...

Когда полезно уметь в leetcode

На той неделе я писал о том, что знания алгоритмов и умение быстро решать задачи из литкода мне никогда не пригождались [https://www.rozhkov.me/useless-computer-science-knoweledge/]. Ну что ж, instant karma! На выходных я писал компилятор телеграмовских сообщений в html—это нужно для двухсторонней синхронизации с Ghost. Взял собщение из телеги, конвертнул в html, засунул в Ghost, получил пост на сайте, Profit! Изи таска. Телеграм присылает...

Доступність

Останнім часом багато думаю про «доступність». Під цим розумію простоту в робленні будь-чого. Доступність є ключовим фактором у подоланні шкідливих звичок та напрацюванні корисних. Доступність може сильно повпливати на успішність продукту. Якщо у мене цілодобово відкритий робочий месенджер, то я стаю   більш доступним для роботи. Наприклад вже вечір, я перейшов у режим «відпочинку», але насправді прокрастиную у твіттері, і тут мені пише колега. Якщо месенджер відкритий,...

daliy rozhok №3: скучная жизнь, сефл-хелп книги, бесит интернет

Дайджест канала @daily_rozhok [https://t.me/daily_rozhok] где я пишу про рандомные вещи. Сегодня в меню: Необходимость взаимодействия с разными людьми в интернете, часто поджигает мне задницу: Бомбанул от критики [https://www.rozhkov.me/daily/hurt-from-criticism/]—как я ввязался в срач в комментах к своему же посту и проиграл. Что нужно было делать чтобы не проиграть. Shadowban [https://www.rozhkov.me/daily/shadowban/]—фича...

Прочитал «Predictably Irrational»

Прочитал давеча книгу "Предсказуемая иррациональность" в українському перекладі [https://nashformat.ua/products/peredbachuvana-irratsionalnist-901853]. Это уже не про селф-хелп. Автор позиционирует себя как "поведенческого экономиста" и увтерждает, что рынок сделан так, как будто все его учасники ведут себя рационально, хотя на самом деле люди постоянно совершают нерациональные поступки, которые, несмотря на их иррациональную суть, можно предугадывать и использовать в своих целях. Книга это...

Клубхауз и польза

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