• React медленный, React быстрый: оптимизация React-приложения на практике

    Всем привет! Хочу поделиться своим переводом статьи React is Slow, React is Fast: Optimizing React Apps in Practice автора François Zaninotto. Надеюсь, это кому-то будет полезным.


    Краткое содержание:


    1. Измерение производительности React
    2. Почему ты обновился?
    3. Оптимизация через разбиение на компоненты
    4. shouldComponentUpdate
    5. Recompose
    6. Redux
    7. Reselect
    8. Остерегайтесь объектных литералов в JSX
    9. Заключение

    React может быть медленным. Я хочу сказать, что любое React приложение среднего размера может оказаться медленным. Но прежде, чем искать ему замену, вы должны знать, что и любое среднее приложение на Angular или Ember может также оказаться медленным.


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

    Читать дальше →
  • Как я пользуюсь компьютерной техникой. Нестоллман

    • Translation
    Прим. перев.: все это грустная ирония. И в некоторой степени пародия на Столлмана.
    Я пользуюсь ноутбуком HP с установленной на нем Windows. Я точно не знаю, что за модель ноута. Он синий. Также у меня есть какой-то Galaxy, с которого я постоянно выхожу в сеть.

    Я выбрал Windows, потому что ноутбук шёл с предустановленной системой, и с кучей полезного софта от HP, благодаря которому я могу подключаться к беспроводной сети и проигрывать DVD-шки. Я не понимаю, почему в Windows изначально нет этих программ.

    Всю свою работу я делаю в Word или PowerPoint. Это чудесные програмки. В Word я пишу письма, заметки, отчёты и делаю плакаты для моего клуба садоводства. Мне нравится Word, потому что он даёт возможность каждому почувствовать себя графическим дизайнером. Я люблю повсюду использовать WordArt — это делает мои работы особенным, выделяющимися. Благодаря презентациям PowerPoint я приковываю внимание аудитории. Мне нравится делать презентации интересными для других. Для этого я использую много разных цветов и шрифтов на каждом слайде, не забывая при этом убедиться, что слова стилизовано разбросаны среди интересных значков.
    Читать дальше →
  • Мой опыт восстановления зрения

    • Tutorial
       Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

    image

       Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
    Читать дальше →
  • Асинхронный web-mining c помощью node.js

      Хотелось бы поделится опытом решения задачи web-mining'а: сбор некоторой информации с определенного списка ресурсов. Сразу хотелось бы отметить, что это не является попыткой создать свой «поисковик» — для этого используются совершенно другие подходы. Цель web-mining’а – вытащить часть информации. Например, если ресурс поддерживает микроформаты в виде «визиток» и т.п.

      Читать дальше →
    • Генерация XLS файлов

        Начальство заставило генерировать XLS файлы отчетов (выгрузка заказов, заказанных товаров, сводка по покупателям и т.д.). С генерацией обычного текста (CSV формат, ";" — разделитель) проблем не было. Но вот MAC OS начальства в упор не хотела понимать того, что ей пытались втюхать. Выход — генерировать другой формат. Я бы на html или xml становился, но одним из требований были «красивые шрифты и цветные заливки ячеек». Вообщем без экселя никуда.

        Справедливости ради надо сказать, что генерацию именно экселевского формата я нашел достаточно быстро: и на хабре (http://habrahabr.ru/blogs/php/18726/) и на OpenNET (http://www.opennet.ru/base/dev/php_gen_excel.txt.html).Созданные XLS файлы прекрасно открывались на 3-х тестируемых осях (mac,win,ubuntu).
        Читать дальше →
      • eGroupWare + авторизация в AD + синхронизация с Outlook через SyncML

          Перешел на новую работу. Озадачили поставить систему документооборота. Решил сразу с заделом на будущее поставить eGroupWare. Для начала решил все это дело потестировать на Денвере в корпоративной Vista Business. Что было нужно для полноценной работы? Система документооборота, авторизация в Active Directory и синхронизация через Outlook.

          Под катом грабли с которыми пришлось столкнуться.
          Читать дальше →
        • Почтовый сервер на Zimbra Collaboration Suite



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

            Данную часть своего проекта я планирую реализовать этим летом. Но готовиться к ней начал уже сейчас. Нужно было найти серьёзную альтернативу Exchenge и Outlook. Выбор остановился на «Zimbra Collaboration Suite».

            Преимущества:

            — Имеет свой почтовый клиент Zimbra. Который позволяет юзерам совместно пользоваться календарём, документооборотом, почтой контактами и т.д. Есть версии под MacOs, Windows, Linux.
            — Имеет мощную систему плагинов. Так называемые Zimlet. Плагины разрабатываются официально, а так же самими пользователями. Реализовать можно всё что угодно.
            — Web версия клиента. Можно залезть на почту в любой точки мира с любого браузера.
            — Интеграция с Active Directory.
            — Антивирусная\антиспамовая защита прямо из коробки.

            Читать дальше →
          • 17 пользовательских идей монетизации соцсети

              Приблизительно год назад в контакте администрацией был открыт топик (ссылка сохранилась, но по ней сейчас ничего нет), в котором пользователи предлагали свои варианты монетизации проекта. Варианты, которые на их взгляд более приемлемы, чем очевидные «платный вход» и «завесить всё баннерами».

              Я по данному топику прошелся и выписал себе на заметку все более-менее разумные варианты. Ничего своего в представленный ниже список я старался не вносить, лишь переформулировал идеи более абстрактно.
              Читать дальше →
            • Проблемы с лицензированием от Microsoft? А вы знаете о программе «Шаг навстречу»?

                image

                Я долго думал о том: писать этот пост или не писать, т.к. предполагаю, что он будет иметь жаркую дискуссию в комментах о том, как у нас (в МС) все плохо (читай сложно) с лицензированием продуктов:) Согласен, что не все так просто как хотелось бы, НО, вспомните слова общественности пару лет назад: Майкрософт не предлагает нам вариантов и т.д., то есть люди жаловались о недостатке выбора, сейчас же ситуация противоположная: выбор слишком большой и не всегда такой понтяный:) Мы стараемся найти золотую середину, надеюсь вы это понимаете…

                Но хватит разговоров, пора переходить к делу:) Мы создали программу Шаг Навстречу, сайт которой расположен по адресу http://www.microsoft.com/rus/microsoft4you/. Программа предоставляет расширенную информационную поддержку по вопросам:
                лицензирования ПО,
                — управления лицензиями как активом организации
                — подтверждения легальности установленного ПО при проверках (включая возможность получить по факсу на официальном бланке от нас список приобретенных лицензий, а также разъяснения по возникшим при проверке спорных моментах)

                Поддержка реализована в виде:
                набора документов и FAQ на сайте microsoft4you.ru (хорошим примером может служить документ Основы лицензирования)
                — горячей телефонной линии 8 800 200 80 01 (звонок бесплатный из любой точки России и анонимный, не нужно бояться, никто вас не будет отслеживать по телефону и проверять легальность всей вашей инфраструктуры, мы лишь хотим вам помочь)
                — тренингов по лицензированию для клиентов, специальных тренингов для корпоративных юристов, а также спецпредложения через партнеров.

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

                ЗЫ Надеюсь сайт вам будет полезен. Что он позволит найти ответы хотя бы на часть ваших вопросов. И не стесняйтесь звонить по телефону горячей линии, вам там обязательно помогут!
              • Dream Wi-Fi. Или положение дел с использованием радиочастот

                  Темой этого топика будет Wi-Fi модемы Nanostation, представленные в России компанией Рапира, как DreamWiFi. Или точнее вопрос об использовании частот и регистрации. Ну а как приятный бонус, под катом, обзор этих железок.

                  Несмотря на то, что Wi-Fi в некоторой степени уже технология прошлого века и уступает место новым, она приходится очень кстати в двух случаях — домашняя сеть (внутриофисная) и организация каналов связи вне помещений.
                  Вот о втором случае мы и поговорим.
                  Если с внутриофисным использованием всё ясно, то внешние каналы требуют большого к себе внимания, потому что это получение разрешений на использование радиочастот — раз, сертифицированное оборудование (которое просто так не купишь в магазине)— два, и регистрация оного — три.
                  Как известно, получение разрешения — невероятно нервный и длительный процесс. В худшем случае на организацию канала может уйти больше года (согласования, заключения, натурные испытания). Регистрация, вроде бы, и недолгая и недорогая процедура, но опять же бюрократическая волокита, общение с невсегда лояльными представителями надзорных органов.
                  Но вот что предлагает нам Dream Wi-Fi:
                  Для оборудования DreamWiFi диапазона 2,4 ГГц согласно решению ГКРЧ № 09-05-09 не требуется заключение Радиочастотного центра и согласование с военными.

                  Точки доступа подлежат простой, быстрой и бесплатной регистрации. Абоненты регистрации не подлежат.

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

                  В поддержке Dream Wi-Fi мне подсказали документ, в котором прописан порядок регистрации радиооборудования (точнее отослали на minkomsvjaz.ru) и предложили заполнить заявку на регистрацию точки доступа Wi-Fi. Дело в том, что при установке точки с излучаемой мощностью не более 100 мВт с учётом усиления антенны вне помещения действует упрощённая схема регистрации через сайт rsoc.ru. Абонентские станции при этом регистрировать не нужно. Здесь мне указали на:
                  О внесении изменений в решение ГКРЧ от 7 мая 2007 г. № 07-20-03-001 «О выделении полос радиочастот устройствам малого радиуса действия» (решение ГКРЧ № 09-05-09) http://minkomsvjaz.ru/ministry/170/174/8588.shtml

                  Для устройств с прямым расширением спектра при спектральной плотности до 2 мВт/МГц (то есть 40 мВт для полосы 20 МГц) и максимальной мощности в 100 мВт. При этом ограничений на место установки — нет»

                  Для Dream Wi-Fi в поддержке мне сказали в веб-интерфейсе можно выставлять не более 40 мВт.

                  Но несколько, точнее кардинально другую ситуацию мне описали в местном отделении Роскомнадзора мне сообщили, что это спекуляция производителя на неточностях решения ГКРЧ, а само решение № 09-05-09 сотрудник читал при мне. В государственном радиочастотном центре сказали, что такого вообще нет, и сразу после монтажа и включение, к нам приедут, отключат всё оборудование и прилично оштрафуют.
                  Где истина? Я несколько запутался и надеюсь, что публикацию прочтут люди компетентные в этом вопросе и смогут дать комментарий.
                  Как и обещал
                • Переходим на Fusion Drive


                  Активные пользователи Mac OS X наверняка помнят анонсированную 23 октября функцию Fusion Drive. Напомню, что она представляет из себя логическое объединение установленных в ваш Mac SSD и HDD. Объем единого диска будет равен сумме объемов SSD и HDD, но главные плюс — часто используемые файлы (например, ядро системы) Mac OS автоматически и прозрачно для пользователя размещает на более быстром SSD, а все прочие файлы на HDD.

                  Читать дальше →
                • Альтернативные потоки данных в NTFS или как спрятать блокнот

                    Введение


                    Поддержка альтернативных потоков данных (AltDS) была добавлена в NTFS для совместимости с файловой системой HFS от Macintosh, которая использовала поток ресурсов для хранения иконок и другой информации о файле. Использование AltDS скрыто от пользователя и не доступно обычными средствами. Проводник и другие приложения работают со стандартным потоком и не могут читать данные из альтернативных. С помощью AltDS можно легко скрывать данные, которые не могут быть обнаружены стандартными проверками системы. Эта статья даст основную информацию о работе и определении AltDS.
                    продолжение
                  • Мир лицензий: разбираемся с лицензиями BSD

                      Недавно мной была написана статья Мир лицензий: разбираемся с GNU GPL, в которой я попытался обобщить основную информацию про лицензии GPL, кратко рассказать об истории лицензии, ее версиях и совместимости других лицензий с GPL. В комментариях к статье возникло несколько вопросов и, для ответов на некоторые из них, мной был сделан частичный перевод официального GPL FAQ.

                      Как это часто бывает, первая статья стала поводом к продолжительным спорам, суть которых сводилась к одному вопросу: «что лучше (для людей, программ, мира, будущего) GPL или BSD лицензии?». На мой взгляд, этот спор сродни вопросу «с какого конца разбивать яйцо?» и не имеет одного определенного ответа. Использование определенной лицензии — это дело каждого и разнообразие их — лишь положительный фактор, который дает разработчикам (и авторам) больше свободы и возможностей для распространения своих трудов.

                      В этой статье я постараюсь рассмотреть вторую сторону споров — лицензии BSD, их различия, историю и производные. Кроме того, я попытаюсь сравнить GPL и BSD и рассказать, почему оригинальная BSD-лицензия несовместима с GPL.

                      UPD: обновлены разделы «Original BSD license» и «ISC license (OpenBSD license)»

                      Читать дальше →
                    • Мир лицензий: разбираемся с GNU GPL


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

                        UPD: опубликован перевод небольшого куска официального GPL FAQ habrahabr.ru/blogs/Dura_Lex/45878
                        UPD2: скорректирован и переформулирован список совместимых лицензий

                        Читать дальше →
                      • Список сочетания клавиш для восстановления заводских установок ноутбуков

                          Многие владельцы ноутбуков знают, что если их мобильный помощник приобретался с предустановленной ОС, то в 90% случаев на жестком диске есть специальный раздел, предназначенный для хранения образа операционной системы с драйверами и программами. Кто-то удаляет этот раздел сразу, дабы высвободить место, а кто-то даже и не знает о его существовании. А некоторые используют его по назначению. Войти в меню восстановления можно в среде Windows, но если система слетела то, как быть? Восстановить систему при помощи горячих клавиш. Вот мой небольшой списочек этих горячих клавиш.

                          После включения ноутбука начинаем лихорадочно нажимать:


                          F3 – MSI;
                          F4 – Samsung. Под ОС можно через Samsung Recovery Solution III;
                          Читать дальше →
                        • Перепрошивка USB модема ZTE MF627, залоченного под МТС, для свободной работы с SIM-картами сторонних операторов + учим его звонить и принимать звонки & разлочка с помощью Unlock кода модемов Huawei

                            В продолжение темы 3G-модем в Ubuntu.
                            Пошаговое описание перепрошивки USB модема ZTE MF627 залоченного под МТС, для свободной работы с SIM-картами сторонних операторов с его последующей настройкой и проверкой работы на осях Windows XP, Windows7 и Ubuntu 9.10 со скриншотами, ссылками на альтернативное (бесплатное) ПО и т.д. и т.п.
                            Дополнение №1: теперь, благодаря SerVik и его посту, наш модем может звонить и принимать звонки.
                            Дополнение №2: данная методика так же применима к модему ZTE MF626.
                            Дополнение №3: Для модемов Huawei от Мегафона, требующих Unlock код, вариант с заменой прошивки не подойдет. Здесь вопрос решается проще — вводом NCK кода по IMEI девайса. Желающие получить Unlock код для своего Huawei могут писать мне в личку или в комментах к этому посту. Валидность калькулятора многократно проверена мной на модемах Huawei E1550 от Мегафона. Услуга предоставляется "… бездвоздмездно, то есть даром...". От вас требуется только IMEI девайса.
                            Дополнение №4: согласно комментарию за 27.06.2010 от хаброюзера Vyazovoi, в салонах МТС появились модемы ZTE MF627, стоимостью 490 руб., с новым типом прошивки (BD_MTSP673A4V1.0.0B02), запрашивающим Unlock код при установке SIM-карты стороннего оператора. Нижеописанная методика перепрошивки к подобным девайсам не применялась и как следствие, возможный эффект от нее я предсказать не могу.
                            Для тех кто еще не приобрел модем, я рекомендую остановится на Huawei E1550/1750 от Мегафона или МТС. С их разлочкой пока проблем не наблюдается (см. Дополнение №3).


                            image
                            Итак, USB модем ZTE MF627 был приобретен мной 15.01.2010 г. в фирменном салоне-магазине МТС за 890 руб. Цель приобретения — доступ к сети интернет в частых и длительных командировках по России. Описание девайса на сайте МТС.
                            Перед покупкой было прочитано много форумов по теме, ибо я заранее обладал информацией о том, что операторы большой тройки вносят ограничение в прошивку продаваемых под своим брендом девайсов, не дающее использовать их с SIM-картами других операторов. В итоге выбор пал на ZTE MF626, который не удалось найти в продаже (г. Москва) и я, махнув рукой, рискнул взять новый на тот момент ZTE MF627, благо МТС отдавало его по новогодней цене в 890 руб.
                            В комплекте находился сам модем, гарантия на него и SIM-карта с доками. Все. А более нам ничего и не нужно.
                            Читать дальше →
                          • Асимметричный алгоритм для генерации коротких серийных номеров

                              Введение

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

                              Читать дальше →
                            • PHP класс для конвертирования кодировки базы Mysql

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