Определение кодировки текста в PHP вместо mb_detect_encoding

Автор: admin от 4-09-2019, 22:10, посмотрело: 22

Существует несколько кодировок символов кириллицы.



При создании сайтов в Интернете обычно используют:




  • utf-8

  • windows-1251

  • koi8-r



Еще популярные кодировки:




  • iso-8859-5

  • ibm866

  • mac-cyrillic



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



Иногда появляется необходимость определить кодировку текста. И в PHP даже функция для этого есть:



mb_detect_encoding


но как писал m00t

в статье Определение кодировки текста в PHP — обзор существующих решений плюс еще один велосипед

Если кратко — он не работает.
Прочитав статьи m00t я не вдохновился его методом и нашел вот такое решение: Определение кодировки текста в PHP и Python

Как сказал m00t

опять коды символов
Я протестировал функцию определения кодировки по кодам символов, результат меня удовлетворил и я использовал эту функцию пару лет.



Недавно решил переписать проект где использовал эту функцию, нашел готовый пакет на packagist.org cnpait/detect_encoding, в котором кодировка определяется методом m00t



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



Мне бы установить этот пакет и успокоиться, но я решил «заморочиться».

Категория: Windows

 

Курсы vs стажировка. Как мы в SimbirSoft учим мидлов

Автор: admin от 4-09-2019, 21:30, посмотрело: 21

У нас несколько центров разработки, и мы постоянно ищем в регионах талантливых мидлов. С 2013 года обучаем разработчиков – проводим митапы, хакатоны, интенсивы. В статье рассказываем, как учеба помогает подружиться с мидлами, а также кто и зачем приходит на внешнюю и внутреннюю стажировку.



Курсы vs стажировка. Как мы в SimbirSoft учим мидлов

Категория: Веб-разработка

 

Разгоняем Magento Rest API c помощью RoadRunner

Автор: admin от 4-09-2019, 20:20, посмотрело: 22

Разгоняем Magento Rest API c помощью RoadRunner

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



Принцип работы RoadRunner заключается в удержании запущенного процесса и подкидывания в него поступающих запросов, что позволяет, по словам разработчиков, увеличить производительность приложения (иногда даже в 40 раз).



Поскольку долгом работы я связан с Magento, то показалось отличной идеей проверить инструмент не на мифическом фреймворке, а на реальном приложении, для чего отлично подошла Magento Open Source.

Категория: Программирование

 

Главное о битве за сетевой нейтралитет в США — хронология событий и текущее положение вещей

Автор: admin от 4-09-2019, 20:20, посмотрело: 26

В конце 2017 года Федеральная комиссия по связи США (FCC) отменила законодательные требования, предъявляемые правилом сетевого нейтралитета. Решение вызвало бурные обсуждения в СМИ и даже спустя два года политики и ИТ-компании не оставляют попыток повлиять на FCC, чтобы обратить их постановление вспять. Рассказываем о становлении сетевого нейтралитета и его «падении» и обсуждаем, есть ли у него шанс на возвращение.



Главное о битве за сетевой нейтралитет в США — хронология событий и текущее положение вещей

Категория: Программирование

 

Project Mainline в Android 10

Автор: admin от 4-09-2019, 20:20, посмотрело: 22

Вчера вышло очередное обновление ОС для мобильных устройств от Google. Одним из главных нововведений Android 10 стал «Project Mainline». Попробую разобраться что это, для чего и как работает.

Категория: Android

 

Workers архитектуры Clean Swift

Автор: admin от 4-09-2019, 14:10, посмотрело: 30

Привет, читатель!



Ранее мы разобрали как устроен VIP цикл и как совершать переходы между с ценами с передачей данных. Теперь нужно разобраться как разгрузить наш Interactor от переизбытка логики и вынести ее часть для повторного использования другими сценами. И в этом нам помогут Worker’ы. Тема достаточно скромная по объему, но важная для упоминания.



Workers архитектуры Clean Swift

Категория: Веб-разработка, Game Development, iOS

 

Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость

Автор: admin от 4-09-2019, 14:05, посмотрело: 20

Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я постараюсь собрать все ключевые отличия в одном месте. Данная статья задумывалась как краткий справочник для всех, кто собирается переходить с одного ядра на другое, либо находится в процессе выбора ядра для определенного проекта.



Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость


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



В Nucleus RTOS система может быть создана с неопределенным количеством объектов ядра, единственным ограничением здесь выступает количество доступных ресурсов (то есть памяти). Nucleus SE имеет ограничение в шестнадцать объектов каждого типа; система может иметь от одной до шестнадцати задач и от нуля до шестнадцати объектов каждого типа (почтовые ящики, очереди и т.д.). Несмотря на то, что этот лимит может быть увеличен, потребуются значительные усилия, так как в Nucleus SE широко используется возможность хранения индекса объекта в полубайте (четыре бита). Кроме того, при более чем шестнадцати задачах планировщик приоритетов (Priority), скорее всего, станет очень неэффективным. Приложение, функционал которого серьезно страдает от данных ограничений, не подходит для Nucleus SE, в данном случае Nucleus RTOS является гораздо более подходящим выбором.

Категория: Статьи

 

Книга «Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию»

Автор: admin от 4-09-2019, 13:55, посмотрело: 102

Книга «Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию»
Привет, Хаброжители! «Путь Python» позволяет отточить ваши профессиональные навыки и узнать как можно больше о возможностях самого популярного языка программирования. Вы научитесь писать эффективный код, создавать лучшие программы за минимальное время и избегать распространенных ошибок. Пора познакомиться с многопоточными вычислениями и мемоизацией, получить советы экспертов в области дизайна API и баз данных, а также заглянуть внутрь Python, чтобы расширит понимание языка. Вам предстоит начать проект, поработать с версиями, организовать автоматическое тестирование и выбрать стиль программирования для конкретной задачи. Потом вы перейдете к изучению эффективного объявления функции, выбору подходящих структур данных и библиотек, созданию безотказных программ, пакетам и оптимизации программ на уровне байт-кода.

Категория: Программирование

 

Upgrade ноутбука серверным SATA SSD на 1.92TB с ресурсом записи от 2PB и выше

Автор: admin от 4-09-2019, 13:55, посмотрело: 34

Upgrade ноутбука серверным SATA SSD на 1.92TB с ресурсом записи от 2PB и выше


Есть люди, которые любят использовать качественные комплектующие из корпоративного сегмента в быту. Они хотят быть уверенными в том, что их SSD не накроется внезапно из-за write amplification при ежедневном скачивании огромных 4K-торрентов на фрагментированную NTFS-партицию с размером кластера 4K или при очередной компиляции Gentoo из исходников.



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



В этой статье приведён список корпоративных SSD ёмкостью 1.92ТБ, которые сейчас подешевели до уровня потребительских SSD, но обладают ресурсом записи от 2 Петабайт и выше.

Категория: Google

 

Архитектура и возможности Tarantool Data Grid

Автор: admin от 4-09-2019, 13:55, посмотрело: 19

Архитектура и возможности Tarantool Data Grid


В 2017 году мы выиграли конкурс на разработку транзакционного ядра инвестиционного бизнеса Альфа-Банка и приступили к работе (на HighLoad++ 2018 с докладом о ядре инвестиционного бизнеса выступал Владимир Дрынкин, руководитель направления транзакционного ядра инвестиционного бизнеса Альфа-банка). Эта система должна была агрегировать данные о сделках из разных источников в различных форматах, приводить данные к унифицированному виду, сохранять их и предоставлять к ним доступ.



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



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

Категория: Google

 
Назад Вперед