Search
Write a publication
Pull to refresh
41
0
Александр @alcanoid

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

Send message

Заблуждения программистов о картах

Reading time12 min
Views56K


Дизайн систем быстро выявляет ошибки в восприятии закономерностей функционирования мира. Те правила, которые кажутся непреложными истинами, могут ими не оказаться.

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

Заблуждение 1. Форма Земли — это просто


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

Заблуждения программистов о телефонных номерах

Reading time3 min
Views66K
Список составили разработчики Java, C++ и JavaScript библиотеки libphonenumber для парсинга, форматирования и проверки телефонных номеров

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

1. Телефонные номера, действительные сейчас, останутся действительными всегда. Телефонные номера определённого типа (например, мобильные), никогда не сменят тип.

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

Подсказка. Не сохраняйте свойства телефонного номера, такие как валидность или тип. Проверяйте эту информацию с помощью библиотеки, когда необходимо.
Читать дальше →

Заблуждения программистов об именах

Reading time3 min
Views90K
Две недели назад на Хабре публиковался перевод «Заблуждения программистов о времени», который по своей структуре и стилю основан на этом классическом тексте Патрика Макензи, опубликованном два года назад. Поскольку заметка о времени была крайне благоприятно воспринята аудиторией, то, очевидно, имеет смысл перевести и исходную статью об именах и фамилиях.

Джон Грэхем-Камминг (John Graham-Cumming) сегодня жаловался в своём блоге, что компьютерная система, с которой он работал, не приняла его фамилию из-за недопустимых символов. Конечно, там нет недопустимых символов, потому что любой способ, как человек представляет себя, — по определению — является подходящим идентификатором. Джон выразил сильную досаду насчёт данной ситуации, и он имеет полное право, потому что имя — суть нашей индивидуальности, практически по определению.
Читать дальше →

Почему ваш веб-сайт должен быть меньше 14 КБ

Reading time6 min
Views72K

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

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

Встраиваем Lua в PHP через FFI

Reading time24 min
Views5.4K

Foreign Function Interface — это перспективная альтернатива для традиционных PHP-расширений.


Сегодня мы будем разбирать FFI-библиотеку для работы с liblua5 из PHP, которая позволит исполнять скрипты на Lua из нашего приложения.


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

Не трогайте разработчиков. Отстаньте. Просто не беспокойте

Reading time13 min
Views77K


Всем привет! Меня зовут Ян, я руководитель разработки Департамента ИТ инвестиционного бизнеса Газпромбанка. Совершенно неожиданно я занял первое место на конференции Highload++ с докладом про то, как организована работа в наших командах разработки.

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

В результате из простой задачи «не трогайте разработчиков» получилось сделать и очень правильное обучение (если вы дежурите, то у вас нет шансов не разбираться во всех процессах команды), и снижение техдолга (дежурный не берёт таски по фичам на спринты, но может заниматься документацией и всякими вещами в наведении порядка, до чего обычно не доходят руки), и много чего ещё. Сначала казалось, что за это мы платим снижением эффективности команды на 8–10 % (ведь мы выключаем дежурного из разработки), но на деле оказалось, что эффективность даже растёт. Есть ряд вещей, которые очень поменялись и в управлении такими командами в лучшую сторону.

Естественно, такой подход имеет кучу подводных камней и подходит далеко не всем и не каждому типу команд.

Сейчас расскажу про практический опыт.
Читать дальше →

Что надо знать, чтобы брать туры дешевле: как всё это устроено (и как взять отель в Сочи за 1116 рублей на 5 ночей)

Reading time5 min
Views81K

Двухместный номер за 112 рублей в сутки на человека будет примерно вот такой, это 750 метров от центра Красной Поляны.

Прошлый раз было много вопросов про ценообразование, постараюсь ответить. Начну с азов. Самостоятельный путешественник обычно ищет билеты на «Скайсканнере» или AWAD’е. Потом, взяв билеты, выбирает квартиру на AirB&B или отель на «Букинге». Потом идёт и страхуется. Экскурсии набирает на месте по ситуации. Туры нормальный ИТ-специалист, например, заказывает только для родителей, которые не знают языка.

Стратегия самостоятельной брони разумна в 70–80% случаев. Самые опытные путешественники знают, что есть ещё две волшебных фишки:

— Взять готовый тур (он может получиться раза в полтора дешевле, чем самостоятельная покупка билетов и отеля).
— Или же взять только отель из готового тура (это чаще всего вообще дичайший профит).

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

При поездке в Исландию так не выйдет. А вот по популярным направлениям есть варианты. Например, на сегодняшнее утро можно пожить 5 ночей в Сочи в хорошем двухместном номере, получить перелёт, завтраки и трансфер за 12 тысяч 35 рублей. Это на двоих, то есть 6018 рублей на человека. Именно столько стоят билеты в оба конца, если их брать за три недели, а тут ещё отель, завтраки и трансфер (такси от аэропорта до Сочи стоит 850 рублей в одну сторону, поезд — 150 рублей за взрослого). Ниже покажу ещё варианты для Турции и Греции.

Но начну с ответа на вопрос, где подвох.
Читать дальше →

18 отборных однострочных команд Linux

Reading time4 min
Views40K

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

Приступим!
Читать дальше →

Другая Латинская Америка и как туда уехать удаленщиком

Reading time5 min
Views18K

Мы привыкли представлять себе Латинскую Америку как такой тропический рай, в котором красивые люди играют в волейбол под пальмами где-то на белоснежном пляже... это правда, но есть и совсем другая Латинская Америка, которая больше похожа на Швейцарию, чем на тропическую сказку. Добро пожаловать в город Барилоче в Аргентине - это новая популярная локация для удалeнщиков со всего мира!

Vamos!

Адаптивные таблицы в вебе

Reading time53 min
Views28K

Таблица — один из самых эффективных способов подачи ТЕКСТОВОЙ информации: на минимуме пространства размещено максимум данных. И что не менее важно — эти данные доступны не только для восприятия, но и для анализа (СРАВНЕНИЯ). Основная сложность таблиц при верстке — их адаптивность для устройств с небольшими экранами (мобильных девайсов). Можно ли сделать так, чтобы даже на экране с размерами в несколько сантиметров таблицы могли быть удобными для восприятия?

Читать далее

RustDesk — self-hosted аналог TeamViewer

Reading time2 min
Views107K

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

Читать далее

Руководство по обеспечению высокой доступности в Kubernetes

Reading time11 min
Views13K

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

Создание telegram web apps и взаимодействие с ними в телеграм ботах

Reading time8 min
Views349K

В обновлении Bot API 6.0 телеграм-боты получили много новых функций. Из них для разработчиков самая примечательная - Telegram Web Apps (Веб-приложения внутри телеграм). С этим нововведением разработчики могут подключать к своим ботам web-приложения, которые открываются в дополнительном окне, что сильно расширяет инструментарий, а, следовательно и функционал ботов в телеграм.

Читать далее

Киргизия: интернет без цензуры, величественные горы и парадокс водителей

Reading time19 min
Views74K

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

Я не был исключением. Мой выбор пал на горную Киргизию. За последние два месяца я увидел очень мало отзывов и рассказов от айтишников, которые уехали в Бишкек, поэтому я решил написать свой. Если вам интересно, как живется в Бишкеке, как тут обстоят дела с интернетом и работой и как киргизы относятся к русским, то добро пожаловать под кат!

Читать далее

Данайский захват (власти в соседнем отделе)

Reading time7 min
Views21K

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

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

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

Цель тоже может варьироваться. Основная, или наиболее распространённая – полный захват власти (вы становитесь начальником). Альтернативная – низвергнуть текущего начальника этого отдела. Речь может идти и об увольнении, и о понижении в должности, и о потере доверия со стороны вышестоящих.

Читать далее

Иностранные хостеры с возможностью оплаты из России

Reading time4 min
Views128K

Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. В последнее время мне в обратную связь начало поступать очень много вопросов, каким образом можно оплачивать зарубежный хостинг, так как Visa и MasterCard Российских банков перестали работать не в России.

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

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

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

Читать далее

Как работает перспектива в изображениях?

Reading time9 min
Views34K
«Линза доминировала уже шесть сотен лет и я считаю, что изображениям пора отходить от неё. Если это произойдёт, может случиться что-то чудесное».Дэвид Хокни, 2022 год

У вас когда-нибудь было такое: вы фотографируете какую-то далёкую сцену, а на фото она выглядит слишком маленькой по сравнению с её окружениями?


Комикс Мег Адамс

В этом посте мы поговорим о том, как возникает это явление, и что мы с ним можем сделать.
Читать дальше →

Что такое Теория Флагов или как эффективно жить на несколько стран

Reading time5 min
Views24K

Представьте картину. Вы живёте в той точке планеты, в которой хотите в данный момент. Вы уверены в сохранности своего капитала, что всё лежит в надежных банках, и никто это у вас не отнимет. Ваша приватность остается вашим личным делом. И вы не платите никакие налоги (ну или платите очень низкие). Звучит слишком хорошо, чтобы быть правдой, но это как раз то, к чему стремится Теория Флагов.

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

Дефицит есть, а денег не дают. Почему?

Reading time27 min
Views301K

Мы уже выяснили, что у нас есть дефицит рабочих рук во всех отраслях. На примере СССР увидели, что дефицит легко закрывается деньгами и плюшками, что сейчас и происходит в IT. Однако при дефиците рабочих рук в остальных отраслях зарплаты остаются на уровне Румынии и никак не подтягиваются. Почему?

Читать далее

Information

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

Specialization

Backend Developer, Software Architect
Lead
PHP
Database
High-loaded systems