Pull to refresh
0
0
Никита @Perf2k2

User

Send message

Лучшие в мире батарейки по цене 13 рублей 75 копеек

Level of difficultyEasy
Reading time2 min
Views55K
Ашан снова удивил. В продаже появилась новая версия батареек Auchan High Performance по цене 55 рублей за упаковку из четырёх штук.

Честно говоря, я ожидал, что при всеобщей «шринкфляции» новые батарейки будут менее ёмкими, чем те, что продавались в 2020 и 2021 году, но, к моему большому удивлению, оказалось наоборот.


Читать дальше →
Total votes 127: ↑125 and ↓2+123
Comments82

8 вещей, о которых забывают разработчики при переносе приложения в Kubernetes

Reading time11 min
Views15K

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

Наш субъективный список — под катом. Пополните его своими рекомендациями в комментариях!
Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments2

Делай нейминг как сеньор

Reading time13 min
Views115K

Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.

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

Читать далее
Total votes 186: ↑184 and ↓2+182
Comments221

Интернет-цензура и обход блокировок: не время расслабляться

Reading time10 min
Views158K

Disclaimer: практически всё описанное в статье, не является чем-то принципиально новым или инновационным - оно давно известно и придумано, используется в разных странах мира, реализовано в коде и описано в научных и технических публикациях, поэтому никакого ящика Пандоры я не открываю.

Нередко на Хабре в темах, посвященных блокировкам ресурсов встречаются забавные заявления, вида "Я настроил TLS-VPN, теперь будут смотреть что хочу и цензоры мой VPN не заблокируют", "Я использую SSH туннель, значит все ок, не забанят же они SSH целиком", и подобное. Что ж, давайте проанализируем опыт других стран и подумаем, как же оно может быть на самом деле.

Читать далее
Total votes 329: ↑324 and ↓5+319
Comments518

YAML из Ада

Reading time9 min
Views60K

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

Данный пост является нытьём и он более субъективен, чем мои обычные статьи.
Читать дальше →
Total votes 221: ↑218 and ↓3+215
Comments186

25 правил разработки программных интерфейсов [издание третье, дополненное и расширенное]

Reading time33 min
Views9.1K

Это — очередная (уже третья) ревизия главы 11 мой книги о разработке API. Если вы найдёте этот текст полезным, я буду очень благодарен за рейтинг на Амазоне.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments41

Как живется в США «неайтишникам». Два года спустя

Reading time11 min
Views167K

Два года назад я написал на хабре статью Как живется в США «неайтишникам», которая собрала 194 000 просмотров, 561 комментарий и вошла в список лучших статей 2020 года. И вот, два года спустя я решил пробежаться по тем же тезисам, чтобы провести некий срез, как изменилась обстановка в США и мое место в ней, особенно в свете последних событий.

Про жизнь, траты, поиск и смены работы и перспективы. Мне 38, я по образованию биотехнолог, семья — два человека, английский язык — так себе. Живу в Северной Каролине почти два года. Обещаю без политики и максимально объективно.

Читать далее
Total votes 709: ↑648 and ↓61+587
Comments1315

Ретропоезд с паровозом

Reading time7 min
Views51K


Пока вы тут сидите, РЖД отлично продаёт билеты на ретропоезда. Это которые, натурально, с паровозом. Да, паровозы переживут многое, включая ядерную войну. Да, на нашем стратегическом резерве можно проехаться.



Итак, у нас ретропоезд «Рускеальский экспресс», который ходит по Карелии от города Сортавалы до горного парка Рускеала. Это 5 часов от Петербурга на важную туристическую точку.

А ещё кроме ретропоезда с нами поехали ретропассажиры. Точнее, студенты театрального колледжа, которые ставили иммерсивную постановку про коммунистов, перевозящих золото партии. Чем вынесли мозг немалому количеству пенсионеров.
Читать дальше →
Total votes 206: ↑198 and ↓8+190
Comments70

Новая игра со старой атмосферой на Three.js

Reading time9 min
Views27K
Существует множество поклонников старых игр. И они не прочь пустить скупую ностальгическую слезу и нет-нет, да сыграть в «Арканоид», «Пакмана» или «Принца Персии», как двадцать, тридцать, сорок или — подставьте нужное число — лет назад. DOS-box и эмуляторы — им в помощь. Да, что там, я недавно смотрел стрим самого первого 2D «Принца Персии» на Ютьюбе, где довольно молодой «стример» после прохождения очередного смертельного препятствия, смахнув со лба пот рукой, изрек: «Мне еще никогда не было так страшно в компьютерной игре». То есть, даже молодежь способна оценить хардкорность и крутизну старых игр.


Я подумал, а почему бы не создать новую игру в подобном стиле? Да, существуют различные ремейки и клоны. Также, радуют современные игры в стиле пиксель-арт. Однако, все они, как правило, повторяют квесты, механики и иногда вообще полностью левел-дизайн старых игр, по мотивам которых они сделаны. Ну либо, наоборот, предлагают совершенно новый сюжет и локации, являя собой просто визуальную стилизацию «под старину». А что, если представить, какой была бы новая часть старой игры, выйди она следом за последней из серии? Я решил такую создать.
Total votes 144: ↑144 and ↓0+144
Comments76

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views114K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



Читать дальше →
Total votes 88: ↑82 and ↓6+76
Comments79

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views190K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10+114
Comments34

Деревянная мышь. История проекта

Reading time17 min
Views143K
Вы когда-нибудь задумывались, как устроены вещи, какой путь они проходят от идеи до реализации, насколько просты простые вещи? Насколько просто сделать расческу? А компьютерную мышь? А деревянную компьютерную мышь из цельного бруска красного дерева с ЖК экранчиком, с собственной электронной начинкой и изготовленным и оплетенным специально для нее кабелем? Думаю, вам будет интересен мой путь, который я прошел за 2,5 года создания моей мышки.



Читать дальше →
Total votes 580: ↑574 and ↓6+568
Comments440

Yii в phar'е

Reading time2 min
Views4.9K
Как только я узнал об исполняемых PHP-архивах phar, сразу же захотелось их попробовать. Разработчиками, да и на хабре, это добро было довольно неплохо разрекламировано. Была информация о том, что использование архивов +APC даёт прирост производительности в 6 раз.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments19

Код CSS «с душком»

Reading time8 min
Views106K
Недавно Крис Койер отвечал на вопросы читателей Smashing Magazine. Один из вопросов был о том, как распознать код CSS с «душком»:
Как можно определить, что ваш CSS пованивает? Какие признаки указывают на то, что код неоптимален или что разработчик писал его спустя рукава? На что вы смотрите в первую очередь, чтобы определить, плох или хорош код?

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

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

Я хочу поделиться несколькими вещами, на которые я обращаю внимание прежде всего, чтобы составить впечатление о качестве, сопровождаемости и чистоте кода CSS.
Читать дальше →
Total votes 165: ↑155 and ↓10+145
Comments131

Элементарные социальные share-кнопки

Reading time3 min
Views194K
В ответ на посты о кнопках для шаринга в социальных сетях с громоздким исходным кодом, и сложной детальной кастомизацией, хочу показать хабрасообществу решение которое однажды написал неизвестный, но однозначно добрый программист. Автор сего чуда не я, но использую это решение уже больше года в проектах с которыми работаю.
Читать дальше →
Total votes 78: ↑68 and ↓10+58
Comments58

Производительность веб-шрифтов

Reading time3 min
Views41K


Применение веб-шрифтов становится все популярнее: согласно HTTP Archive, за последний год число сайтов, использующих дополнительные шрифты, выросло вдвое — с 6 до 12%.

Слабым местом веб-шрифтов является производительность, однако ситуация постепенно меняется в лучшую сторону: появляются более совершенные методы сжатия, улучшается поддержка браузерами, unicode, отдельные наборы шрифтов и т.д.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments32

CSS спрайты: основные техники и полезные инструменты

Reading time3 min
Views244K
Использование CSS-спрайтов на сайте позволяет повысить производительность и грамотно организовать элементы интерфейса.



Sprite Sheet — это одно большое изображение мелких графических элементов сайта, например иконок или кнопок. И благодаря CSS можно отображать каждый элемент отдельно.
Читать дальше →
Total votes 88: ↑77 and ↓11+66
Comments33

Базовые стили и полезные CSS-сниппеты

Reading time6 min
Views146K


В этой статье собраны полезные  и «правильные» стили и сниппеты, которые помогут ускорить процесс разработки сайта, а также оптимизировать верстку.
Читать дальше →
Total votes 163: ↑118 and ↓45+73
Comments54

Tor? I2P? Может быть, что-то еще?

Reading time3 min
Views74K
Привет, друзья!

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

1. Попытки «фильтровать» контент будут усиливаться


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

Но анализ трафика, по моему мнению, является серьезной проблемой на пути к свободе распространения информации. Особенно в России.

С другой стороны, готовы ли мы сами к тому, что посетители сайтов станут анонимами?

2. На сегодня нет нормальных способов противостоять фильтрации


К сожалению, мне известно только 2 проекта, которые предоставляют более или менее стабильную и пригодную к употреблению систему обхода попыток фильтрации: это Tor и I2P. Но о каждом подробнее.
Читать дальше →
Total votes 73: ↑50 and ↓23+27
Comments127

Арсенал веб-дизайнера

Reading time2 min
Views162K
В интернете существует множество сайтов, помогающих веб-дизайнеру в работе: ресурсы с иконками, плюшками для фотошопа, UI-китами, шрифтами, вдохновляющими работами других дизайнеров и многим другим. В этой статье я постарался собрать самые полезные сайты для веб-дизайнеров.

Большие и популярные сайты


Behance - работы лучших дизайнеров со всего мира

Читать дальше →
Total votes 131: ↑108 and ↓23+85
Comments40
1

Information

Rating
Does not participate
Location
Красногорск, Москва и Московская обл., Россия
Date of birth
Registered
Activity