Pull to refresh
5
0.2
Send message

Пишем тетрис в bat-файле

Reading time5 min
Views25K

В комментарии к моей предыдущей статье, «Какие задачи не решаются bat-файлами?», предположили, что на bat-файлах не получится написать Doom. Насчет Дума я пока не уверен, а вот тетрис у меня получился.

Играть в тетрис бесплатно

Антибиотикорезистентность: ура, мы дождались! Считайте, что вышел анонс следующей пандемии

Reading time12 min
Views88K

Колония бактерий и кружки с антибиотиками: три из семи работают, и это хорошо.

Биологи давно мечтали о сценариях конца света с участием суперинфекции, резистентной ко всему тому, что есть у нас в арсенале антибиотиков. Когда медицина бессильна против инфекции, как в 1353 году, может умереть от 30 до 60 % охваченной болезнью популяции.

За последние два года поменялось то, что COVID-19 так напугал людей, что они стали есть антибиотики в нереальных по былым меркам количествах.

Вышел прекрасный отчёт в «Ланцете» про то, что если в 2019 году из-за AMR (резистентности бактериальных инфекций к антибиотикам) умерло около 1,2 миллиона человек (и ещё около 4,95 миллиона по связанным с такими инфекциями причинам), то с тех пор человечество сделало большой шаг вперёд.

То же потребление азитромицина в России, по данным доклада от 4 июня 2021 г. «Антибиотикорезистентность как угроза национальной безопасности России», выросло больше чем в два раза. Возможно, это связано с тем, что он входил в протоколы лечения COVID.

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

Конфигурационные файлы Linux

Reading time6 min
Views76K
image

1. Краткое содержание


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

Из этого руководства вы узнаете, где файлы конфигурации расположены и каковы их функции. Благодаря стандарту иерархии файловой системы (Filesystem Hierarchy Standard) папки и файлы, которые мы рассмотрим, сохраняют своё расположение даже в разных дистрибутивах.
Читать дальше →

«Вечная лампочка» из новых Lexman

Reading time2 min
Views132K
Я нашёл ещё один неплохой вариант для простейшей переделки в «вечную лампу». Это лампы Lexman 10 Вт 1000 лм, продающиеся по 85 рублей в магазинах Леруа Мерлен.


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

Как не надо индексировать

Reading time5 min
Views41K

Развитие происходит по спирали: когда-то люди не умели правильно индексировать, потом (в основном) научились, потом пришли noSQL и все снова забыли знание древних. Что вы будете делать, когда последние из старых DBA отплывут в Валинор?

Снова и снова и сталкиваюсь с полным набором антипаттернов индексирования. Я их перечислю, но! Для каждого антипаттерна есть исключение, когда именно это и стоит делать. Поэтому кликбейтно сформулированное правило верно в 95% случаях, но если вы хотите копнуть глубже, то прочитайте про исключения.

И в конце полезные скрипты для MSSQL, Postgres и MySQL.

Читать далее

Джентльменский набор для создания WPF-приложений

Reading time18 min
Views53K

Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Примеры кода приведены из реального приложения.

Далее

Карманный справочник: сравнение синтаксиса MS SQL Server и PostgreSQL

Reading time17 min
Views107K

Приветствую, уважаемые хаброжители!

Так как занимаюсь переводом кода с MS SQL в Postgre SQL с начала 2019 года, то решил продолжить сравнение этих двух СУБД.

В прошлой публикации мы рассматривали отличия в быстродействии MS SQL и PostgreSQL для 1C.

Сегодня давайте сравним основные конструкции синтаксиса MS SQL и PostgreSQL для правильного чтения кода, а также для того, чтобы быстро изменить код из MS SQL для PostgreSQL или наоборот.

Начнем рассмотрение с сопоставления типов.

Читать далее

Мой опыт технического собеседования: как не превратить его в экзамен и найти профпригодного сотрудника

Reading time21 min
Views31K
image

Привет, Хабр! Меня зовут Леонид Титов, я бэкенд разработчик в #CloudMTS. Так уж сложилось, что я не только пишу код, но и иногда собеседую кандидатов. Мне нравится процесс, и, думаю, у меня это получается.

Начал я этим заниматься ещё на предыдущем месте работы, где мы с тимлидом собирали новую команду. С тех пор прошло уже N лет, практика продолжилась, и после очередного собеседования я решил упорядочить свои знания. Кто-то считает, что от собеседований вообще толку нет, а кто-то наоборот (не будем показывать пальцем) проводит их в 3-5 раундов. Я уверен, что собеседования нужны, но важно четко понимать, зачем именно.

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

