Pull to refresh
1
0
Кирилл @StPadre

User

Send message

Электросмачивание как интересный эффект для применения в самоделках и не только

Level of difficultyMedium
Reading time10 min
Views8.4K
Картинка — youtube-канал GaudiLabs, University of Cincinnati, Etulipa, Image Sensors World

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

Сфера применения этого эффекта весьма широка и позволяет использовать его как профессиональных целей, так и для разнообразных самоделок.
Читать дальше →
Total votes 57: ↑56 and ↓1+82
Comments10

Странное поведение планировщика запросов PostgreSQL

Level of difficultyMedium
Reading time9 min
Views7.7K

В одной из предыдущих статей я описывал проблемы, которые возникают при работе с временными таблицами. Тогда я вкратце описывал, почему нам приходится их так часто использовать. В частности, одной из причин была неправильная работа планировщика запросов в PostgreSQL. Многие из проблем планировщика запросов (и не только PostgreSQL) были также описаны в статье Почему не SQL. В этой статье я покажу достаточно простой и часто используемый случай, когда планировщик ошибается, что может приводить к значительному росту потребления ресурсов. 

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

Рассмотрим простую доменную логику, в которой есть документы и их строки. Для каждой строки вводится сумма. Строки лежат в отдельной таблице и ссылаются на документ :

Читать далее
Total votes 23: ↑23 and ↓0+28
Comments24

Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)

Level of difficultyEasy
Reading time8 min
Views41K

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.

В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.

Инструкция:
Total votes 135: ↑135 and ↓0+156
Comments126

Почему не SQL?

Reading time67 min
Views72K


Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Среди бизнес-приложений процент систем, использующих SQL, вообще стремится к 100%.

При этом большинство существующих материалов о SQL на хабре и других ресурсах сводятся к простым вопросам, вроде: «какие типы соединений бывают», «чем левое соединение отличается от правого», «что такое триггеры» и так далее. Более того, в этих материалах практически ничего не говорится о проблемах SQL (и его реализациях), которых на самом деле очень и очень немало. Поэтому мы решили восполнить оба этих пробела: с одной стороны рассказать, как многие вещи в SQL работают изнутри, а с другой стороны — почему они работают не так как нужно / хотелось бы.

При этом речь в статье пойдет не о «вкусах и цветах фломастеров». Все затрагиваемые проблемы носят фундаментальный характер: присутствуют при разработке практически любой информационной системы и не ограничиваются «красотой кода», а в той или иной степени приводят либо к критическому падению производительности, либо к существенному росту порога вхождения, либо к значительным трудозатратам со стороны разработчика.
Читать дальше →
Total votes 92: ↑87 and ↓5+82
Comments179

Доктора Кнут, Моррис и Пратт, или Как я перестал бояться и полюбил префикс-функцию

Level of difficultyMedium
Reading time9 min
Views9.8K

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

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

Читать далее
Total votes 37: ↑37 and ↓0+48
Comments24

Тестирование лучших self-hosted аналогов Notion

Level of difficultyEasy
Reading time6 min
Views19K

image


Хабр, в связи с уходом Notion выросла потребность в аналогичном решении, которое бы было сопоставимо удобной Wiki, Task Manager — платформе. 


Я испробовал десять self-hosted решений и нашел несколько почти идеальных! Вы можете развернуть их у себя на сервере, при работе над совместными проектами с командой или для ведения личных записей.

Читать дальше →
Total votes 45: ↑43 and ↓2+55
Comments34

«Жизни не существует»: обманчиво сложная задача определения жизни

Level of difficultyEasy
Reading time6 min
Views7.1K

Задумывались ли вы когда-нибудь о том, что делает вас живым? Что делает живым хоть что-то?

В 2012 году на заседании Американского химического общества, посвящённом происхождению жизни, Эндрю Эллингтон предложил радикальную теорию: «Жизни не существует». Энди — профессор химии из Техасского университета в Остине, и это был первый слайд его презентации о химии РНК и происхождении жизни. Его идея оставила меня в невероятном недоумении.

Я была озадачена, потому что, наверное, должна была бы согласиться с Энди. Но я не согласилась. Когда я присутствовала на лекции Энди, я была абсолютно уверена, что жива, как уверена и сейчас. Вы, вероятно, тоже уверены, что живы. Разве вы не прожили всю свою жизнь, живя? Быть живым — это важно. Это очень отличается от того, чтобы не быть живым.

Читать далее
Total votes 18: ↑14 and ↓4+18
Comments35

KC868-E16P: всё брутальнее и брутальнее (теперь с тумблерами прямо на контроллере)

Level of difficultyEasy
Reading time5 min
Views13K


Мне нравится подход Kincony к своей работе — видно, что они занимаются любимым делом, никого не стесняются и ни в чём не отказывают своему креативу: на этот раз они сделали то, чего не делал никто до них — установили прямо на плату контроллера 16 «кондовых» тумблеров. С технической точки зрения это решение спорное, но, надо отдать им должное, выглядит E16P очень круто и брутально.

Это уже ближе к натуральному киберпанку и если вы установите такого красавца в свой электрощит, то, несомненно, станете звездой легендой местных электриков (смайл).

Разумеется тумблеры — это не единственное достоинство KC868-E16P, о прочих характеристиках и нововведениях E16P мы поговорим далее в этой статье.
Читать дальше →
Total votes 20: ↑19 and ↓1+28
Comments24

Хранение данных в Postgresql

Level of difficultyMedium
Reading time10 min
Views15K

