Pull to refresh
27
0
Михаил Мельник @mike114

User

Send message

Все «косячат» – 2

Reading time4 min
Views16K

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

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

Решения принимают для того, чтобы ресурсы расходовались рационально. И принятие любого решения сужает горизонт и ограничивает дальнейший выбор. Выбрав что-то одно, вы лишаете себя чего-то другого. Классическим примером служит витязь на перепутье.
Читать дальше →

Получил доступ к Dalle-2. Вы не поверите, что может нарисовать машина… Дизайнеры больше не нужны

Reading time4 min
Views150K
Текст генерации: furry monster with green eyes looking at us, the word «habrahabr» in the background, digital art, blue background, 3d

Привет, чемпион!

Недавно мне посчастливилось стать обладателем доступа к API Dalle-2. Если ты ещё не слышал про Dalle, то это такая CLIP-архитектура, обученная на огромном корпусе пар текст-изображение. Иначе говоря — она умеет генерировать очень качественные изображения из текста. Отличить результаты генерации от рисунков человека иногда просто невозможно! Это одновременно впечатляет и в то же время — немного шокирует.

По сравнению с предыдущей версией — DALL-E 2 умеет генерировать изображения в более высоком разрешении (1024×1024 пикселей, что в 16 раз превышает разрешение в предыдущей версии модели) да ещё и намного быстрее. Более того, DALL-E 2 позволяет редактировать уже существующие изображения.

Нет больше терпения ждать, давайте же опробуем её!
Читать дальше →

Мягкое удаление чаще всего не нужно

Reading time6 min
Views24K

Те, кто знаком хотя бы с парой разных окружений баз данных продакшена, скорее всего, знают паттерн «мягкого удаления» (soft deletion): вместо удаления данных напрямую конструкцией DELETE таблицы получают дополнительную временную метку deleted_at и удаление выполняется конструкцией обновления:

UPDATE foo SET deleted_at = now() WHERE id = $1;

Мягкое удаление необходимо для того, чтобы удаление выполнялось безопаснее и было обратимым. После того, как запись удалили «жёстким» DELETE, теоретически её всё равно можно восстановить, углубившись в слой хранения, но нужно сказать, что вернуть её очень сложно. В теории, при мягком удалении достаточно снова присвоить deleted_at значение NULL, и на этом всё:

-- и волшебным образом всё вернулось на место!!
UPDATE foo SET deleted_at = NULL WHERE id = $1;
Читать дальше →

Как улучшить DJI Spark на 7%

Reading time5 min
Views11K

Друзья, всем привет!

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

Полетели!

Потные истории. Введение в антиперспирант

Reading time12 min
Views27K
Периодически (особенно с приходом жары) в комьюнити LAB-66 появляются читатели, которые просят написать про дезодоранты. Их можно понять, но эта тема (дезодорантов) слишком истрепана различными косметологами и нутрициевтами, а значит не особо интересна. Но, с другой стороны, тема пота практически в русскоязычном сегменте Интернета не поднимается. Даже как-то обидно, что никто нигде не пишет про пот. Только и умеют, что брезгливо морщить нос.

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


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

6 способов сделать наши клетки здоровее. Введение в клетку

Reading time17 min
Views13K

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

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

Читать далее

Атакуем кластер Kubernetes. Разбор Insekube c TryHackme

Reading time5 min
Views4.3K

Всем привет!

В этой статье, на примере машины Insekube с TryHackme, я постараюсь показать каким образом могут быть захвачены кластера Kubernetes реальными злоумышленниками, а также рассмотрю возможные методы защиты от этого. Приятного прочтения!

Читать далее

Telegram бот с языковой моделью, обученной на 2ch

Reading time3 min
Views44K

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

Читать далее

Ошибка в коде, стоившая целой АЭС

Reading time9 min
Views71K
Иногда аварии, чтобы она запомнилась надолго, не надо быть техногенкой с кучей жертв. Именно так случилось в январе 2012 года, когда на калифорнийской АЭС Сан-Онофре произошла утечка радиоактивной воды из первого контура в парогенераторе. Авария неприятная, но она не привела к значимому повышению радиационного фона и если бы не её косвенные последствия, то прошла бы в отчётах МАГАТЭ и NRC (американский атомный регулятор), как незначительное происшествие. Проблема была в том, что устранить её быстро было невозможно, а без парогенератора энергоблок требовалось отправить в простой. И это лишь начало истории.


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

Про поддержку Certificate Transparency для национальных сертификатов

Reading time6 min
Views13K

Недавно мы рассказывали Хабру про поддержку в Яндекс Браузере тех сайтов, которые перешли на использование национальных TLS-сертификатов. Если вы пропустили, то рекомендуем прочитать пост, он содержит ответы на популярные вопросы.  

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

Читать далее

Релокация на машине в Армению

Reading time14 min
Views62K

Доброго дня всем хабровчанам. Примерно месяц назад я переехал из Москвы жить и работать в Ереван. С тех пор периодически меня спрашивают про то как мне удалось доехать до Армении на автомобиле, как вообще устроена релокация и как мне живется после переезда. Так что я подумал-подумал и решил написать об этом статью на Хабр.

Для тех кто заинтересовался

Три слоя градиента одного слайдера

Reading time11 min
Views6.9K

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

В статье поговорим про одно из таких решений — написание Angular-компонента Slider с помощью встроенных инструментов  браузеров и с минимальным использованием Javascript. Расскажу про доступность, интересное решение с многослойным градиентом, немного CSS-хитростей и даже чуть-чуть про Change Detection в Angular.

Читать далее

