Pull to refresh
2
0

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

Send message

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Reading time6 min
Views53K

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее
Total votes 100: ↑93 and ↓7+100
Comments83

Английский, которому меня не учили

Reading time14 min
Views76K

Или максимы Английского языка, которые бы я хотел знать 20 лет назад.

Чем отличается хороший геймер от плохого? Хороший геймер сидит и изучает игру. Он знает каждый закуток. Он может без запинки назвать все характеристики всех юнитов в Star Craft. А самый крутой игрок знает все пропускные способности желтых, красных и синих конвейеров. А плохой игрок использует чит-коды или assistant apps. 

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

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

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

Okay, let's go...
Total votes 103: ↑101 and ↓2+130
Comments174

Раскрываем секреты загрузочных ISO-образов

Reading time20 min
Views100K


В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Читать дальше →
Total votes 193: ↑193 and ↓0+193
Comments73

Существует ли объективная физическая реальность без стороннего наблюдателя?

Reading time8 min
Views42K


Слышен ли звук падающего дерева в лесу, если рядом никого нет? Ответ на этот старый философский вопрос может оказаться не таким простым.

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

Однако существует набор предположений, касающихся реальности, с которыми уже соглашаются далеко не все. Главное из них – что существует объективная реальность, не зависящая от наличия наблюдателя или измерительного прибора. Два важнейших прорыва в области науки, произошедших в XX веке – а именно, теория относительности и квантовая механика – внезапно бросили вызов нашему представлению об объективной реальности. Они описывают реальность, которую невозможно отделить от акта наблюдения. Что же нам известно об объективной реальности на сегодняшний день?
Читать дальше →
Total votes 66: ↑59 and ↓7+70
Comments438

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

Reading time5 min
Views55K

В мире, да и в России в особенности, Япония давно стала этакой обетованной страной с более чем привлекательной для многих культурой. За жизнь я утвердился в том, что план по жизни от любого направления в IT к релокации в Японию стал для многих не столько даже просто целью, сколько мечтой. Конечно, попасть в Японию можно и просто зная английский, но стоит отметить, что знание японского и способность говорить - это более чем весомый плюс. Я прошел через этот путь довольно быстро и хотел бы поделиться своим опытом и советами, пусть станет благодарностью посетителям Хабра за все мои годы здесь как читателя :)

Читать далее
Total votes 42: ↑34 and ↓8+38
Comments76

Конечные автоматы на практике: Symfony Workflow

Reading time10 min
Views6.4K

В университетские времена я столкнулся с такой математической абстракцией, как конечный автомат (КА). Эта модель была полезна для понимания и создания комбинированной логики. Спустя 15 лет КА вернулся в мою жизнь в виде компонента Symfony Workflow. В этой статье я расскажу, как наша команда при помощи Symfony Workflow улучшила код продукта Links.Sape, переводя его с legacy.

Читать далее
Total votes 15: ↑14 and ↓1+16
Comments0

Параллельные оболочки с xargs: Используем все процессорные ядра в UNIX и Windows

Reading time13 min
Views5.8K

▍ Введение


Одним из наиболее неприятных моментов в работе с оболочкой UNIX является невозможность легко запланировать несколько параллельных задач, которые бы полностью использовали ядра процессора, представленные в большинстве современных системах. В данной статье в качестве примера рассматривается сжатие файлов, но проблема также возникает и при выполнении многих задач с интенсивными вычислениями, таких как: обработка изображений/аудио/медиа, подбор паролей и анализ хэшей, резервное копирование, а также извлечение, преобразование и загрузка баз данных. Вполне понятно, что ждать, когда gzip * выполнится на одном ядре процессора, довольно утомительно, в то время как большая часть вычислительной мощности машины простаивает.
Читать дальше →
Total votes 21: ↑19 and ↓2+30
Comments3

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

Reading time15 min
Views26K

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!

Лонг-рид с кодом ждёт вас!
Total votes 31: ↑31 and ↓0+31
Comments19

Как живется в США «айтишнику». Три года спустя

Reading time26 min
Views107K

Вместо того, чтобы затеряться в тысяче комментариев под статьей автора, о не самой сладкой жизни в США, я решил описать свой опыт по тем же предложенным темам. Благо недавно я вышел на финишную прямую по легализации и есть некоторая уверенность в том, что в Россию я не вернусь. Давайте опишем все в той же стилистике моих личных впечатлений, спустя 3,5 года жизни в Техасе. 

Поехали!
Total votes 274: ↑237 and ↓37+255
Comments1187

Вражеский нейлон

Reading time15 min
Views50K

История сия произошла в начале семидесятых годов прошлого века. Она наверняка тянет на сюжет крутого боевика, поскольку в ней присутствуют и засыпанный сибирскими снегами Вычислительный Центр и специальная бригада сотрудников КГБ во главе с майором и роскошная блондинка, которая разделась донага ради раскрытия большой тайны. Будут в этой истории допрос и обыск а также арест невиновного. А арестованным невиновным окажется сам автор.
Если интересно и есть время - читайте дальше.

Читать далее
Total votes 233: ↑221 and ↓12+266
Comments153

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

Reading time4 min
Views23K

Эта история началась весной 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 и страдал.

Читать далее
Total votes 64: ↑62 and ↓2+70
Comments26

Как приручить DDD. Часть 2. Практическая

Reading time16 min
Views24K

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

Сегодня поговорим о том, как приручить непосредственно исходные коды программ, как они архитектурно представляются. Расскажу про идеи, которые мы используем для построения прозрачной и понятной модели, чтобы ее было легко развивать вместе с заказчиком. Эти подходы касаются и архитектуры, и хранения исходного кода, и вообще в целом вопросов разработки. Также расскажу про практические сложности. Формат статьи не позволяет включить огромное количество кейсов, поэтому приведу только два примера.

