Search
Write a publication
Pull to refresh
41
0

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

Send message

Stevedore — открытая, бесплатная и быстрая альтернатива Docker Desktop

Reading time4 min
Views24K

Эта история началась весной 2021 года.

Страдал от того, как медленно запускается Docker Desktop.

Страдал от того, сколько он ест оперативной памяти.

Страдал от того, что постоянно что-то ломалось при обновлениях.

Страдал от того, что на Windows Server надо устанавливать Docker через какой-то особенный механизм, не работающий через proxy и не работающий на Windows Server 2016. Причём в связи с тем, что Docker Inc. передала enterprise-сервис компании Mirantis, этот способ через какое-то время вообще перестанет работать. В результате вы получаете Docker, собранный из непонятно каких исходников. Всё, что про них известно — они точно не такие, как в Docker Desktop. Вообще, для инструмента, задача которого — просто скачать один единственный пакет и установить его, в трекере задач этого проекта на удивление много багов.

Страдал от того, что Docker Desktop прекратил поддержку Windows 10 LTSC 2019, которая продолжает поддерживаться Microsoft вплоть до 2024 года (а расширенная поддержка — аж до 2029).

И я спросил себя: а почему, за что, как так? Есть ли какая-то такая фундаментальная причина, по которой софт, решающий эту задачу, обязан доставлять столько неудобств? И не нашёл её. 

А потому подошел к проблеме по принципу: если тебя что-то не устраивает, сделай это лучше.

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

Я много работал с Docker-контейнерами под Windows и страдал.

Читать далее

Вавилонская Башня. Правила IT архитектора часть 1

Reading time19 min
Views4.7K

Статья лонгрид и занимает около 15 страниц А4, что в переводе на время может занять у вас 15-20 минут. Потому если вы решите её осилить, придётся запастись временем.

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

Оглавление:

Читать далее

Docker Swarm для самых маленьких

Reading time13 min
Views183K

Данная статья посвящена настройке и работе с Docker Swarm.

Swarm это стандартный оркестратор для docker контейнеров, доступный из «коробки», если у вас установлен сам docker.

Что нам потребуется для освоения:

Читать далее

Как сделать sportsbook

Reading time10 min
Views7.4K

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

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

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

Читать далее

Применение замыканий в PHP

Reading time8 min
Views170K
Введение в PHP 5.3 замыканий — одно из главных его новшеств и хотя после релиза прошло уже несколько лет, до сих пор не сложилось стандартной практики использования этой возможности языка. В этой статье я попробовал собрать все наиболее интересные возможности по применению замыканий в PHP.
Читать дальше →

Песочница для Nginx

Reading time5 min
Views11K

Как-то я болтала с приятелем о том, как было бы здорово, если бы был такой сайт-песочница, где бы можно было просто скопировать-вставить конфиг Nginx-а и протестировать его. И я поняла, что это не так уж сложно сделать, поэтому погрузилась в тему и сделала: nginx-playground.wizardzines.com.


screenshot

Читать дальше →

Организация PHP-тестов с большими массивами данных

Reading time4 min
Views3.9K

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

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

В результате был написан скрипт, который позволяет извлекать массивы данных из php-файлов, а также из обычных текстовых файлов, и подставлять эти данные в код теста. Позже этот скрипт был оформлен в php-пакет test-data-provider.

Читать далее

Кто такой Thread Pool и как его написать своими руками на С++

Level of difficultyEasy
Reading time12 min
Views47K

Thread Pool достаточно популярный паттерн в программировании, с которым рано или поздно сталкивается каждый первый программист. Если вы новичок и не хотите бездумно пользоваться пулом потоков, то эта статья поможет вам разобраться с его устройством и написать наивные реализации с использованием С++ 14 и С++ 17. Так же статья будет полезна всем, кто изучил теорию по многопоточности, но не знает как можно применить свои знания.

Читать далее

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов

Reading time10 min
Views50K

Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.

Автор надеется, что прочтение статьи поможет вам разобраться в этих вопросах и подготовиться к собеседованию или освоению нового фреймворка.

Статья продолжает цикл статей под условным названием "Готовимся к собеседованию".

Читать далее

Работающие способы выехать за рубеж, или Спасение утопающих — дело рук самих утопающих

Reading time10 min
Views93K
Привет, хабровчане! Надеемся, в эти сложные времена вы стараетесь держаться, хотя это и непросто. Впрочем, рефлексировать можно бесконечно долго, толку от этого не будет, сейчас нужно действовать. Как именно — решать только вам самим. Мы лишь можем рассказать об одном из вариантов. А именно о релокации. В этом посте мы решили собрать вакансии из нашего бота в других странах, а также снабдить их информацией, как туда попасть. Подробную информацию по вакансиям (стек и требования) можно найти в самом боте Get Me It, для этого нужно пройти начальную анкету бота и выбрать Европу или СНГ.

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


Гребите сильнее!

Перехватываем цифровые радиопереговоры, или куда едут экипажи в 5 утра

Reading time9 min
Views119K

