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.

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

Вы должны побывать на «дне», чтоб было с чем сравнивать

Вы должны побывать на «дне», чтоб было с чем сравнивать

— Мониторы у вас излишне чёрные и недостаточно эстетичные
— Не хочется делать проекты для behance
— Не хочется ездить в офис на работу
— Ой, чё-то я прям не могу себя заставить за эту задачу взяться

Вам несказанно повезло, если вы сразу же попали в хорошую компанию и не прошли кругов ада, которые проходит большинство.

Однако, всё познаётся в сравнении и если у вас нет этого «дна», с которым можно сравнивать — ценить то, что есть сейчас, вы полноценно не сможете.

Вы даже не сможете понять, что это нечто иное, нечто классное и уникальное и надо здесь задержаться.


Вспоминаю, как пришла работать в 1C:Битрикс.
По грёбаному дождю еле нашла их офис в какой-то вонючей(буквально) промзоне. Сначала час на вот этот текст на логику с шнусмумриками…

Потом задача на цикл, которая не хотела решаться. А в результате оказалась с ошибкой в условии. Какой-то прыщавый лид-программист, чьё ЧСВ было таким же жирным как и он сам.
Скептический настрой, только потому что ты девочка.
И вообще всё это нахер ему не надо. Эти тупые кандидаты, которые не могут решить придуманную задачу. «Господи, как же вы заебали» — читалось в его уставших красных глазах.


А работа в банке Русский Стандарт.
Более депрессивный, подставляющий друг друга персонал ещё поискать: тёлочки конкурировали друг с другом, рвали бумаги, вырывали клиентов друг у друга. Двухнедельное(с утра до ночи) бесплатное обучение всей системе рассчёта кредитных продуктов, страховок, выявления мошенников и поддельных документов. Страх отчисления, ежедневные чистки, унижения. Отсутствие эмоций и поток людей. Угрозыск, задержания, показания, золотые цепи на груди. Немые младенцы мошенников. Стопки налички из рук в руки под столом.


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


Для 90% компаний, люди — это мясо, средство достижения цели.
На ваши эмоции плевать. Ваши идеи никому не нужны.


Иногда нужно побывать на «дне», чтоб было с чем сравнивать и научиться ценить.


С любовью ❤️ гав-гав

Bad Blood

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

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

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

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

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

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

Профессии

Что думал в начале 2019:
- Рост и развитие в профессии — важная для меня ценность. Искренне не понимаю, как можно всерьёз заниматься чем-то, если не испытывать постоянное жгучее желание научиться это делать лучше.
- Интересующиеся ребята читают книги и блоги по профессии, ходят на конференции, сами пишут посты и доклады, учатся у старших товарищей и помогают младшим. И каждый год удивляются тому, какими наивными были год назад. Только так и можно работать и жить.
- Хочу становиться более сильным дизайн-лидером.

Что думаю в начале 2020:
- Профессий не существует.
- Мы их придумали, потому что так удобнее категоризировать деятельность. Но это совершенно не означает, что каждому отдельно взятому человеку стоит стремиться соответствовать какому-то стандартному описанию профессии. Разве что при поиске работы, особенно в начале карьеры. Но чем дальше, тем меньше в этом смысла.
- У каждого из нас есть уникальные сильные и слабые стороны. Зачем зажиматься в узкие рамки одной профессии?
- Меня уже тошнит от блогов, книжек и конференций по дизайн-менеджменту. Зато страшно интересно учиться у людей из других индустрий. Например, у спортивных тренеров, дирижёров, полководцев, режиссёров, архитекторов, писателей, учёных, можно ещё долго перечислять.
- Вспомните самых интересных профессионалов, которых вы знаете. Как правило, эти люди работают «собой», и не всегда даже понятно, как именно должна называться их роль. Скажем, роль Кукуца в Яндекса может называться «руководитель сервиса» или «продакт-менеджер», но как бы она ни называлась, он всегда работал и работает Кукуцем. Или вот Даня Ковчий лучше всех в мире работает Даней Ковчим, и это супер-круто и нужно, и совершенно не важно, что именно при этом написано в его трудовой книжке. Антон Шнайдер в любой компании и на любой должности всё равно бы работал Антоном Шнайдером. И так далее.
- Личностям профессии не нужны.
- Становиться более сильным дизайн-лидером — не та цель. Хочу становиться более сильным собой. А в процессе может и с дизайн-лидерством что-то получится.

Личная продуктивность

Что думал в начале 2019:
- Энергичный сфокусированный человек всегда выиграет у уставшего и раздёрганного.
- Чтобы быть энергичным и сфокусированным, нужно качественно спать (http://t.me/desprod/80), правильно питаться (http://t.me/desprod/123), много двигаться (http://t.me/desprod/145), ограничивать приток входящей информации (http://t.me/desprod/270), медитировать (http://t.me/desprod/343).
- Вообще страшно интересно узнавать о том, как работает твой организм, откуда у тебя берётся энергия, и максимально использовать это знание.
- Некоторые ребята пытаются ещё усилить эффект с помощью фармакологии (http://t.me/desprod/153), но, на мой взгляд, это супер-опасно — всё равно, что ковыряться обычной отвёрткой в тончайшем часовом механизме. Мы слишком мало знаем о долгосрочных последствиях приёма всех этих препаратов.

Что думаю в начале 2020:
- Вся эта «физиологическая» продуктивность не является достаточным условием того, чтобы у тебя что-то путное получалось. И даже необходимым условием не является.
- Всё это — гигиена. Не медитировать — то же самое, что не чистить зубы.
- Гораздо важнее, на чём именно мы собираемся фокусировать свою энергию и зачем нам это.
- Можно сколько угодно высыпаться, правильно питаться и заниматься физкультурой, но если у тебя нет чёткого честного ответа на вопрос о том, зачем ты работаешь, то толку от всей твоей энергии никакого.
- Уставший раздёрганный человек с сильной внутренней мотивацией вполне может выиграть у энергичного и сфокусированного. Особенно если последний не понимает, зачем в это всё ввязался, и на самом-то деле ничего не хочет. Зато когда у человека есть настоящая причина, которая его вдохновляет, он даже невыспавшийся готов свернуть горы.
- Так что, кажется, настоящая продуктивность начинается с ответа самому себе на вопросы «что надо сделать» и «зачем». Но это уже тема для отдельного разговора.

Вопрос: расскажи, какими должны быть должностные обязанности менеджера?

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

Такие формальные обязанности нужны слабым менеджерам, которые умеют только копать, где сказали.

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

Так что если ищете список обязанностей для заявки в HR-департамент — возьмите любую туфту с Хедхантера. Если ищете хорошего менеджера — просто скажите ему, что задачи будут чёткими и с цифрами, и что мешать работать никто не будет.