Как стать автором
Обновить
20
0

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

Отправить сообщение

Как я собрал красивое ведро для гидропоники

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров22K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

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

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

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

Читать далее
Всего голосов 98: ↑108.5 и ↓-10.5+119
Комментарии148

Система рендеринга для космического симулятора в Unity

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров5.2K

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

🪐 Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии16

Генерирование полигональных карт для игр

Время на прочтение24 мин
Количество просмотров57K
Я хотел научиться генерировать интересные игровые карты, которые не обязательно были бы реалистичными, а также попробовать техники, с которыми раньше не работал. Обычно я создаю карты с другой структурой. Что можно сделать с тысячей полигонов вместо миллиона тайлов? Отчётливо различимые игроком области могут быть полезны для геймплея: местоположения городов, места квестов, территории для захвата или колонизации, ориентиры, точки поиска пути, зоны с разной сложностью и т.д. Я генерировал карты с помощью полигонов, а затем растеризировал их вот в такие карты:

image

Во многих процедурных генераторах карт, в том числе и некоторых моих предыдущих проектах, для генерирования карты высот используются функции шума (midpoint displacement, фракталы, diamond-square, шум Перлина и т.д.). Здесь я их не применял. Вместо неё я использовал структуру графов для моделирования элементов, определяемых ограничениями геймплея (высота, дороги, течение рек, места квестов, типы монстров) и функции шума для моделирования того, что не ограничивается геймплеем (форма побережья, расположение рек и деревьев).
Читать дальше →
Всего голосов 100: ↑99 и ↓1+98
Комментарии11

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 5

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.9K

Хабр, я снова пришёл к вам с практическими советами про доступность вместе с Ильёй. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке.


Сегодня мы рассмотрим следующие аспекты:

  • Какое количество символов следует использовать для текста подсказки для атрибута alt;
  • В чём польза атрибута lang;
  • Почему использование текстовых символов для декоративных задач — это плохая идея;
  • Для чего существует режим повышенной контрастности.

Давайте начнём!

Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии9

Тинькофф дает противоречащие ответы Роскомнадзору и ЦБ РФ в части дачи клиентом согласия на обработку его биометрии

Время на прочтение5 мин
Количество просмотров30K

В ответ на статьи «Тинькофф-банк» собирает согласие на обработку биометрии клиентов при вводе пин-кода в новом приложении или банкомате и Сделаем для вас биометрию. Отказаться не получится хотел бы добавить интересные новости о том, как «Тинькофф» дает противоречащие ответы Роскомнадзору и ЦБ РФ в части дачи клиентом согласия на обработку его биометрии.

Читать далее
Всего голосов 259: ↑259 и ↓0+259
Комментарии71

Первая игра на LeoEcsLite

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров4.5K

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии5

Непослушное дитя Докинза или о формировании современного мемофонда

Время на прочтение10 мин
Количество просмотров2.3K

В уже далёком 2017 году я единственный раз побывал на фестивале «Geek Picnic», проходившем в Санкт-Петербурге. На тот фестиваль я собрался исключительно ради того, чтобы послушать Ричарда Докинза. Прочитанная им лекция выложена на YouTube здесь. В целом этот поход был для меня во многом ритуальным событием (в лекции Ричарда я не услышал ничего такого, что ранее у него же не читал – в частности, в великолепной книге «Самое грандиозное шоу на Земле»), но из высказанных им мыслей мне наиболее запомнилась шутливая: «я придумал слово «мем» раньше, чем появился Интернет». Действительно, именно Докинз предложил в 1976 году термин «мем» для обозначения самовоспроизводящейся информационной единицы, чья природа во многом схожа с вирусной. Под катом будет рассказано, насколько научна такая трактовка мема и как она связана с восприятием информации.

Также напомню, что в Рунете не позже чем с 2003 года существует сайт «Энциклопедия культур» http://ec-dejavu.ru/main.html, на котором проанализированы и объяснены многочисленные мемы, сложившиеся до распространения Интернета.

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии3

Агент по анонимности: Альтернативные фронтенды сайтам

Время на прочтение3 мин
Количество просмотров3.3K

Всем привет! Наверняка вы заинтересованы в сохранении собственной анонимности, обхода цензуры и сторонники конфиденциальной работы в сети.

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

В этой статье я приведу список сайтов, с кратким их описанием и инструкцией.

Начинаем!

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии6

Сложность алгоритмов. Разбор Big O

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров36K

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

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

Читать далее
Всего голосов 27: ↑25 и ↓2+23
Комментарии17

Проектирование fault-tolerant систем на Go

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.1K

Привет, Хабр!

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

Go благодаря своей простоте, производительности и, что наиболее важно, поддержке конкурентности на уровне языка, становится идеальным выбором для создания fault-tolerant систем.

Читать далее
Всего голосов 20: ↑16 и ↓4+12
Комментарии7

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

Время на прочтение24 мин
Количество просмотров17K

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

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

Я выступал с лекцией о векторных представлениях на конференции PyBay 2023. Эта статья — улучшенная версия той самой лекции, и она должна быть интересна сама по себе, даже если не смотреть видео.

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

