Вот прочитал с удовольствием, спасибо за статью, но испытываю смешанные чувства.
С одной стороны, прогрессивные технологии, современное оборудование. А с другой, на тёплых ламповых фотографиях какой-то колхоз. Обшарпанные стены, грязь на полах, сколотая плитка с совковым узором и т.п. Неужели «сдачи» от покупки пары станков не хватит на косметический ремонт помещения? И людям бы работалось комфортнее, и показать не стыдно. А тут лампы через одну горят.
P.S. а ящик для сверел, наверное, от дедов достался по наследству? :)
Помимо уже озвученных iconv и enca существует масса online-сервисов, среди них даже есть с наличием API, чтобы дергать из скриптов.
А еще на хабре были отличные графические схемы для определения кодировки: раздва
Картинка, чтобы не лазить по ссылкам
Интересный был бы велосипед, реализующий алгоритм по блок-схеме. С графическим анализом символов, openal и генетикой, разумеется.
Спасибо за HAME MPR A100
Сколько пользовался разношерстными 3G-роутерами, в голову даже не пришла возможность скрещивания с батареей (yota egg не в счет).
А как вы поступаете с БД/миграциями?
Выкладка кода регулярно сопровождается изменениями в БД. И переключение между старой версией кода и новой может занимать как раз время, необходимое для наката миграций.
Ложь везде. И по нашим каналам, и по зарубежным. Это называется — информационная война. И проблема тут не в том, что кто-то кому-то врет, а в том, что этой ложью уже завалили так, что сами тонут. А у обычных людей нет возможности получить достоверную информацию, нет каналов этой самой информации. В таких условиях хочешь или нет, а приходится верить ближайшему. Нигде нету никаких гарантий.
Генерация и навигация по HTML-DOM в контроллерах angular? Вы серьезно?
Потратьте пожалуйста время, отведенное на написание следующей статьи, на просмотр замечательных скринкастов по angular от разработчика: egghead.io
Да даже в случае с бутстрапом придумывать ничего не нужно, уже есть вполне годный адаптер angular<->boostrap, который называется angular-ui
Не хочу никого оскорблять, желать зла и упущенной выгоды, подвергать миллионы невинных пользователей страданиям, но вы только представьте, если произойдет блокировка, какой это может быть скандал!
Что-то подсказывает, что только подобный скандал может повернуть противодействие здравому смыслу вспять. Как показывают дела последнего времени, депутаты реагируют только на уже свершившиеся скандальные деяния, отказываясь анализировать ситуацию на будущее, может быть и в этом случае издали бы закон, запрещающий запрещать. Уже после скандала. А так — ну выиграла громадная корпорация маленький суд в каком-то регионе.
А может быть исполнительная структура бы пошевелилась в момент принятия такого решения.
Честно говоря, немного странно хранить такие значительные суммы на QIWI-кошельке. При том, что для входа нужен только доступ к телефону. QIWI давно позиционирует себя как платежный провайдер, а не как сейф. Тут все стороны нафейлили, что в итоге привело к такому результату. Нельзя винить кого-то одного (провайдер, киви, владелец счета), но информация для людей, хранящих там сбережения, определенно, полезная.
Вероятно, потому что многие в понедельник едут на работу из области, возвращаясь с дач/загородных домов. По той же причине, скорее всего, в пятницу вечером хорошо разгружается центр города, когда основная масса толпится на выездах.
Я имею ввиду часть населения, владеющую автомобилем, но передвигающуюся с/на работу в большинстве случаев на общественном транспорте.
На нашем отделении висит стационарная табличка без перерыва на обед и рядом на дверях от руки «настоящее» расписание с обедом, полдником, праздничным четвергом и «детей спать уложить».
Можно в противовес привести аргумент плохой читаемости и повышенного уровня входа для понимания этого кода, но давайте примем, что читающий — компетентный symfony-разработчик, владеющий всем спектром возможностей фреймворка.
Первая проблема в примере — размазывается хранение путей роутинга, для поиска нужного контроллера требуется проверить настройку роутинга, найти в нем ответственный контроллер, поискать по коду контроллера конфигурацию пути. Это занимает больше времени и сил, чем пройтись по routing.yml (даже если конфигурация разделена).
Вторая проблема аналогичного характера, но с неявным указанием шаблона. Как найти неиспользуемые шаблоны в системе? В случае явного указания шаблона в контроллере, мы можем грепнуть название по коду и отфильтровать результаты, в случае же пустой аннотации этот трюк не пройдет.
Третяя проблема вытекает из предыдущих двух, но стоит особняком — это рефакторинг.
Обобщая вышесказанное, всё это проблемы второго порядка, вылезающие при поддержке проекта. При разработке эти приемы могут дать незначительную фору, но использовать их нужно аккуратно.
P.S. переход на аннотации и конфиги размывает код. Да взять хотя бы конфигурацию сервисов в симфони через конфиг. Это удобно, пока их пара. Когда файл разрастается на 500 строк, читать его становится невозможно. Проверка синтаксиса опосредованная, IDE поддерживает минимум, отладка в случае неявного бага занимает вечность.
Настойчиво рекомендую не ограничиваться только компьютером, а взять минимальный гигабитный роутер, и уже с ним возиться с тачкой в чулане :) Удовольствия получите больше, очень быстро надоедает хоровод с бубном вокруг кривых сетевых (в т.ч. wifi) адаптеров, падающего во время настройки интернета, костылей с роутингом/маршрутизацией/vpn/свой_вариант.
Если интересно — пишите в личку, поделюсь накопившимся опытом :)
С одной стороны, прогрессивные технологии, современное оборудование. А с другой, на тёплых ламповых фотографиях какой-то колхоз. Обшарпанные стены, грязь на полах, сколотая плитка с совковым узором и т.п. Неужели «сдачи» от покупки пары станков не хватит на косметический ремонт помещения? И людям бы работалось комфортнее, и показать не стыдно. А тут лампы через одну горят.
P.S. а ящик для сверел, наверное, от дедов достался по наследству? :)
А еще на хабре были отличные графические схемы для определения кодировки: раз два
Интересный был бы велосипед, реализующий алгоритм по блок-схеме. С графическим анализом символов, openal и генетикой, разумеется.
Сколько пользовался разношерстными 3G-роутерами, в голову даже не пришла возможность скрещивания с батареей (yota egg не в счет).
Выкладка кода регулярно сопровождается изменениями в БД. И переключение между старой версией кода и новой может занимать как раз время, необходимое для наката миграций.
Потратьте пожалуйста время, отведенное на написание следующей статьи, на просмотр замечательных скринкастов по angular от разработчика: egghead.io
Да даже в случае с бутстрапом придумывать ничего не нужно, уже есть вполне годный адаптер angular<->boostrap, который называется angular-ui
blog.jetbrains.com/phpstorm/2014/03/working-with-multiple-selection-in-phpstorm-8-eap/
Прислонился неудачно к злоумышленнику в метро и несешь себе домой кирпичик в кармане.
Откладывая сарказм в сторону, это особенность перевода или речь действительно о новом применении NFC?
Что-то подсказывает, что только подобный скандал может повернуть противодействие здравому смыслу вспять. Как показывают дела последнего времени, депутаты реагируют только на уже свершившиеся скандальные деяния, отказываясь анализировать ситуацию на будущее, может быть и в этом случае издали бы закон, запрещающий запрещать. Уже после скандала. А так — ну выиграла громадная корпорация маленький суд в каком-то регионе.
А может быть исполнительная структура бы пошевелилась в момент принятия такого решения.
Я имею ввиду часть населения, владеющую автомобилем, но передвигающуюся с/на работу в большинстве случаев на общественном транспорте.
Первая проблема в примере — размазывается хранение путей роутинга, для поиска нужного контроллера требуется проверить настройку роутинга, найти в нем ответственный контроллер, поискать по коду контроллера конфигурацию пути. Это занимает больше времени и сил, чем пройтись по routing.yml (даже если конфигурация разделена).
Вторая проблема аналогичного характера, но с неявным указанием шаблона. Как найти неиспользуемые шаблоны в системе? В случае явного указания шаблона в контроллере, мы можем грепнуть название по коду и отфильтровать результаты, в случае же пустой аннотации этот трюк не пройдет.
Третяя проблема вытекает из предыдущих двух, но стоит особняком — это рефакторинг.
Обобщая вышесказанное, всё это проблемы второго порядка, вылезающие при поддержке проекта. При разработке эти приемы могут дать незначительную фору, но использовать их нужно аккуратно.
P.S. переход на аннотации и конфиги размывает код. Да взять хотя бы конфигурацию сервисов в симфони через конфиг. Это удобно, пока их пара. Когда файл разрастается на 500 строк, читать его становится невозможно. Проверка синтаксиса опосредованная, IDE поддерживает минимум, отладка в случае неявного бага занимает вечность.
Если интересно — пишите в личку, поделюсь накопившимся опытом :)