Читать далее
Total votes 17: ↑15 and ↓2+20
Comments3

Максимально подробное FAQ с глупыми вопросами про зубы и пломбы

Reading time11 min
Views29K

Маленькое входное отверстие, через которое пробрались бактерии, иссечённая кариозная полость и пломба в конце

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

— Что такое пломба?


Это когда мы высверливаем вам кусок зуба и заливаем на его место цемент с полимером, который станет заменой тканей зуба.

— Я буду чувствовать что-то пломбой?


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

— То есть можно поменять эту верхнюю часть без особых проблем?


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

В общем, давайте поговорим про глупые вопросы про пломбы, которые оказываются не такими уж и глупыми.
Читать дальше →
Total votes 50: ↑47 and ↓3+55
Comments34

Инструкция для тех, кто решил что уже пора

Reading time10 min
Views183K

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

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

Опять же, я понимаю, что кто-то закончил языковую школу и при выступлении британской королевы подмечает стилистические ошибки ее английского, а кто-то консультировал Оракл при разработке HashMap и для них переезд — это вопрос желания, а не возможности. Но я говорю о неком "среднестатистическом случае", когда инглиш не флюент, а за плечами нет 10 лет опыта в аду.

В целом, до того, как начинать читать статьи "какие документы нужны для переезда в Швейцарию" у тебя, будущий ауслэндер, должны присутствовать четыре ключевых фактора успеха

Читать далее
Total votes 154: ↑131 and ↓23+146
Comments440

Что смотрели и читали по PHP в 2021

Reading time6 min
Views11K

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

Как собирались мнения

Ссылку на опрос помогли распространить городские чаты и админы крупных PHP-каналов, деврелы компаний, где в стеке есть PHP, конференция PHP Russia, сайт phpcommunity.ru. Вот полный список классных ребят и компаний, которые помогли исследованию сбыться.

Еще пара полезных ссылок на старте.

- Подробнее про результаты опроса за 2021 и сравнение с 2020.

- А здесь 80+ видео и статей за 2020 — в подборке, подготовленной @spasibo_kep

Поехали.

Читать далее
Total votes 30: ↑28 and ↓2+37
Comments0

Настраиваем свой почтовый сервер в docker-compose

Reading time7 min
Views48K


Недавно мне потребовалось собрать свой почтовый сервер. В принципе, дело-то простое. Берёшь и ставишь сервер. Postfix, dovecot, letsencrypt, roundcube, spamassasin, clamav. Всё это — уже известные дела. Колея проторена. Иди и делай.

Но мне нужно было наплодить этих серверов. И я подумал, а почему бы не настроить всё на контейнерах? Такое можно сделать. Для этого надо скачать все вышеописанные контейнеры и написать .env файл века с более чем сотней разных параметров. Ну и, конечно же, сконфигурировать nginx. Там всё просто. С полдесятка хостов, и система заработает.

Я тяжело вздохнул и решил, что наверняка есть решение попроще. И оно нашлось. Mailu. Всё просто и из коробки, но всё-таки и в нём есть свои подводные мины.

Под катом — подробности того, как установить Mailu без боли и проблем, а также описание компонентов и рассказ о том, что и как можно менять и использовать.
Читать дальше →
Total votes 18: ↑17 and ↓1+24
Comments23

Я всегда с собой беру…

Reading time9 min
Views58K

Некоторые сотовые провайдеры не разрешают раздавать их безлимитный интернет без дополнительной оплаты. Приобретать отдельное походное устройство по обеспечению широкополосного беспроводного доступа в глобальную сеть с абонентской оплатой более 1к рублей в месяц ради нескольких дней в году может совсем не хотеться. В связи с этими обстоятельствами в статье рассмотрено, как сотовые операторы узнают о раздаче доступа в интернет с мобильных устройств, а также какие возможности имеются на борту RouterOS по обеспечению приватности подобных действий.
Читать дальше →
Total votes 90: ↑87 and ↓3+112
Comments134

История разработки фасетного поиска средствами PHP

Reading time13 min
Views14K

Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.

Если ваша первая реакция: «Почему не на Sphinx/ElasticSearch/etc?», не торопитесь с выводами. Воспринимайте изложенное как интересный исследовательский опыт в области возможностей языка и его оптимизаций.

Спойлер: пришлось даже написать порт на GoLang, чтобы лучше понять пути оптимизации кода.

Читать далее
Total votes 51: ↑50 and ↓1+57
Comments6

Строим эффективный сетевой обмен в PHP-микросервисах

Reading time13 min
Views21K

Микросервисы сейчас — это новый черный. Все больше и больше компаний переходят именно на микросервисную архитектуру. И при переходе ловят самые разные ошибки. Самая популярная происходит из-за того, что люди просто не готовы к тому, что их приложения начинают активно использовать сеть. Потому что IPC и RPC-запросы  — это абсолютно разные вещи.

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее
Total votes 34: ↑33 and ↓1+41
Comments38

Япония как земля обетованная?

Reading time12 min
Views49K

Привет, Хабр! Уже три года живу я в Японии (два провёл в языковой школе, а сейчас эникею в фирме с русским руководством на Хоккайдо) и, несмотря на то что глобально говоря ничего я ещё не добился, рассказы об Японии вызывают у людей живой интерес. Почему бы его не удовлетворить?

И так, начнём с самого животрепещущего вопроса: стоит ли стремиться к трудовой миграции в Японию?

Читать далее
Total votes 128: ↑124 and ↓4+158
Comments150

Information

Rating
5,158-th
Registered
Activity