• Как научиться разработке на Python: новый видеокурс Яндекса

    • Tutorial
    Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

    Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
    Читать дальше →
  • Конец эры глобального CSS

    Все CSS-селекторы живут в глобальной области видимости.

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

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

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

    Так не должно быть. Пора оставить позади эру глобальных стилей. Наступило время закрытого CSS.
    Читать дальше →
  • Функторы (глава книги «Теория категорий для программистов»)

    • Translation
    • Tutorial

    Это седьмая статья из цикла «Теория категорий для программистов». Предыдущие статьи уже публиковались на Хабре:



    Функторы


    За понятием функтора стоит очень простая, но мощная идея (как бы заезжено это ни прозвучало). Просто теория категорий полна простых и мощных идей. Функтор есть отображение между категориями. Пусть даны две категории C и D, а функтор F отображает объекты из C в объекты из D — это функция над объектами. Если a — это объект из C, то будем обозначать его образ из D как F a (без скобок). Но ведь категория — это не только объекты, но еще и соединяющие их морфизмы. Функтор также отображает и морфизмы — это функция над морфизмами. Но морфизмы отображаются не как попало, а так, чтобы сохранять связи. А именно, если морфизм f из C связывает объект a с объектом b,


    f :: a -> b

    то образ f в D, F f, связывает образ a с образом b:


    F f :: F a -> F b

    (Надеемся, что такая смесь математических обозначений и синтаксиса Haskell понятна читателю. Мы не будем писать скобки, применяя функторы к объектам или морфизмам.)


    Читать дальше →
    • +33
    • 27.9k
    • 2
  • Akka.NET Bootcamp

    • Translation
    • Tutorial


    Добро пожаловать в Akka.NET Bootcamp. Это бесплатный курс для самостоятельного обучения, подготовленный парнями из Petabridge.

    Учебный курс разделен на три части, в течение которых вы научитесь создавать полнофункциональные, реальные программы, используя Akka.NET акторы и множество других частей из Akka.NET framework.

    Мы начнем с некоторых основных акторов и постепенно будем подходить к большим и более сложным примерам.

    Этот курс для самостоятельного обучения — вы можете выполнять его в любом темпе на ваше усмотрение. Вы можете подписаться здесь и каждый день получать по одному уроку Akka.NET на ваш email (на английском языке — от перев.) если хотите.

    ПРИМЕЧАНИЕ: На текущий момент учебный курс рассчитан на использование C# в качестве языка программирования.
    Мы намерены добавить поддержку F# в будущем
    (Также мы принимаем F# pull-реквесты)


    Что вы узнаете


    В учебном курсе Akka.NET вы изучите, как использовать акторы Akka.NET для создания реактивных, параллельных систем. Вы узнаете, как создать приложения, которые, возможно, казалось невозможным или очень-очень трудным до изучения Akka.NET. После учебного курса вы будете чувствовать себя более уверенно в решении сложных и больших проблем, чем раньше.
    узнать больше
  • У нас проблемы с промисами

    • Translation
    Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

    У нас проблемы с промисами


    Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

    Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

    — Многие из нас используют промисы без действительного их понимания.

    Если вы мне не верите, решите такую задачку:

    Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

    doSomething().then(function () {
      return doSomethingElse();
    });
    
    doSomething().then(function () {
      doSomethingElse();
    });
    
    doSomething().then(doSomethingElse());
    
    doSomething().then(doSomethingElse);
    

    Узнайте решение задачи
  • 400 потрясающих бесплатных сервисов

    • Translation

    Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

    И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



    A. Бесплатные веб-сайты

    • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
    • Bootswatch: Бесплатные темы для Bootstrap.
    • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
    • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
    • Strikingly: Конструктор веб-сайтов.
    • Layers: Создание сайтов на WordPress (new).
    • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
    • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
    Читать дальше →
  • Микропаттерны оптимизации в Javascript: декораторы функций debouncing и throttling

      Декораторы функций позволяют добавить дополнительное поведение функции, не изменяя ее. Сигнатура оригинальной и декорированной функции полностью совпадают.
      Читать дальше
    • Профайлер для Entity Framework

      • Tutorial


      Приветствую!

      Продолжу серию статей про программирование. На этот раз, я хочу рассказать о написанном мной бесплатном профайлере для Entity Framework-а ( далее EF) c 4-й по 6-ю версию, а также о некоторых примененных мной решениях, таких как декомпилирование .NET кода на лету, форма для обработки исключений и прочее.
      Nuget пакет для EF6: https://www.nuget.org/packages/EFlogger-For6/
      Nuget пакет для EF4 — 5: https://www.nuget.org/packages/EFlogger-For4/

      Подробности под катом.
      Читать дальше →
    • OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

        Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
        Читать дальше →
      • Особенности реализации MVP для Windows Forms

          Доброго времени суток!
          Model-View-Presenter — довольно известный шаблон проектирования. С первого взгляда все выглядит просто: есть Модель (Model), которая содержит всю бизнес-логику экрана; Вид/Представление (View), который знает, как отобразить те или иные данные; Представитель (Presenter), который является связующий звеном — реагирует на действия пользователя во View, изменяя Model, и наоборот.
          Сложность начинается, когда количество форм в проекте становится более одной.
          В данной статье рассматривается:
          — немножко теории;
          — общие проблемы реализации MVP (а именно Passive View) под Windows Forms;
          — особенности реализации переходов между формами и передача параметров, модальные окна;
          — использование IoC-контейнера и шаблона Dependency Injection — DI (а именно Сonstructor Injection);
          — некоторые особенности тестирования MVP приложения (с использованием NUnit и NSubstitute);
          — все это будет происходить на примере мини-проекта и постарается быть наглядным.
          В статье затрагивается:
          — применение шаблона Адаптер (Adapter);
          — простенькая реализация шаблона Контроллер приложения (Application Controller).
          Для кого эта статья?
          Главным образом для начинающих разработчиков на Windows Forms, которые слышали, но не пробовали, или пробовали, но не получилось. Хотя уверен, что некоторые приемы применимы и для WPF, и даже для веб-разработки.
          Читать дальше →
          • +11
          • 76.4k
          • 5
        • DevDocs: вся документация разработчика в одном месте, с быстрым и удобным интерфейсом



            Сайт devdocs.io — проект французского программиста Тибо Курубля. Здесь собрана и упорядочена документация по наиболее популярным веб-технологиям, фреймворкам и API, и многим другим средствам разработки. DOM, HTML, JavaScript, jQuery, Node.js, PHP, Ruby, Python, Git, Angular, Backbone, CoffeScript, Less, Sass, Redis и много чего ещё… Всё оформлено в едином стиле, по всей базе документации работает поиск, в том числе нечёткий. Есть возможность выбрать только необходимые технологии, по которым надо искать. Вообще, интерфейс DevDocs радует — ничего лишнего, всё очень понятно и функционально, доступно множество клавиатурных сокращений.
            Читать дальше →
          • Ежемесячные расходы дизайн-студии на электроные сервисы

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



              50$. Basecamp



              image

              Простая и удобная система управления проектами от команды 37signals. Это основной инструмент взаимодействия как внутри студии, так и с заказчиками. Все задачи заводятся в виде простых списков и легко меняются местами друг с другом простым перетаскиванием. Каждая задача выглядит как публикация с комментариями. Любой может указывать, кто из команды получит уведомление на email о его комментарии. Можно ограничивать видимость некоторых задач для клиента.
              Читать дальше →
            • Резюме программистов. Часть 2 (хорошие)

                Я сполна получил п***й за первый пост. Самое время писать продолжение! Итак, чего же мне надо от резюме разработчика?

                Все ниже в порядке приоритета.

                Код


                Я хочу видеть код, которым вы гордитесь. Я хочу знать, как вы называете переменные, как декомпозируете систему, как проверяете входные условия и насколько любите все усложнять. Очень желательно, если будет описание проблемы, иначе понимание кода и решения затруднено.
                Читать дальше →
              • Выбор цветовой палитры по фотографии

                  Дизайнер Джессика из компании Seed Design Consultancy занимается подбором оригинальных цветовых палитр для сайтов и предлагает несколько методов, в том числе по произвольному цвету, по рубрикатору тем (осень, минералы, природа). Сейчас она придумала ещё один способ, который несложно реализовать самостоятельно методом статистического анализа.

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


                  Читать дальше →
                • Основы Scala. 5 часов поедания мозгов

                  • Tutorial
                  Добрый день, уважаемое хабрасообщество!image

                  В конце ноября 2013 года мы с коллегой устроили встречу, на которой провели сеанс «интенсивного введения Scala в мозг добровольцев».

                  Выкладываю на суд общественности наше творчество и краткое описание «эксперимента».
                  Читать дальше →
                • MVVM: новый взгляд

                  Внимание!
                  Более свежие и прогрессивные материалы по MVVM паттерну представлены в статье Context Model Pattern via Aero Framework и подробно разобраны в следующем цикле статей

                  Предисловие

                  Некоторое время назад я затеял разработку бесплатного текстового редактора с красивым интерфейсом и широким удобным функционалом на платформе WPF. Довелось решить очень много технических задач, поэтому у меня накопился определённый опыт, которым хочу поделиться с другими людьми.

                  К делу

                  Разработчикам WPF, Silverlight и WinPhone-приложений хорошо знаком паттерн проектирования MVVM (Model — View — ViewModel). Однако если дополнительно применить к нему ещё немного фантазии, то может получиться что-то более интересное, и немного даже, осмелюсь заверить, революционное.
                  Читать дальше →
                • Как мы собрали 823 376 pуб. на печать книги через краудфандинг

                  • Tutorial
                  image

                  После 1,5 лет работы канала ПРОСТАЯ НАУКА мы решились-таки на начало его монетизации. Из всех возможных идей (а их было немало) мы остановились на наиболее простых: книга, наборы и шоу для детей.

                  Начали с книги. В качестве основы взяли наши видеоролики с опытами. Отобрали опыты для детей (для возраста 5-12 лет). Далее разбили их на разделы. И, взяв для начала первые 4 раздела (про воду, куриное яйцо, опыты с воздушными шариками и на равновесие), сгруппировали в них по 8 опытов. Итого вышло 32. Потом сняли 32 ролика в нужном «детском формате» — с соответствующей музыкой, монтажом, объяснением. Затем написали текст и сверстали книгу.

                  И когда дело дошло до «книги»
                  Читать дальше →
                • Эффективный счёт в уме или разминка для мозга

                  Эта статья навеяна топиком «Как и насколько быстро вы считаете в уме на элементарном уровне?» и призвана распространить приёмы С.А. Рачинского для устного счёта.
                  Рачинский был замечательным педагогом, преподававшим в сельских школах в XIX веке и показавшим на собственном опыте, что развить навык быстрого устного счёта можно. Для его учеников не было особой проблемой посчитать подобный пример в уме:

                  image

                  Далее рассмотрим несколько трюков для ускорения умственного счёта...
                • Видео лекций всего курса первой Школы разработки интерфейсов Яндекса

                  • Tutorial
                  Разработка интерфейсов — одно из важнейших направлений в Яндексе, сервисами которого пользуются миллионы людей. А ни один российский вуз, к сожалению, не готовит разработчиков интерфейсов. Все знания, которые необходимы современному верстальщику или фронтенд-программисту, приходится черпать из статей в интернете, книг, докладов на конференциях. Но зачастую этого бывает недостаточно. Почти каждого нового разработчика интерфейсов, которого мы принимали на работу, приходилось многому обучать.

                  За долгое время работы в Яндексе нам удалось систематизировать все наши знания и огромный опыт в создании фронтенда веб-сервисов. Результатом этого осмысления и длительной работы стала первая Школа разработки интерфейсов, занятие которой шли в московском офисе Яндекса. Вся практическая часть обучения проходила в реальных проектах Яндекса. Теоретическая же состояла из лекций, которые читали ведущие разработчики интерфейсов Яндекса: Сергей veged Бережной, Михаил mishanga Трошев, Алексей doochik Андросов, Михаил azproduction Давыдов и другие.

                  Выпускники первой Школы разработки интерфейсов Яндекса

                  Сегодня мы выкладываем видеозаписи каждой из них. Весь курс систематизирован и поделен на пять блоков: инструменты разработки, технологии в разработке интерфейсов, языки программирования, фреймворки, дизайн.

                  Читать дальше →
                • Арсенал веб-дизайнера

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

                    Большие и популярные сайты


                    Behance - работы лучших дизайнеров со всего мира

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