В этом тексте хочется подробнее рассмотреть хранение данных в PostgreSQL на физическом уровне.

Для начала определимся с общеизвестными вещами. Данные хранятся в таблицах, таблицы находятся в схемах, схемы, в свою очередь, в базах данных. Под данными я тут подразумеваю одну или несколько строк. В качестве примера будем рассматривать эталон критики, по моему личному мнению, цитаты Линуса Торвальдса.

Подробнее под катом
Total votes 19: ↑18 and ↓1+21
Comments3

Демосцена и FreeBSD

Level of difficultyMedium
Reading time10 min
Views8K

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

FreeBSD — мягко говоря не самая подходящая система для занятия оптимизированной графикой, поэтому наличие такого количества демо создаваемых под эту систему озадачило.

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

Погрузиться в тему
Total votes 25: ↑24 and ↓1+33
Comments42

Задача коммивояжёра в общем виде. Наибыстрейшее точное решение

Level of difficultyEasy
Reading time6 min
Views15K

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

Тут я хочу подытожить все опробованные подходы и выбрать лучший по моему мнению.

Читать далее
Total votes 36: ↑35 and ↓1+42
Comments29

Удавка на собесе

Level of difficultyEasy
Reading time16 min
Views45K

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

Читать далее
Total votes 126: ↑109 and ↓17+114
Comments476

Как устроены дисплеи. Подробный разбор

Level of difficultyEasy
Reading time61 min
Views59K

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

Основные характеристики — всякие яркости, HDRы, контрасты и цветовые охваты, что они значат и зачем нужно 120Гц, мы разобрали в предыдущей части.

Осторожно, трафик >
Total votes 95: ↑94 and ↓1+119
Comments134

FLUX — новая нейросеть для генерации изображений от создателей Stable Diffusion

Level of difficultyEasy
Reading time5 min
Views20K

Всем привет!

Flux.1 D — это мощная модель для генерации изображений по текстовому описанию. Меня зовут Вандер, я куратор клуба по нейросети Fooocus и нейро-энтузиаст, и сегодня мы разберемся, почему вам точно стоит обратить внимание на свежеиспеченную Flux.

Разработчики Flux - бывшие создатели Stable Diffusion и Stable Diffusion XL - Робин Ромбах и Андреас Блаттман. Оба выступали за идею, но компания преследовала только коммерческие интересы Как итог - произошел конфликт и ключевые фигуры покинули Stability AI. Недавно ими была создана новая компания The Black Forest Team, которая и представила нам Flux.

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

Модель очень хорошо следует промпту и распознает текст.

В статье мы посмотрим, как запустить Flux онлайн и локально, а так же на ее возможности.

Читать далее
Total votes 55: ↑51 and ↓4+61
Comments45

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Reading time4 min
Views144K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее
Total votes 151: ↑147 and ↓4+166
Comments137

Как объединить кластеры Kubernetes без даунтайма: пошаговая инструкция

Level of difficultyEasy
Reading time10 min
Views5.6K

Однажды один мудрый DevOps сказал мне: «DevOps’ы — это люди, способные сделать всё, лишь бы не делать ничего». Привет, Хабр, я Алексей Подольский, лидер направления инструментов безопасной разработки в Cloud.ru. Сегодня я расскажу, как сделать жизнь чуть легче, если кластеров кубера в проектах развелось столько, что за всеми не уследить. Будем объединять кластеры в один, да так, чтобы падали затраты, а не прод. Будет полезно админам, DevOps’ам, прикладным архитекторам, и всем, кто работает с Kubernetes. Поехали!

Читать дальше
Total votes 4: ↑4 and ↓0+6
Comments1

GET запросы на практике: правила, принципы и примеры

Reading time14 min
Views49K

Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.

Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, безусловно, необходимо для общего понимания технологий, но практически не помогает, когда ты сидишь перед пустой страницей и надо начать “проектировать контракт”.

Я работаю тимлидом направления системного анализа в X5Tech и за все время развития карьеры сталкивалась с большим количеством кейсов проектирования Web систем. IT продукты в большинстве очень динамичны: постоянно изменяются требования, появляются новые, итеративно улучшается пользовательский опыт (по принципу 20% усилий на 80% результата, а остальное доделаем потом).

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

В этой статье предлагаю спроектировать контракт по шагам, и на каждом из них я расскажу про общие рекомендации из копилочки “Полезное”, а также про личные правила и практики, полученные долгим опытом работы над постоянно меняющимися ИТ-продуктами, которые помогут для “дальновидного” проектирования GET REST API.

Читать далее
Total votes 25: ↑23 and ↓2+24
Comments13

Памятка по BPMN и BPMN-диаграммам

Level of difficultyEasy
Reading time7 min
Views31K

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

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

Читать далее
Total votes 49: ↑47 and ↓2+60
Comments35

Ультимативная дорожная карта для изучения SQL и баз данных в 2023 году + источники для знаний

Level of difficultyEasy
Reading time9 min
Views53K

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

Читать далее
Total votes 15: ↑12 and ↓3+11
Comments12

Курс «PostgreSQL для начинающих»: #2 — Простые SELECT

Level of difficultyEasy
Reading time14 min
Views26K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

Сегодня поговорим о самых простых, но важных, возможностях команды SELECT, наиболее часто используемой при работе с базами данных - формировании выборок (VALUES), их ограничении (LIMIT/OFFSET/FETCH), фильтрации (WHERE/HAVING), сортировке (ORDER BY), уникализации (DISTINCT) и группировке (GROUP BY).

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity