Search
Write a publication
Pull to refresh
8
0
Алексей Козлов @zzzzzzzzzzzz

Подниматель пингвинов

Send message

Кэшбэк 5% на всё и бесплатные бизнес-залы: рассказываю, как выбрать лучшее премиальное банковское обслуживание

Reading time10 min
Views30K

Я проанализировал все топовые предложения банков для обеспеченных людей — в этой статье я рассказываю о том, как правильно подходить к выбору премиальных пакетов обслуживания, и как получить безлимитные 5% кэшбэка на все покупки + 10% на расходы в любых ресторанах, кафе и заправках. Актуально для тех, кто получает высокую зарплату, но раньше не особо интересовался, что с учётом этого можно стрясти с банков (на самом деле, довольно много!).

Читать далее

Что убивает кальциевые аккумуляторы, и убивает ли?

Reading time11 min
Views110K

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

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

Почему следует избегать использования JPA/Hibernate в продакшене

Reading time11 min
Views37K

JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё.

Читать далее

Домашний DPI, или как бороться с провайдером его же методами

Reading time16 min
Views308K

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!

Публикуем либку в maven central

Reading time7 min
Views6.6K

Предисловие


Решил я что то сделать полезное. Был проект в котором мы должны были вместо старого сервиса сделать новый, но лучше. Сервис большой получился, 10к строк бизнесс-правил+код на джаве 15к строк. Сейчас уже раза в два больше. Но так как логики много и никто толком уже многого не помнит (за тем нас и призвали, что бы были тесты, доки и минимум багов) надо было сравнить старый сервис и новый. Что бы наши тестеры не умерли от старости, пытаясь все проверить я подумал и написал сервис, который дергал апи старого и нового, сравнивал и сливал разницу ответов в базу, что бы тестеры проверили и мы пофиксили разницу. Но вот проблема, на входе у нас много параметров и возможных их значений, это же миллиарды комбинаций будут, проверять несколько месяцев с полной нагрузкой, да и похожих много.
В итоге сначала была рождена идея взять и сократить возможные изменения параметров и вообще выкинуть некоторые из перебора, а потом была взята на вооружение Pairwise testing теория и она позволила закинуть все параметры и все значенеия и все проверить целиком.

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

Личный IM-мессенджер со сквозным шифрованием только для своих

Reading time10 min
Views54K
В этой статье я рассказал, как сделать собственный безопасный мессенджер только для своей тусовки параноиков.

Сейчас есть много IM-мессенджеров с end-to-end шифрованием, но вариантов, которые можно быстро развернуть на своем сервере гораздо меньше.



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

Среди преимуществ этого подхода можно отметить:

  • Вы сами управляете своей информацией, в том числе ключами шифрования.
  • Вы не отдаете свою адресную книгу никому.
  • Нет необходимости использовать телефонный номер для регистрации.
  • Наличие клиентов под все популярные системы: Windows, Linux, Android, MacOS, iPhone.
  • Дополнительное шифрование STARTTLS/SSL при передаче сообщений, обеспечиваемое почтовым сервером.
  • Возможность настроить удаление старых сообщений с устройства (исчезающие сообщения).
  • Возможность настроить удаление сообщений с сервера, при получении.
  • Быстрая доставка, благодаря IMAP push.
  • Групповые защищенные чаты.
  • Поддержка передачи файлов, фото и видео.
  • Сервер и клиент относятся к открытому ПО и совершенно бесплатны.

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

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

Делаем эффективный обеззараживатель воздуха

Reading time4 min
Views9.8K

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

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

Читать далее

Статический генератор сайтов Hugo. Фронтенд реалии

Reading time5 min
Views20K
В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» которые все еще предпочитают статику или jquery, а может их жизнь, вынуждает к этому или специфические задачи. Каждый день мир веб-разработки пополняется новыми технологиями, и сегодня речь пойдет о статических генераторах сайтов.
Статический генератор сайта — программа, которая из различных исходных файлов (картинок, шаблонов в разных форматах, текстовых файлов и т.п) генерирует статический HTML-сайт. Один из ярких представителей — Hugo. Разработчики позиционируют Hugo, как «самая быстрая в мире платформа для создания сайтов».
«Самая быстрая в мире платформа для создания сайтов»

Ознакомиться с документацией можно на официальном сайте фреймворка. Далее речь пойдет об основных преимуществах, особенностях (здесь немного введения в фреймворк) и недостатках данного продукта. Эта статья не являться полноценным туториалом по Hugo. Я лишь пытаюсь сделать краткое введение в технологию и изложения некоторых мыслей из личного опыта, чтоб читатель смог решить стоит ли ему тратить время для более детального ознакомления с фреймворком и добавления его в свой арсенал фронтенд-разработки.

Несколько слов о HUGO


Hugo — один из самых популярных генераторов статических сайтов с открытым исходным кодом, написан на языке Go. Благодаря своей удивительной скорости и гибкости, Hugo делает создание веб-сайтов увлекательным.
Читать дальше →

Война за цифровую свободу идёт внутри наших принтеров

Reading time8 min
Views37K
image

С момента своего основания в 1930-х компания Hewlett-Packard стала синонимом инноваций: многие инженеры отдавали должное её надёжным генераторам, мини-компьютерам, серверам и PC. Однако на рубеже веков компания сменила своё название на HP и сосредоточилась на использовании сомнительных способов избавления несчастных владельцев принтеров от денег. Производители принтеров уже долгое время отличались этой порочной практикой, однако HP поистине стала новатором, настоящим Дартом Вейдером этой отрасли, всегда готовым силой заставить пользователя пойти на «сделку», а потом изменить её правила, ещё сильнее увеличив свою выгоду.

Недавно компания побила свой собственный рекорд, превратив свою программу «Бесплатные чернила на всю жизнь» в «Плати мне по 0,99 доллара ежемесячно до конца своей жизни, или принтер перестанет работать».

Перераспределение окон между мониторами после выхода из спящего режима

Reading time2 min
Views81K
У вас 2-3 монитора, на одном браузер и редактор кода, на втором мануал, на третьем почта, вы рассортировали окна как нужно. Далее пошли налить чашечку кофе, монитор выключился, вы пришли, подергали мышкой и вдруг все окна оказались на одном главном мониторе, всё в кучу, вы снова раскидываете окна и ситуация каждый раз повторяется.

Данная тема обсуждается на многих ресурсах, в том числе и на форуме Microsoft, но решение и четкое описание проблемы найти сложно.
Читать дальше →

Вторая жизнь Virtual Floppy Drive

Reading time4 min
Views20K
Когда-то давно у меня была коллекция старинных версий Windows в виртуалках, и для переноса файлов между хост-машиной и этими виртуалками приходилось использовать дискету, потому что поддержка shared folders появилась только в Windows for Workgroups.

Перенос файлов через дискету был медленным и шумным, и моему восторгу не было предела, когда я нашёл драйвер Virtual Floppy Drive, позволяющий создать «виртуальный флопповод» и подключить его в VM как обычный. К сожалению, интерес автора к своему проекту угас в 2005, а в 2010 его сайт и емейл перестали существовать. С тех пор в мире Windows успело произойти много перемен:

  • Повсеместно стала использоваться 64-битная ОС, в которую невозможно загрузить 32-битный драйвер, скомпилированный в 2005;
  • Windows начиная с Vista SP1 стала требовать для загрузки драйверов либо цифровую подпись, либо муторные манипуляции, требующие перезагрузку системы;
  • Проект, написанный в Visual C++ 6, не собирается в современных версиях Visual Studio после автоматической конвертации.
Читать дальше →

Принимаем криптовалютные платежи с Coinbase Commerce

Reading time3 min
Views9.8K


Если Вы планиуете подключать криптовалютные платежи и еще не знакомы с Coinbase Commerce, стоит потратить 5 минут Вашего времени. Расскажу о подключении, настройке и поделюсь готовым open source решениями для Nodejs.


Coinbase Commerce — это крипто-эквайринг без комиссий, паспортов, с отличным API и Вашим личным счетом.

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

Как смотреть «Ютубчик» на старых телевизорах без рекламы, управляя «родным» ИК пультом ДУ

Reading time7 min
Views39K
В далеком 2014 в разгаре появления Smart телевизоров я, как и большинство наивных обывателей, поддался маркетинговой уловке, и казалось бы вполне практической идеи объединить функции компьютера и телевизора в одном флаконе.
Читать дальше →

Google не узнает, что вы делали прошлым летом (ну почти)

Reading time10 min
Views51K

Google (или его родительский  холдинг Alphabet) на данный момент владеет самым популярным одноименным поисковым сервисом, самым популярным видеохостингом YouTube, самым популярным сервисом электронной почты с Gmail, самой популярной мобильной операционной системой Android и целым рядом популярных облачных приложений для работы с документами Google Docs. По крайней мере восемь продуктов корпорации имеют более миллиарда пользователей. Бородатая шутка из середины нулевых о том, что скоро мы все будем ездить на работу в Гугле на Гугле, чтобы заработать немного Гугла, сегодня оказалась близка к реальности как никогда.
Читать дальше →

Здоровье индексов в PostgreSQL глазами Java-разработчика

Level of difficultyMedium
Reading time5 min
Views22K

Привет.


Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным.


За последнее время я привёл в порядок несколько баз данных в наших микросервисах и написал java-библиотеку pg-index-health, которая облегчает эту работу, экономит моё время и помогает избежать некоторых типовых ошибок, допускаемых разработчиками. Именно об этой библиотеке сегодня и пойдёт речь.



Disclaimer


Основная версия PostgreSQL, с которой я работаю, это 10-ка. Все используемые мною SQL-запросы также проверены на 11-й версии. Минимальная поддерживаемая версия — это 9.6.


Предыстория


Началось всё почти год назад со странной для меня ситуации: конкурентное создание индекса на ровном месте завершилось с ошибкой. Сам индекс, как водится, в невалидном состоянии остался в базе. Анализ логов показал нехватку temp_file_limit. И понеслось… Копнув поглубже, я обнаружил целый ворох проблем в конфигурации БД и, засучив рукава, с блеском в глазах принялся их чинить.

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

Home видео для Selenium aka WebDriver. Или чем записать экран, если у вас есть java, поломанные тесты и немного времени

Reading time4 min
Views5.6K
Решили мы на работе автоматизировать тесты для нескольких своих веб приложений. И кроме информации, когда упали тесты, захотелось еще и увидеть, как выглядела страница на этот печальный момент.

Я уже давно не брал в руки шашки и Selenium, поэтому пришлось немного покопаться в интернете и поискать — что в этой ситуации делают умные люди. Решение, которое меня устроило в итоге, собрало несколько технологий: Java + Selenium + Junit + Allure + ffmpeg + VideoRecorder (by Pirogov). Но поскольку я все таки честно копался, пытаясь найти лучшее решение проблемы, то нашлось еще несколько альтернативных моему и более простых способов — как можно сделать слепок экрана.

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

Давайте посмотрим, что нам предлагают сделать.
Читать дальше →

Прощай, Google! 15 Альтернативных поисковиков, которые не шпионят, а сажают деревья и раздают воду

Reading time5 min
Views264K


Аве Кодер!

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

Аллокаторы памяти

Reading time20 min
Views115K
Всем привет! Не так давно, после очень плотного изучения аллокаторов и алгоритмов распределения памяти, а также в последующем применении их на практике мне в голову пришла идея написать статью, в которой будет максимально подробно рассказано о них. Считаю, что данная тема будет достаточно востребованной, так как в сети, особенно в русскоязычной части, на данный момент существует очень мало источников, посвященных этому вопросу.
Читать дальше →

Блеск и нищета key-value базы данных LMDB в приложениях для iOS

Reading time36 min
Views19K

image


Осенью 2019 года в iOS команде Облака Mail.ru произошло долгожданное событие. Основной базой данных для персистентного хранения состояния приложения стала весьма экзотическая для мобильного мира Lightning Memory-Mapped Database (LMDB). Под катом вашему вниманию предлагается её подробный обзор в четырех частях. Сначала поговорим о причинах столь нетривиального и трудного выбора. Затем перейдем к рассмотрению трёх китов в основе архитектуры LMDB: отображённые в память файлы, B+-дерево, copy-on-write подход для реализации транзакционности и мультиверсионности. Наконец, на сладкое — практическая часть. В ней рассмотрим, как поверх низкоуровневого key-value API спроектировать и реализовать схему базы с несколькими таблицами, включая индексную.​

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

Information

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