Pull to refresh
1
0
xRay @xRay

Пользователь

Send message

Обзор книги «Data Science. Наука о данных с нуля», отличная книга для начинающих

Reading time10 min
Views16K

Всем доброго времени суток! Так как о Data Science мы слышим всё чаще и чаще, предлагаю вам обзор книги, что будет полезна для начинающих.

Публикую обзор книги с моего телеграмм-канала IT-старт t.me/it_begin на книгу "Data Science.Наука о данных для начинающих".

Автор книги Джоэл Грас.

Стоит читать? Да! Почему? Опишу в статье.

Читать далее
Total votes 8: ↑6 and ↓2+6
Comments3

Гексагональная архитектура и DDD на опыте интернет-магазина Спортмастер. Как дела с кодом?

Reading time5 min
Views8.3K

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

Как я уже писал, мы взяли из DDD тактические шаблоны.

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

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

Для этого используются уникальные идентификаторы.

Сущность в коде нашего проекта должна иметь:

Читать далее
Total votes 14: ↑12 and ↓2+12
Comments6

Наши 5 лет с инфраструктурой «ВсеИнструменты.ру»: от нескольких ВМ до отказоустойчивого решения в трёх дата-центрах

Reading time13 min
Views13K

Cтатья посвящена проекту «ВсеИнструменты.ру» — крупнейшему интернет-магазину DIY-товаров и нашему клиенту по совместительству. Расскажем, с чего начинали сотрудничество более пяти лет назад, как сейчас обстоят дела и куда мы вместе идём. Поговорим о сопровождавших этот путь технических вызовах и особенностях решений в инфраструктуре, которые позволили бизнесу добиться впечатляющего роста.

«ВсеИнструменты.ру» — изначально онлайн-ритейлер товаров для дома и дачи, строительства и ремонта. С 2006 года активно развивает сеть фирменных торговых точек, а в настоящее время насчитывает более 600 собственных магазинов в 264 городах России и маркетплейс. Численность сотрудников превышает 7000 человек. 93% продаж приходится на онлайн, а это порядка 1000 RPS и ~1 млн уникальных посетителей в день.

Читать далее
Total votes 62: ↑60 and ↓2+71
Comments20

Как я создавал эргономичное рабочее место для себя и теперь предлагаю другим. Часть 1

Reading time12 min
Views88K

Привет, Хабр! Меня зовут Денис Захаров. Я занимаюсь разработкой веб приложений на протяжении уже 14 лет, но история будет не об этом. Расскажу о том, как и почему я создавал эргономичное рабочее место, которое в последствии превратилось в проект Easyworkstation. Эта штука уже несколько лет полностью заменяет мне и еще нескольким десяткам пользователей привычное компьютерное кресло и рабочий стол.

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

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

А теперь ретроспектива
Total votes 300: ↑300 and ↓0+300
Comments206

Краткое руководство по работе с данными с помощью Miller

Reading time3 min
Views3.2K


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи, в которой рассказывается о Miller — автономном, легковесном и мощном интерфейсе командной строки (Command Line Interface, CLI) для работы с данными в форматах CSV, JSON и некоторых других.


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments7

Как увеличить продажи в интернет-магазине с помощью объединения корзины и чекаута

Reading time5 min
Views2.7K

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

В данном материале я хочу рассказать про одностраничное оформление заказа и его влияние на конверсию интернет-магазина.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments4

Google foobar challenge — это для себя

Reading time4 min
Views7.2K

Здравствуйте, уважаемые хабровчане! Хотел бы поделиться мыслями и впечатлениями по поводу только что завершённого Google foobar code challenge.

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

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

Если подытожить кратко, то этот вызов — подарок судьбы, инструмент для личного и профессионального саморазвития, этап профессионального роста. Но это ни в коем случае не повод для "фаллометрии" и для демонстрации своего превосходства. Google foobar challenge — это для себя.

Первое, что хочется отметить: этот вызов — удача, которой ещё нужно правильно воспользоваться. Каким образом система выбирает кандидата — неизвестно. Точнее, примерно понятно, что по истории поисковых запросов. Но, также, понятно, что подбор очень нетривиальный, высокоинтеллектуальный, и, вполне вероятно, что с вмешательством живых людей. Не стоит ожидать что удастся схитрить. Да, можно пытаться заставить систему выбрать именно вас, открывая в десятке браузеров сотни вкладок со stackoverflow, но, разумнее, не спешить, просто жить своей обычной жизнью, работать и ждать когда это случится само, когда вселенная решит, что время пришло.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments2

В очередь, ...! Как управлять состоянием системы через события

Reading time11 min
Views9.4K

Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие А -> Компонент Б и зачем это нужно?

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments14

Парсим сайты с защитой от ботов

Reading time26 min
Views35K

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

Речь не идет о каком-либо виде "взлома" или о создании повышенной нагрузки на сайт. Мы будем автоматизировать то, что и так можно сделать вручную.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments16

Интернет-цензура и обход блокировок: не время расслабляться

Reading time10 min
Views160K