Шел апрель 2020 года, ковидная пандемия набирала обороты. Местные власти объявили "карантин", и от скуки сидения дома в один из дней мне пришла в голову мысль разобрать завалы хлама в старой квартире. В одной из коробок мне попался ноунеймовый USB DVB-тюнер на чипе RTL2832U с Алиэкспресса, и тут я призадумался. Вспомнилось, что много-много лет назад я игрался с ним и в эфире можно было услышать много интересного. "А почему бы не поиграться еще раз?" — возникла в голове мысль, которая и положила начало этой истории.

Читать далее

Собеседование по Javascript, мой опыт. Часть вторая

Reading time5 min
Views23K

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

(Виктор Цой)

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

"- Ну как на собеседование сходил? Успешно? - Да. Ручку у них спер" (ссылка)

Часть вопросов будет по typescript, часть по javascript, что-то будет из html, Node.js, настройки, библиотеки, концепции. В общем всё то, о чем говорят на собеседованиях.

Читать далее

9 интересных новшеств в Laravel 9

Reading time7 min
Views16K

Я сразу как только вышла новость о релизе решил, что нужно посмотреть, пощупать и разобраться чего же изменилось. Да-да, на днях, а именно 8 февраля 2022 вышел официальный релиз Laravel 9, который включает довольно много новых улучшений. Для тех же из нас, кто не боится таких слов как alfa и beta девятая версия фреймворка давно не новость и уже в работе.

Теперь эта версия будет поддерживаться дольше (LTS) и разработчики фреймворка пришли к решению не выпускать новые выпуски каждые 6 месяцев, но делать это раз в год в феврале. Судя из расписания эта версия останется актуальной год, а обновления безопасности будут выпускаться вплоть до 2025 года.

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

Читать далее

Как вырастить тупого ребёнка (научно обоснованные вредные советы)

Reading time7 min
Views269K

Brain of someone described as an «idiot»

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

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

Что мы подразумеваем под умственным развитием


Интеллект (ум) – это способность учиться, делать выводы и решать проблемы. Эти способности закладываются генетически, но развиваются благодаря внешним факторам с момента зачатия до конца жизни.

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

Итак, начнём растить не очень умного ребёнка, пользуясь достижениями современной науки.
Читать дальше →

Обработка критических ошибок в PHP

Reading time6 min
Views33K
В статье описан функционал, который доступен в PHP (актуально для 5.3.х) для обработки ошибок всех типов, включая ошибки интерпретации кода (E_ERROR, E_PARSE, E_WARNING, etc). Эта обработка поможет вам для управляемого отображения страницы в случае возникновения таких проблем. В статье присутствует множество описаний и рабочих примеров(архитектуры) для того, что бы сразу воспользоваться в своем программном продукте. В конце концов, ну немного сломали сайт, ну надо же, об этом сообщить поисковику с заголовком 4хх или 5хх и повеселить пользователя, вместо возврата белого экрана (или что хуже экрана со священной информацией, для хакеров) с ответом 200 Ok.



Идея написать этот топик возникла, когда я на храбре задал 2 вопроса:

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

Если заинтересовались, то подробности под катом…
Читать дальше →

Just-in-Time Kubernetes: Руководство начинающим для понимания основных концепций Kubernetes

Reading time11 min
Views34K

Итак, вы хотите освоить Kubernetes. Это такой технологический хайп, о котором, кажется, говорят все. Я затрудняюсь сказать, сколько рекрутеров обращались ко мне с предложением поработать с Kubernetes. Kubernetes — это определенно круто!

Читать далее

Книга «Отзывчивый дизайн на HTML5 и CSS3 для любых устройств. 3-е изд.»

Reading time6 min
Views8.4K
image Привет, Хаброжители! Вы фуллстек-разработчик, которому нужно развивать навыки фронтенд-разработки? Или фронтенд-разработчик, ищущий качественный обзор современных возможностей HTML и CSS? А может, вы создаете свой веб-сайт и хотите сделать его отзывчивым? Тогда, эта книга вам просто необходима! Со времени выхода предыдущего издания многое изменилось, теперь отзывчивый дизайн — это не новая технология, а стандарт разработки на HTML5 и CSS3. Неформальный и открытый стиль автора позволяет быстро освоить все возможности современного веб-дизайна. Вы получите практические знания о SVG, разметке HTML, создании потрясающей эстетики и эффектов с помощью CSS, переходах, преобразованиях и анимациях и многом другом. Если же вы опытный веб-игрок, то смело переходите к новым темам — гридам (CSS Grid layout) или вариативным шрифтам. К концу книги вы не только получите полное представление об отзывчивом веб-дизайне и возможностях последних версий HTML5 и CSS, но и узнаете, как максимально эффективно использовать эти знания на практике. Все, что нужно для начала работы, — это представление о том, что такое HTML и CSS.
Читать дальше →

Экосистема React в 2022 году

Reading time6 min
Views38K

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

Читать далее

СТРАННЫЕ Люди. Как западная цивилизация вырвалась вперед?

Reading time19 min
Views92K

По нашей планете распространяется необычная и СТРАННАЯ человеческая психика - Western, Educated, Industrialized, Rich and Democratic (WEIRD) - западный, образованный, индустриальный, богатый и демократичный.

Читать далее

Information

Rating
Does not participate
Registered
Activity