• Flutter. Keys! Для чего они?

    • Translation


    Параметр key можно найти практически в каждом конструкторе виджета, но используют этот параметр при разработке достаточно редко. Keys сохраняют состояние при перемещении виджетов в дереве виджетов. На практике это означает, что они могут быть полезны для сохранения местоположения прокрутки пользователя или сохранения состояния при изменении коллекции.


    Данная статья адаптирована из следующего видео. Если вы предпочитаете слушать / смотреть, а не читать, то видео предоставит вам тот же материал.

    Читать дальше →
  • Штормгласс – кристаллы предсказатели

    • Tutorial
    Однажды мне в журнале «ЮТ для умелых рук» №1, 1989 г. попалась статья с названием «Загадочная ампула», рассказывающая о необычном старинном метеорологическом приборе – штормглассе (stormglass, camphor glass, weatcher glass, склянка Фицроя, штормовая склянка), изготовил прибор по предложенной рецептуре, стал изучать дальше, некоторыми сведениями и своим опытом, в основном практического плана, далее и поделюсь.

    Есть информация, что штормгласс использовался уже в XVIII веке, но самое известное упоминание связано с Робертом Фицроем, капитаном судна Бигль, на котором путешествовал Чарльз Дарвин, ему же (Р. Фицрою) часто ошибочно приписывают изобретение прибора. Классический штормгласс представляет собой герметичный вытянутый стеклянный сосуд, заполненный почти доверху прозрачной жидкостью с бесцветными кристаллами разнообразной формы. По изменению внешнего вида, положению и высоте этих кристаллов полагается судить о погоде на следующие часы и дни. В своё время его применяли совместно с барометром, а в настоящее время штормгласс рассматривается больше, как необычное украшение для интерьеров, многие современные исследователи пришли к мнению, что основную свою функцию прибор не выполняет, но исследования и споры вокруг него всё ещё ведутся. Даже если штормгласс и не реагирует ни на что кроме температуры, всё равно это интересная и красивая вещь, которая вполне может выполнять роль украшения. Можно, конечно, купить готовый, в сети довольно много предложений (особенно на eBay и AliExpress), но в таком случае отсутствует информация о том, как и из чего прибор был изготовлен, а также удовольствие от вещи, сделанной своими руками.

    Читать дальше →
  • Pi-Sonos: хобби, вышедшее из-под контроля



      Идея дизайна нового корпуса интернет-радиостанции Pi-Sonos родилась еще до завершения работы над предыдущей его версией. Со временем, она впитала в себя накопленный пользовательский опыт и учла допущенные ранее недочеты. На этот раз все «по-взрослому».
      Читать дальше →
    • Храним токены авторизации безопасно

      Привет %username%. Меня, независимо от темы доклада, на конференциях постоянно спрашивают один и тот же вопрос — «как безопасно хранить токены на устройстве пользователя?». Обычно я стараюсь ответить, но время не позволяет полностью раскрыть тему. Этой статьей я хочу полностью закрыть этот вопрос.
      Читать дальше →
    • Открытый урок «Пишем свою библиотеку для работы с xlsx файлами»

        И снова здравствуйте! Небольшой открытый урок в рамках курса «Web-разработчик на Python», на котором преподаватель курса Илья Лебедев рассказывал как устроен формат xlsx, как с ним работать без специализированных библиотек, вроде openpyxl и показал как разработать свою библиотеку для работы с этим форматом с нужным набором функций.



        Если есть вопросы\комментарии, то их можно задать здесь или зайти к Илье на день открытых дверей.
        • +19
        • 5.5k
        • 1
      • Полезные методы массивов и объектов в JavaScript

        • Translation
        Автор статьи, перевод которой мы сегодня публикуем, говорит, что её идею подсказал ему один из выпусков подкаста Syntax FM, в котором давался обзор полезных методов объектов и массивов в JavaScript. Эти методы помогают разработчикам писать чистый и читабельный код. Их применение снижает потребность в сторонних библиотеках наподобие Lodash.

        image
        Читать дальше →
        • +33
        • 38.8k
        • 7
      • Понимание жизненного цикла React-компонента

        • Translation
        • Tutorial
        React предоставляет разработчикам множество методов и «хуков», которые вызываются во время жизненного цикла компонента, они позволяют нам обновлять UI и состояние приложения. Когда необходимо использовать каждый из них, что необходимо делать и в каких методах, а от чего лучше отказаться, является ключевым моментом к пониманию как работать с React.
        Читать дальше →
      • Шаблоны проектирования в React

        • Translation
        Шаблоны проектирования, которые возникли и развились в экосистеме React за время её существования, улучшают читабельность и чистоту кода, облегчают повторное использование компонентов.

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

        Сообществу React понадобилось около двух лет для того, чтобы выработать несколько идей, которые теперь стали популярными. Тут можно отметить переход с React.createClass к классам ES6 и к чистым функциональным компонентам, отказ от миксинов и упрощение API. Теперь, учитывая то, что число React-разработчиков постоянно растёт, то, что в развитие этого проекта вкладываются серьёзные силы, можно наблюдать эволюцию нескольких интересных шаблонов проектирования. Этим шаблонам и посвящён данный материал.
        Читать дальше →
        • +13
        • 25.6k
        • 4
      • Настройка Sublime Text 3, SW4 и STM32CubeMX для разработки STM32 под Linux

        Подобных статей достаточно много на просторах интернета, но хотелось бы написать актуальную вариацию. Лично я долгое время мучался в связке: Ubuntu — основная система, разработка под STM32 в виртуальной машине Windows 7. Но однажды меня это очень утомило и я таки решил потратить несколько дней на поиск решения и вылизывание полноценной среды под Linux Ubuntu. Забегу вперёд и скажу, что идеала я так и не добился, не удалось сделать realtime debug, как в Keil. В остальном всё очень пристойно.


        Внимание, очень много текста и картинок!

        Читать дальше →
      • Тестирование React-Redux приложения

        • Tutorial
        image

        Время чтения: 13 минут


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

        Всех, кого заинтересовало, приглашаю под кат.
        Читать дальше →
        • +7
        • 26.2k
        • 4
      • Деловая переписка на английском языке: фразы и советы

          Елена Соловьева, менеджер проектов в компании Лаборатория Касперского, специально для блога Нетологии поделилась советами о том, как вести деловую переписку с иностранными коллегами и партнерами на английском языке. Статья участвует в конкурсе.

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

          Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
          Читать дальше →
        • Пять простых шагов для понимания JSON Web Tokens (JWT)

          jwt


          Представляю вам мой довольно вольный перевод статьи 5 Easy Steps to Understanding JSON Web Tokens (JWT). В этой статье будет рассказано о том, что из себя представляют JSON Web Tokens (JWT) и с чем их едят. То есть какую роль они играют в проверке подлинности пользователя и обеспечении безопасности данных приложения.

          Читать дальше →
        • Что за черт, Javascript

          • Translation


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


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

          Читать дальше →
        • Красный, белый, голубой: восемь правил подбора цветовой палитры, которые должны знать все

          • Translation
          Взаимодействие человека с компьютером во многом опирается на графические элементы интерфейса, и цвет играет в этом процессе не последнюю роль. Как однажды сказал Pierre Bonnard: «Цвет не просто делает дизайн приятным для глаз, но и подкрепляет его».

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


          Читать дальше →
        • 11 вещей которые я узнал, читая спецификацию flexbox

          • Translation

          Я всегда считал, что с flexbox довольно легко работать — глоток свежего воздуха после стольких лет float'ов и clearfix'ов.


          Правда недавно я обнаружил что борюсь с ним; что-то растягивалось, когда я не думал, что оно должно тянуться. Я поправил здесь, другой элемент сжался. Я починил это, что-то другое ушло за экран. Какого Джорджа Буша тут происходит?


          В конце концов, все заработало, но солнце село, а мой процесс был привычной игрой с CSS. Или… как называется та игра, где надо ударить крота, а затем другой крот выпрыгивает и надо ударить и его тоже?


          Как бы там ни было, я решил что пора вести себя как взрослый разработчик и выучить flexbox должным образом. Но вместо того, чтобы прочитать 10 очередных блог-постов, я решил отправиться прямиком к исходнику и прочитать The CSS Flexible Box Layout Module Level 1 Spec


          Вот хорошие отрывки.


          Читать дальше →
        • Multi-source репликация в MySQL5.7

          Сегодня мой рассказ будет о такой захватывающей штуке, как репликация баз данных в MySQL из нескольких источников. Отмечу, что данная статья не претендует на звание «истины в последней инстанции» и призвана осветить особенности данной технологии в разрезе возникшей у меня проблемы. Итак, приступим. Однажды в далёкой-далёкой галактике...

          Читать дальше →
          • +12
          • 17.2k
          • 8
        • OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%

          • Tutorial


          Много где написано о том, как получить 100% и A+ по тесту от Qualys. При всём при том практически везде директивы ssl_ciphers и подобные даются как эдакие магические строки, которые нужно просто вставить, и надеяться, что автор не подводит вас под монастырь. Эта статья призвана исправить это недоразумение. По прочтению этой статьи директива ssl_ciphers потеряет для вас всякую магию, а ECDHE и AES будут как друзья да братья.


          Также вы узнаете почему 100% по тестам — не всегда хорошо в реальности.

          Читать дальше →
        • Организация компонентов в проекте

          • Tutorial
          Многие руководствуются рекомендациями Presentational and Container Components, но уважаемый автор признаётся в сносках, что концепция разделения спорная, и компоненты можно смешивать. А если это так, то зачем тащить чемодан без ручки? Все компоненты проекта удобнее хранить в одной общей папке. Какие плюсы:
          • Простота навигации по файловой системе.
          • Уникальные имена компонентов проекта.
          • Импорт без боли ('../../../../../..').


          Когда проект вырастет, следует дробить его на приватные npm-пакеты, инкапсулируя реализацию. Но не выращивать дерево подпапок внутри папки компонентов — развивать и поддерживать такое ощутимо сложнее. Проверено.
          Дальше больше
        • Использование Percona XtraBackup в повседневной жизни

            Высокая распространенность баз данных MySQL приводит к её использованию в разнообразных проектах, в том числе, которые требуют безостановочной работы и минимального времени восстановления. Стандартные инструменты, такие как mysqldump неудобен для использования баз данных размер, которых измеряется десятками гигабайт. К сожалению mysqldump вызывает блокировку таблиц, и операция снятия дампа или восстановления базы может занимать далеко не один час, а порой и 5-10 часов.

            Благо, к нам на помощь приходит Percona XtraBackup.

            image

            Читать дальше →
          • Ломаем Android. Как глубока кроличья нора?

              image


              Мой первый Android телефон Galaxy Note N7000 был приобретен сразу после анонса в октябре 2011 года. Благодаря одному немецкому умельцу под ником bauner, у меня была возможность использовать последнюю версию CyanogenMod (ныне LineageOS). До тех пор, пока полтора года назад телефон не умер от китайской автомобильной зарядки.


              Замену искал долго и остановился на Kyocera (да, они и телефоны выпускают) KC-S701. Он отличается брутальным внешним видом и отсутствием сенсорных кнопок. О root доступе к телефону я тогда даже и не задумывался, полагая, что нынче каждый телефон тем или иным способом имеет возможность получения root. И найдется умелец, который сможет под него портировать CyanogenMod. Я ошибался.


              За полтора года было выпущено всего одно обновление — фикс падения ядра от специально сформированного ping пакета. А Android KitKat уже год назад был не первой свежести. Root доступ на этот телефон так никто и не получил, и никакой информации о нем не было. Отмечу, что тоже самое железо используется в американской версии телефона Kyocera Brigadier E6782, в котором по-умолчанию активизирован режим fastboot и нет ограничения на запуск неподписанных ядер (именно запуск, а не прошивку, и только при использовании непропатченного bootloader'а, CVE-2014-4325) и присутствует возможность загружаться в эти режимы путём зажатия кнопок телефона. Стараниями Verizon (а может Kyocera?) версия Android на Brigadier была обновлена до Lollipop.


              Итак, я решил разобраться с процессом получения root на Android самостоятельно.

              Читать дальше →