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

chulakov_dev 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.

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

Денис Ломов #2 - о работе с заказчиком и Воронежском дизайн-сообществе.

Креативный директор Red Collar.
http://redcollar.ru/

— Немного рефлексии. Какой твой проект ты считаешь самым неудачным?

Ох, тяжело ответить. Я понимаю под словом "неудачный" когда мы хотели сделать круто, но не получилось по каким-то причинам, и от этого обидно. Например, insider.moscow - первая версия сайта была стильная и цельная, а потом мы пошли на поводу у клиента, и сначала сделали главную страницу "светлой" - мы прозвали это "кокаиновый инсайдер". А после он стал превращаться в монстра. Ну а сейчас уже другая компании все дорабатывает, меняет, поэтому лучше на него не заходить))

— Что ты бы сделал по-другому, чтобы этого не случилось?

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

— Хорошая позиция. Немного про работу в Воронеже. Что из себя представляет местное дизайн-сообщество?

Да его по сути нет. Есть некоторые хорошие дизайнеры, но сообществом это не назвать. Мы стараемся на это повлиять. В прошлом году проводили 2 серии бесплатных офлайн лекций, где дизайнеры Red Collar делились знаниями с желающими: были как студенты, так и ребята из других студий.

— Как устроится к вам на работу дизайнером? И на какие навыки или качества ты смотришь в первую очередь?

В первую очередь смотрю на человеческие качества. Хороший человек при огромном желании, стремлении и упорству может стать классным дизайнером. А вот крутой дизайнер хорошим человек не станет. Обычно дизайнеры начинают со стажировки. Но даже для стажировки надо выполнить тестовое задание. Это кстати легко помогает отсеивать "суперзвезд", которые кидают портфолио на биханс. Нежелание выполнить тестовое задание сразу ставит крест на соискателе. Нам не нужны дизайнеры, которые просто хотят сменить место работы или узнать, какую им зарплату предложили бы. Мне важно, чтобы дизайнер хотел работать именно у нас, ну и был готов приложить для этого усилия.

— Так, а какого дизайнера ты точно никогда не возьмешь на работу?

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

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

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

Достижения через преодоление себя против наслаждения процессом достижения целей

Достижения через преодоление себя против наслаждения процессом достижения целей

Рассмотрим две популярные точки зрения.

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

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

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

Вторая точка зрения про, якобы, «умное» достижение результата с помощью наслаждения процессом.
— Раньше люди были жертвами пропаганды, а мы сейчас прогрессивные и умные, нас не одурачить, — рассуждает молодежь, выходя из машины каршеринга и поднимаясь в съемные апартаменты.

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

Определимся со спортивными целями. Они могут быть разными:
1. Не хочу быть толстым, поэтому буду бегать 2-3 раза в неделю.
2. Хочу красивое тело — буду ходить в зал 3-5 раз в неделю.
3. Хочу стать марафонцем.
4. Хочу пробежать марафон из 3-х часов.
5. Хочу стать КМС в каком-либо виде спорта.
6. Хочу поучаствовать в ЧМ по триатлону.

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

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

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

Чем выше планка — тем больше страданий и дисциплины. Это нужно либо принять, либо поумерить свои амбиции.

В работе, карьере и бизнесе тоже самое. Кто не готов к выматывающему соперничеству, не готов страдать — может рассчитывать на плавные и доступные массам достижения.

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

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

Сколько нужно протестировать пользователей, чтобы обеспечить достаточную для большинства случаев точность исследования?

Сколько нужно протестировать пользователей, чтобы обеспечить достаточную для большинства случаев точность исследования?

Немного матана! Совсем недавно, на интервью я столкнулся с интересным вопросом: «Сколько нужно протестировать пользователей, чтобы обеспечить достаточную для большинства случаев точность исследования?»

И казалось бы, ответ довольно очевидный: мол Нильсен говорит 5. Но почему 5? Откуда это магическое число? Без математики не обошлось.

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

Если прорезюмировать, то можно сказать, что Нильсен не был не прав 🙂 Однако стоит приводить полный ответ:

—————————————————————————

Если во время тестирования эксперименты будут независимыми, а выборка по крайней мере квазислучайной, то мы можем предположить, что при тестировании 5 пользователей мы обнаружим 85% ошибок, с которыми сталкиваются не менее 31% пользователей.

—————————————————————————

Последняя часть, вообще интересная, не правда-ли? ) «Не менее 31% пользователей», то есть в самом неудачном случае 59% пользующихся так и не столкнуться с проблемами. Но это не слишком страшно.

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

http://bit.ly/2UqfhOs

Как покупать гемы VeVe?

Как покупать гемы VeVe?

1) Купить в самом приложении. Курс гема равен доллару + сверху начисляется комиссия либо гугла, если андроид, либо эпла, если айфон.

2) В чатах. Актуальный курс нужно мониторить. Поймёте по сообщениям и сделкам.
Пример чата: @VeVe2ndMarket
Проводите сделки ТОЛЬКО через гаранта. Гаранты есть в чате, читайте их закреп. Я провёл через них не одну тысячу гемов, а создателю площадки продал не один десяток тысяч гемов.
Чат англоязычный, гаранта там обзывают escrow. Комиссия гаранта 5$, обычно её оплачивает покупатель.

3) У меня, я продаю по 0.8$ за один гем. У меня не всегда есть гемы на продажу из-за лимитов на устройствах. Продаю от 50 гемов. Если заигнорил по этому вопросу, то можете пингануть ещё раз.

Кстати, на перепродаже гемов можно заработать, но это уже другая история.

Бывает, сервисы прикидываются добрыми друзьями, пока платишь.

А как только перестаешь платить, переобуваются и переходят к формализму и снисходительному тону.

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

Netflix остаются друзьями до конца и держат тональность и с теми, кто не платит. Давай, говорят, обновим платежную инфу и будем снова наслаждаться. Приятно.

Чтобы не прогадать, можно вообще не прикидываться другом и всегда держаться нейтрально, как Apple Music.