Disclaimer: практически всё описанное в статье, не является чем-то принципиально новым или инновационным - оно давно известно и придумано, используется в разных странах мира, реализовано в коде и описано в научных и технических публикациях, поэтому никакого ящика Пандоры я не открываю.

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

Читать далее
Total votes 259: ↑254 and ↓5+319
Comments518

Obsidian + Dataview: Таблицы

Reading time8 min
Views57K

На статью меня вдохновил этот комментарий .

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

Это такой своеобразный аналог Notion-таблиц, где можно создать таблицу с бесконечной вложенностью (таблица, внутри одной ячейки, а внутри еще таблица и еще и еще).

На КДПВ как раз собраны четыре кейса реализации функционала плагина Dataview.

Как всё это работает

1. Dataview работает на встроенном языке запросов

2. Все запросы должны писаться внутри подобного блока кода:

А разбирать каждый кейс будем под катом.
Total votes 26: ↑26 and ↓0+26
Comments38

Укрепление Nginx с помощью Fail2ban: тестируем и оцениваем «профит»

Reading time10 min
Views20K

«Только запустил Nginx-приложение, а в access.log уже десятки записей с непонятными запросами, переборами паролей и другого» — типичная ситуация для незащищенного сервера. Это следствие работы «ботов» для сканирования белых сетей, поиска открытых портов, сбора информации о версиях запущенных служб и подбора паролей к сервисам.

В статье расскажу, как с помощью open source-инструмента Fail2ban укрепить Nginx и защитить сервисы от взлома. А также продемонстрирую способы блокирования DDoS-атак. Подробности под катом.
Читать дальше →
Total votes 45: ↑43 and ↓2+49
Comments47

Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство

Reading time8 min
Views289K

Постоянно откладываешь дела на потом и не видишь в этом проблемы? Мне это знакомо. Расскажу как не повторить моих ошибок и почему пора это прекращать. Не откладывай эту статью на потом!

Начать читать
Total votes 125: ↑100 and ↓25+95
Comments174

Самодельное электронное шумоподавление для квартиры

Reading time9 min
Views66K
Картинка kickstarter

Звук в нашей жизни играет большую роль, однако, «не все звуки одинаково полезны»:-), некоторые из них носят отрицательный характер, и учёные работают над тем, чтобы преуменьшить их влияние. Среди подобных звуков можно назвать шум разного рода, который, как усложняет восприятие целевой информации, например, в наушниках или открытых помещениях, так и вносит свою лепту в процесс звукового загрязнения окружающей среды. И в связи с этим, мы попробуем подумать, а насколько реально создать своё шумоподавляющее устройство, но не для наушников?

Читать дальше →
Total votes 64: ↑61 and ↓3+78
Comments111

Linkkraft: делаю offline-first браузер, который организует открытые вкладки и персональные заметки

Reading time4 min
Views7.3K

Расскажу про браузер/персональная базу знаний, который делаю. А также про источники вдохновления (например, хабр в 2009) и альтернативные решения проблем.

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

Читать далее
Total votes 44: ↑44 and ↓0+44
Comments68

Определение ботов на сайте с помощью нейронных сетей

Reading time4 min
Views7.1K

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments14

Выходя за рамки ООП. Разработка расширений для PHP на PHP

Reading time13 min
Views8.8K

Какие есть границы в PHP? Синтаксические они или это рантайм, или же просто ограничения языка, которые нельзя обойти. Почему они существуют? Давайте посмотрим как преодолеть границы живого языка и как взломать его изнутри. Это же всегда интересно?

В этом нам поможет Александр Лисаченко. Он автор аспектно-ориентированного фреймворка Go! AOP и вообще гуру в Enterprise архитектуре.

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments10

Как я нахожу парковочное место за 5 секунд

Reading time5 min
Views112K

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

Читать далее
Total votes 214: ↑213 and ↓1+271
Comments339

Собираем бесшумный ПК без заморочек

Reading time11 min
Views55K

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

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

Внутри много текста и фотографий
Total votes 50: ↑41 and ↓9+44
Comments237

Как я хакнул свой автомобиль

Reading time10 min
Views59K
image

Машина


Прошлым летом я купил Hyundai Ioniq SEL 2021 года. Это хороший экономящий топливо гибрид с приличным набором функций: беспроводные Android Auto/Apple CarPlay, беспроводная зарядка для телефона, сиденья с подогревом и люк в крыше.

Особенно мне понравилась в этой машине система In-Vehicle Infotainment (IVI). Как я говорил ранее, у машины есть беспроводное Android Auto, что довольно редко для такого ценового диапазона. Приложение имеет красивые плавные анимации меню, поэтому я понял, что ЦП/GPU не такие уж и слабые; или, по крайней мере, ПО ест не слишком много ресурсов.

Как и со всеми остальными моими гаджетами, я решил немного поэкспериментировать и посмотреть, что можно сделать с этой системой.
Читать дальше →
Total votes 284: ↑283 and ↓1+339
Comments71

Information

Rating
Does not participate
Registered
Activity