Охота на бройлеров. Как работают китайские телефонные хакеры

Reading time10 min
Views32K

Несколько лет назад, когда я ещё работал в антивирусной компании, я купил недорогой смартфон на Android для пожилой родственницы. Телефон позиционировался, как отечественный продукт, но по факту был, разумеется, китайским аппаратом, выпущенным под российским брендом. Удаляя идущие с завода ненужные приложения и добавляя отсутствующие, я решил заодно установить и антивирус — мало ли, на какую ссылку нажмёт малограмотная в айтишных делах пользовательница? Каково же было моё удивление, когда на совершенно новом аппарате с ходу обнаружился троян, способный загружать и устанавливать без ведома юзера любые приложения. Попытка вылечить телефон не увенчалась успехом, не помог и сброс до заводских настроек — троян сидел в прошивке, к которой антивирусное ПО не имеет доступа, если аппарат, конечно, не рутован. Изучение вопроса показало, что китайские смартфоны с «сюрпризами» присутствуют на отечественном рынке в широчайшем ассортименте. Более того, в Китае существует целая индустрия по производству, распространению и эксплуатации мобильных вредоносных программ, прошитых в firmware, и за минувшие годы в этой сфере почти ничего не изменилось. А причём тут охота на бройлеров, спросите вы? Сейчас расскажу.
Читать дальше →

Развертывание React-приложения

Reading time15 min
Views28K

Когда мы имеем дело с большим проектом, в репозитории которого накопились десятки тысяч строк кода, иногда единственным здравым решением кажется все переписать с нуля, а не оптимизировать. С точки зрения бизнеса может возникнуть вопрос: а почему вообще нужно оптимизировать или даже переписывать приложение, если оно работает? Дело в том, что по мере роста кодовой базы есть вероятность увеличения дублирующихся компонентов/фрагментов кода, появления устаревших участков, которые тормозят сборку, но полезной нагрузки уже не несут. Это негативно влияет на скорость работы приложения и увеличивает срок разработки.

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

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

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

Читать далее

Как сделать ИИ для поиска алмазов в Minecraft

Reading time9 min
Views25K

В случайно сгенерированном мире Minecraft найдём алмазы с помощью ИИ. Как обученный с подкреплением агент проявит себя в одной из самых сложных задач игры? Подробностями делимся к старту флагманского курса по Data Science.

Читать далее

Разворачиваем проект серверов Minecraft

Reading time20 min
Views31K

Minecraft – нечто большее, чем игра. До сих пор думаешь, что это очередная игра для детей? Вынужден опровергнуть твоё мнение. Эту игру используют, как в школах для развития детей, так и для воссоздания архитектурных объектов, улучшения безопасности на реальных улицах, изучения основ программирования, и, в конечном итоге, для простой релаксации.

Не очень люблю воду в текстах, поэтому буду краток. Название статьи: «Разворачиваем проект серверов Minecraft». Что будем делать? Запускать проект серверов Minecraft. Для чего? Для практики, для отвлечения, и, в конечном итоге, для небольшого (а может и большого) практически пассивного источника дохода.

Читать далее

Симулятор x86 подобного процессора на машине Тьюринга

Reading time17 min
Views16K

Привет, Хабр! В свободное от работы время по вечерам мне нравится воплощать в жизнь свои сумасшедшие идеи. В один из таких вечеров родилась мысль реализовать компилятор кода в машину Тьюринга. Осознав всю тщетность бытия сложность реализации, было принято решение начать с чего-то более простого – симулятора простенького процессора со своим собственным ассемблером, в котором команды выполнялись бы с помощью различных состояний машины Тьюринга, а данные хранились бы на одной ленте. В конечном итоге удалось осуществить практически первоначальную задумку, а именно получить одну единственную машину Тьюринга, способную выполнять скомпилированную из NASM подобного ассемблера программу без какого-либо внешнего взаимодействия.

Читать далее

Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2

Reading time11 min
Views14K

Что такое чистая архитектура, зачем использовать? Сегодня я не отвечу вам на эти вопросы :) (для этого существуют много других хороших статей одна из них Заблуждения Clean Architecture) Но отвечу на то как реализовать Clean Architecture в Android'е по крайней мере покажу вам свою реализацию.

Для общего понятия что здесь будет происходить вам нужно уметь пользоваться такими технологиями как: Coroutines, Retrofit 2, Lifecycle, Hilt. Ну приступим!

Читать далее

Как сфотографировать Луну?

Reading time7 min
Views36K

Рейтинг публикации в социальных сетях можно соотнести с количеством лайков, который поставили читатели. Это очень условно, но все же имеет своё значение. И вне сравнения глубины и ценности для Мира вообще, можно сделать вывод, что очень большое количество лайков (а среди моих публикаций — наибольшее) набирают фотографии Луны. Особенно, если они попадаются на глаза девушкам, женщинам — прекрасной половине человечества.

Как бы не отрицали ученые мужи влияние небесных тел на нашу бренную жизнь, а Луна явно имеет свое влияние на женское начало. Девушки и женщины Луну обожают.

Мужчины тоже Луну лайкают, но несколько сдержаннее. Зато, мужчины чаще интересуются технической стороной — “Как это снято?” Наверное для того, чтобы тоже иногда постить в своих аккаунтах Луну, и тем самым привлекать женское внимание…

А как сфотографировать Луну?


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

Все эти вопросы мне задавали и задают регулярно.

Сегодня я всем отвечаю, и делюсь секретами. Хотя, никакого секрета здесь нет. Но кое-что узнать все-таки будет полезно.
Читать дальше →

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity