PHP Intl. Правильная транслитерация кириллицы

PHP Intl. Правильная транслитерация кириллицы

Современные фреймворки предоставляют готовый функционал в составе библиотек или хелперов для работы с библиотекой ICU (http://site.icu-project.org/home) через API Intl.

Такой функционал необходим для поддержки интернационализации разрабатываемого веб-сервиса. На основе указанной локали могут устанавливаться форматы отображения валют, времени и даты, а также подбираться настройки для инициализации транслитераторов (https://www.php.net/class.transliterator).

В разделе «Телеграм-каналы (https://chulakov.ru/notes)» сайта Студии во время автоматического импорта постов из наших каналов производится транслитерация названий заметок для формирования ЧПУ (https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BC%D0%B0%D0%BD%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_URL).

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

Например, уникальная часть URL заметки (https://chulakov.ru/notes/development/php-8-pocti-novogodnij-podarok) про релиз PHP 8 после транслитерации имела вид php-8-pocti-novogodnij-podarok. Замена некоторых букв произошла некорректно.

Для того чтобы транслитерация кириллицы производилась по традиционным правилам, необходимо произвести конфигурацию объекта-транслитератора (https://www.php.net/manual/ru/transliterator.create.php), передав следующее значение параметра $id:

Russian-Latin/BGN; Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;

После такой конфигурации результат преобразования наименования заметки изменится на php-8-pochti-novogodniy-podarok.

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

Михаил Греков написал, как сделать удобнее таблицы, с помощью которых пользователи управляют данными (CRM, ERP и прочие системы).

Михаил Греков написал, как сделать удобнее таблицы, с помощью которых пользователи управляют данными (CRM, ERP и прочие системы).

Михаил Греков написал, как сделать удобнее таблицы, с помощью которых пользователи управляют данными (CRM, ERP и прочие системы).

В первой статье разбирается просмотр данных.

1. Рабочая таблица должна занимать максимум места на экране. Как вариант — опция «на весь экран».
2. Объединяйте данные. Если есть данные о фамилии, имени и отчестве, их целесообразно вывести в один столбец ФИО. Должность или роль в системе тоже можно присоединить к ФИО.
3. Бесконечная прокрутка и кнопка «Показать ещё» не подходят для отображения строк таблицы. Делайте постраничную навигацию. Это удобно и для коллективной работы с таблицей.
4. Показывайте по умолчанию больше строк на одной странице: 50, 100, 500.
5. Используйте цветовые индикаторы. Красить строку целиком стоит только при отклонении от нормы.
6. При наличии цветовых индикаторов полезно отображать легенду цветов.
7. Храните пользовательские настройки вида, не сбрасывайте их после окончания сеанса.
8. Связанные сущности (название организации может быть связано с карточкой организации) полезно делать ссылками на соответствующие карточки. Но если таких сущностей в строке много, выделите только полезные в работе.
9. Строка должна подсвечиваться при наведении курсора. Должна быть возможность выделить строку кликом на неё.
10. Нет ничего страшного при появлении горизонтальной прокрутки.
11. В некоторых случаях полезно маркировать просмотренные записи.
12. Должна быть настройка отображения столбцов с системными свойствами (ID, дата создания, автор, дата изменения).
13. Переход к просмотру записи удобно сделать по двойному клику.
14. Иногда удобен режим предпросмотра, когда по клику открывается не вся запись, а сводка по ней, как в Google Drive.

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

Подтягивать слабые стороны или усиливать сильные?

Подтягивать слабые стороны или усиливать сильные?

В триатлоне, как ясно из названия, три дисциплины: плавание, велогонка и бег.

Я — начинающий спортсмен, и у меня любительский уровень бега, езды на велосипеде и практически нулевое плавание. Если хотите, подписывайтесь на меня в Страве (https://www.strava.com/athletes/chulakov).

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

В триатлоне существует масса форматов соревнований от разных организаций с множеством дистанций. Самым известным является Ironman. На полной железной дистанции, так это называется по-русски, надо 3,8 км плыть, 180 км ехать и 42,2 км бежать. Рассматриваем Ironman, потому что он ближе всего подходит для сравнения с любой профессиональной деятельностью — дистанция длинная, это не спринт.

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

Как атлету построить свою тренировочную программу, чтобы быстрее добиться результата? Это вопрос к профессионалам. Но есть мнение, что в какой-то момент, когда спортсмен уже вышел на неплохой уровень и хорошо справляется со всеми тремя этапами, ему нужно перестать компенсировать свою слабую дисциплину, тратя на это кучу времени. Вместо этого необходимо сфокусироваться на сильной стороне (велосипеде или беге), чтобы развить свои способности по максимуму.

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

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

Мой ТОП UX-мракобесия

Бесит, когда:

  • Ты нажимаешь на кнопку, а она не реагирует. Ты жмёшь ещё пару раз. А потом оказывается, что с первого раза всё пошло и твои последующие нажатия применились к другим записям.
  • Не говорят, что функции платные. Ты что-то сделал в приложении, пытаешься завершить, а тебе — плати.
  • Нельзя войти через соцсети. Нужна сильная мотивация, чтобы пользоваться чем-то, куда нельзя входить через гугл, яндекс или facebook.
  • Нельзя отписаться от рассылки, не входя в личный кабинет.
  • Что-то само всплывает. Разрешите уведомления, Подпишитесь на рассылку, Я Ваш консультант, Акция-распродажа — мракобесы.
  • упой юмор в серьёзных приложениях. "Ой, кажется, что-то пошло не так. Дышите глубже" — это не смешно, когда ты деньги переводишь.
  • Отсутствие реакции на обратную связь. Напишешь в обратную связь, а тебе в ответ никакого подтверждения: получили или нет, когда ответите?
  • Когда только зарегался или поставит приложение, а тебя просят отзыв. Я могу только двойку сходу поставить. Дайте понять, куда попал.
  • Интерфейсные тексты написаны с ошибками. Что же там внутри тогда, если копнуть. Персональные и платёжные данные доверять не хочется.

Три снайперские техники дизайна

Три снайперские техники дизайна

Сначала переформулировать задачу. Описать задачу в понятных и простых понятиях. Человеческие проблемы, главное и второстепенное, причины и следствия. Затем описать задачу в пяти словах. Например, «создать удовольствие знакомства с новостями» или «помогать человеку выбирать только нужное» и подобное. Формулировка — ясность мысли. Чтобы правильно объяснить себе цель и задачу нужно досконально изучить поведение людей, мотивы, привычки и то как уже реализуются потребности людей в повседневности.

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

Третье. Создавайте альтернативы визуального решения. Много разнообразных форм графики. Все, что способно увлекать человека , привлекать взгляд, быть зрительно необычным, но при этом знакомым по потенциальным возможностям функциональности. Самые простые решения в дизайне — на вершине огромной горы эскизов. Каждый визуальный приём, цвет, положение в макете, шрифт, форму — объясняйте смысл. Почему так? Почему это будет помогать? Как это улучшит впечатление человека?

Это три простые техники. Очевидные и простые. Но с ними не промахнешься.

Bad Blood

А я тем временем принесла вам обзор на книгу Bad Blood (в русском переводе - Дурная кровь) от Джона Каррейру.

Книга рассказывает историю стартапа-единорога "Теранос", который должен был произвести революцию в сфере здравоохранения и получил оценку в 10 миллиардов долларов – но за 15 лет существования так и не смог произвести на свет работающую и лицензированную технологию. Сейчас идет судебное разбирательство над основательницей компании Элизабет Холмс.

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

Книгу я однозначно рекомендую, хоть это и не бизнес-литература.

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

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