Еще я поделюсь неожиданными впечатлениями от ситуации, когда оказался «по ту сторону», лайфхаками, фейлами и неплохо зарекомендовавшими себя практиками. Про soft skills тут ничего не будет — это отдельная важная тема. Прежде всего мы затронем вопрос профпригодности, определения ее наличия или отсутствия. Во второй половине статьи приведу собственный список вопросов, переведенный на русский, с комментариями.
Читать дальше →

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

Reading time9 min
Views59K

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

[Пятничное] Теория Жоп

Reading time5 min
Views246K

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее

Как выиграть суд в России против корпорации: мы поставили ВТБ на место за 2 года

Reading time9 min
Views64K

Суд в России дело долгое, но в Европе ещё дольше. Нашим судебным разбирательствам с ВТБ уже почти два года, и история ещё не закончилась. Полагаю, что до финала мы дойдём ещё через 1-2 года. Но возможно у ВТБ сейчас проснётся совесть, они публично признают, что были дико неправы, принесут извинения и пообещают, что больше никогда не будут ни так, ни как-либо иначе злоупотреблять правом и нагибать своих клиентов. Правда, фильм “Яхта, самолёт, девушка” посмотрели 13 миллионов человек, и никакой совести ни у кого не проснулось.

На сегодняшний момент мы прошли:

1. Первую инстанцию и проиграли.
2. Апелляцию — проиграли.
3. Кассация постановила дело пересмотреть.
4. Первая инстанция та же судья пересмотрела и опять вынесла решение в пользу ВТБ.
5. Апелляцию опять проиграли.
6. Кассацию выиграли и надеюсь поставили точку!

Читать далее

Как фотоны воспринимают время?

Reading time5 min
Views66K

У каждого есть мечта; я хотел бы дожить до рассвета, но знаю, что мне осталось менее трёх часов. Будет ночь, но это неважно. Умирать просто. Для этого не нужен свет. Так тому и быть: я умру при свете звёзд.
— Виктор Гюго

Перемещаясь со скоростью света, фотоны, испущенные Солнцем, достигают Земли примерно за 8 минут. Путь в 150 миллионов километров по пустому космосу – это не препятствие для света, но для нас это значит, что глядя на Солнце, мы видим его таким, каким оно было незадолго до этого, а не таким, какое оно в данный момент является. Если бы Солнце мгновенно исчезло прямо сейчас, мы не узнали бы об этом – ни из-за света, ни из-за гравитации – пока не прошли бы восемь минут. Но как это выглядит с точки зрения фотона? Известно, что если перемещаться со скоростью, приближающейся к скорости света, включается СТО Эйнштейна, время замедляется, а длина уменьшается. Однако же фотоны двигаются со скоростью не близкой, а равной скорости света. И насколько же тогда стареет фотон, испущенный Солнцем, к тому времени, как он достигает Земли?
Читать дальше →

История Звёздного лабиринта

Reading time7 min
Views2.6K

Сюжетная линия одноименного музыкального альбома





Это началось пять столетий тому вперед. Когда именно, сказать невозможно, ведь время относительно, а сама история очень протяженна. В ту эпоху человечество уже обрело бессмертие. Не абсолютное. Просто никто не мог точно сказать, сколько проживут самые молодые — их биологические тела уже не были подвержены столь быстрому старению, были неуязвимы для патогенных микроорганизмов, не изнашивались в той мере, в которой это еще происходило на нашем рубеже тысячелетий. Естественная смертность приблизилась к нулю. И это стало толчком к колонизации планет Солнечной Системы — земляне заселили и адаптировали к комфортной жизни их все, включая крупные астероиды и ледяные айсберги в облаке Оорта.
Читать дальше →

Книги с оригинальным подходом к теме первого контакта

Reading time5 min
Views16K

Глядя на бескрайнюю россыпь звезд в ночном небе, почти любой человек хоть раз задавался вопросом: интересно, мы одни во вселенной? Тема контакта с внеземным разумом давно стала классической для научной фантастики. Многих авторов интересует именно момент первой встречи, тревожная новизна и неизвестность. Чем именно они будут отличаться от нас? Сможем ли мы вообще понять друг друга?

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

Читать далее

Ультимативный гайд по созданию CI/CD в GitLab с автодеплоем в Kubernetes на голом железе всего за 514$ в год ( ͡° ͜ʖ ͡°)

Reading time23 min
Views66K

Шел 2021 год, русские хакеры продолжают переигрывать и уничтожать загнивающий Запад, вмешиваясь в выборы, ломая фейсбуки и пентагоны. Тем временем на Хабре выходят статьи о создании неубиваемых Kubernetes-кластеров, которые, по видимому, всех нас переживут. А кто-нибудь подумал о простых пацанах (пацанессах)??? Как быть обычному программисту, который хочет свой небольшой кластер и ламповый CI/CD с автодеплоем приложения, чтобы кенты с района не засмеяли?