38-минутная видеоверсия

Вот видеоверсия той лекции, которую я прочитал на PyBay.

Читать далее
Всего голосов 36: ↑35 и ↓1+34
Комментарии0

42 года BBC Micro и BBC BASIC: как появился этот образовательный инструмент и что с ним сейчас (спойлер — всё хорошо)

Время на прочтение6 мин
Количество просмотров2.5K

Примерно полвека назад, где-то в начале 80-х годов XX века в BBC загорелись идеей образовательного проекта, цель которого — повышение компьютерной грамотности школьников, студентов и вообще всех желающих. А чтобы сделать проект масштабным, привлечь максимальное количество участников, нужен был инструмент.

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

Читать далее
Всего голосов 29: ↑28 и ↓1+27
Комментарии8

Подключаем умный поиск (GPT) к своей базе документов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров19K

Есть отечественный файрвол (NGFW) и есть документация для пользователей powered by GitBook. В этой документации работает простой поиск — только по словам и словосочетаниям. И это плохо, потому что нет ответов на вопросы: "Какие алгоритмы шифрования ipsec поддерживаются у вас?", "Как заблокировать ютуб?", "Как настроить DMZ?".

Хочется, чтобы поиск был “умным” и чтобы пользователи могли обращаться с подобными вопросами именно к поиску, а не к инженерам тех. поддержки. AI или ML внутри — не важно, как это называть. Но на простые вопросы из списка выше поиск должен отвечать.

Я решил эту задачу (Retrieval Question Answering), используя OpenAI API. Казалось бы, уже опубликованы сотни похожих инструкций, как это сделать. Но под катом будет не инструкция, а рассказ про сложности, которые пришлось решить на пути от идеи до запуска поиска.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии24

GOST: швейцарский нож для туннелирования и обхода блокировок

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров94K

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

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Всего голосов 180: ↑177 и ↓3+174
Комментарии113

Диск – это лава. Исследуем методы выполнения пейлоада в памяти

Время на прочтение22 мин
Количество просмотров7.8K

Привет, Хабр! Меня зовут Миша, я работаю в МТС RED в команде тестирования на проникновение на позиции эксперта.

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

Ни для кого не секрет, что во время пентестов атакующим приходится использовать готовые инструменты, будь то нагрузка для Cobalt Strike, серверная часть от поднимаемого прокси-сервера или даже дампилка процесса lsass.exe. Что объединяет все эти файлы? То, что все они давным-давно известны антивирусам, и любой из них  не оставит без внимания факт появления вредоноса на диске.

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

Читать далее
Всего голосов 44: ↑44 и ↓0+44
Комментарии6

Как декораторы могут упростить разработку веб-форм

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров5.1K

Относительно недавно в TC39 предложение с реализацией декораторов в EcmaScript вышло на 3-ю пред финальную стадию. Чуть позже MicroSoft выпустил 5-ю мажорную версию TypeScript, в которой новая реализация декораторов начала работать из коробки без каких-либо экспериментальных флагов. Babel тоже подсуетился, и в своей документации начал рекомендовать использовать новую реализацию декораторов. А это означает лишь то, что декораторы наконец-то начали полноценно входить в жизнь JavaScript разработчиков.

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

Важное упоминание. В статье я буду писать о подходе, использующем библиотеку MobX. Так что если вы в своих проектах ее не используете, статья может быть не так полезна. Но вы можете рассматривать ее, как возможный источник вдохновения по тому, как можно разрабатывать формы.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии13

Кипр: деревня или бурно-развивающаяся ИТ экосистема?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.3K

В последние годы Кипр привлекает все больше компаний и предпринимателей, которые выбирают этот солнечный остров в качестве нового дома для своих IT-бизнесов. За последние несколько лет, особенно в 2022 и 2023 годах, множество россиян переехало на Кипр, создавая динамичное и разнообразное сообщество. Несмотря на то, что некоторые все еще могут считать Кипр "деревней", в реальности этот остров может многое предложить в области технологий и стартапов.

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

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

Читать сейчас
Всего голосов 13: ↑8 и ↓5+3
Комментарии13

Свой Mail Server на Docker за 10 минут

Время на прочтение5 мин
Количество просмотров40K

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

Предпосылки, что и зачем описал тут: статья

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии14

Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Время на прочтение32 мин
Количество просмотров41K

Интро: почему я написал эту статью


Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого:



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


Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.


Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии12

N (Насти) алгоритм

Время на прочтение8 мин
Количество просмотров11K

Памяти Насти. Памяти дочери.

Что знаем об алгоритмах поиска? Есть граф. Чаще ориентированный. И некое целевое состояние. Фиксированное. А если нет?

Как, например, найти ребенка, который потерялся в лесу? Ведь не только вы его будете искать, но и он вас.

Передвигаться случайно? Да. Но еще лучше выбирать те направления, где меньше всего были. Есть дополнительные признаки, например следы? Отлично. В первую очередь ориентируемся на них. Потерялись следы? Вновь возвращаемся к поиску с учетом только памяти.

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии6
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Таиланд, Таиланд
Дата рождения
Зарегистрирован
Активность