Всем привет, меня зовут Алексей и я алкоголик разработчик на Python/Go в Домклик. Сегодня мы будем понижать порог входа в self-hosted Kubernetes и GitLab AutoDevops.

Читать далее

Использование сертификатов в ASP.NET Core

Reading time20 min
Views32K

В последнее время использование протокола HTTPS для Web-ресурсов является обязательным требованиям ко всем более-менее большим Web-проектам. Эта технология основана на использовании так называемых сертификатов. Раньше за получение своего сертификата нужно было платить. Но сегодня появление таких сервисов, как Let's Encrypt сделало возможным получение сертификатов бесплатно. Таким образом, цена больше не служит оправданием отказа от использования HTTPS.

В самом простом случае сертификат позволяет установить защищённое соединение между клиентом и сервером. Но это далеко не всё, на что они способны. В частности, недавно я смотрел на Pluralsight курс Microservices Security. И там среди прочих упоминалась такая вещь, как Mutual Transport Layer Security. Она позволяет не только клиенту убедиться в том, что он общается именно с тем сервером, с которым хочет, но и сервер может узнать, что за клиент с ним общается.

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

Читать далее

Ускоряем запуск приложений с .NET 6, .NET на холодильнике и многое другое

Reading time13 min
Views12K

Данная статья содержит небольшое введение в JIT-компиляцию и .NET Core (отныне .NET 5, .NET 6 и так далее), а также несколько практических примеров ускорения запуска приложений на .NET. Данные советы могут быть полезны как для приложений, запускаемых на больших многоядерных x64 серверах, так и для приложений, запускаемых на ARM чипах с малым числом ядер. Например, подобные оптимизации используются в операционной системе Tizen, об этом далее.

Читать далее

Выдерни шнур, выдави стекло

Reading time14 min
Views7.8K

Инструкция по диагностике проблем в работе баз данных в случае аварии.

Привет. У каждого на работе иногда случаются «чёрные» дни. Для меня такими днями являются аварии в работе сервисов, приводящие к недоступности систем для конечных пользователей. По счастью, такое происходит нечасто, но каждый такой случай заставляет меня долго рефлексировать над вопросами «что мы сделали не так».

После одной из аварий я поймал себя на мысли, что диагностика причины недоступности сервиса заняла слишком много времени. Инженеры, задействованные в разрешении инцидента, действовали не совсем скоординированно: проверяли одни и те же гипотезы и тратили время на изучение совсем уж «фантастических» вариантов. В квалификации ребят никакого сомнения у меня нет, поэтому в рамках рефлексии я списываю это на стрессовую ситуацию аварии.

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

Последняя проблема касалась работы базы данных и взаимодействия web-приложения с базой. Поэтому инструкция касается диагностики именно базы данных. Также хочу отметить, что эта схема — не истина в последней инстанции, а всего лишь наш опыт, перенесенный на «бумагу». Мы намеренно не стали включать слишком «экзотические» причины аварии, поскольку схема становится слишком громоздкой и нечитаемой.

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

Читать далее

Букварь по F# для любопытствующих C#-разработчиков

Reading time13 min
Views11K

Предисловие


Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор видел у других C#-разработчиков — отрицание, — C# является хорошим языком, и мне с ним комфортно, так зачем тратить силы на изучение другого? Но любопытство осталось — и, по крайней мере, несколько раз выделил вечер, чтобы прочитать базовый вводный пост и попытаться написать каких-нибудь ката на F#. Это не прижилось, потому что я просто чувствовал себя потерянным и не мог воплотить свой опыт использования C# в ощущение даже отдаленного комфорта с F#. Достаточно легко опустить фигурные скобки, немного замяться, чтобы не забыть let вместо var — но как сделать то, что я хотел?


Тогда я этого не осознавал, но, на мой взгляд, наблюдал потенциальный недостаток в том, как F#-разработчики говорят, описывают и представляют свой язык внешнему миру. Существует обширная база материалов обо всех возможностях и функциональности F#: Algebraic Data Types, Exhaustive Matching, Type Inference и т.д. Есть много статей, посвященных тому, как решать широкий спектр задач с помощью F#. Но, как мне кажется, не хватает чего-то вроде следующего: некоторых указаний о том, как взять то, что вам уже удобно в C#, и перевести их на F#. Так что мне интересно, можем ли мы как-то закрыть этот недостаток.

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

Information

Rating
2,506-th
Registered
Activity