• Ричард М. Столлман уходит с руководящих должностей в Free Software Foundation


      Фото:Thesupermat CC BY-SA 3.0

      Вчера было объявлено, что главный идеолог свободного програмного обеспечения уходит с поста президента и выходит из совета директоров Free Software Foundation. Организация немедленно начинает поиски нового президента.
      Читать дальше →
    • Тонкости ES6: Наследование (часть 1)

      • Перевод
      Пару недель назад (статья написана в августе — прим. перев.) мы описывали новую систему классов в ES6 в тривиальных случаях создания конструктора объекта. Мы показали, как можно писать код типа такого:

      class Circle {
          constructor(radius) {
              this.radius = radius;
              Circle.circlesMade++;
          };
      
          static draw(circle, canvas) {
              // Canvas drawing code
          };
      
          static get circlesMade() {
              return !this._count ? 0 : this._count;
          };
          static set circlesMade(val) {
              this._count = val;
          };
      
          area() {
              return Math.pow(this.radius, 2) * Math.PI;
          };
      
          get radius() {
              return this._radius;
          };
          set radius(radius) {
              if (!Number.isInteger(radius))
                  throw new Error("Circle radius must be an integer.");
              this._radius = radius;
          };
      }
      

      К сожалению (как некоторые заметили), у нас не было тогда времени чтобы поговорить о всей мощи ES6 классов. Как и в традиционных системах классов (а-ля Java и С++), в ES6 возможно наследование, когда один класс берет за базу другой и расширяет его.
      Читать дальше →
      • +11
      • 28,5k
      • 6
    • Тонкости ES6: Коллекции (часть 2)

      • Перевод
      От переводчика: это вторая часть перевода статьи про коллекции в EcmaScript 6. Первую часть можно прочитать тут. По разным причинам перевод второй части затянулся на достаточно долгий срок.

      Map


      Map (ассоциативный массив) — это коллекция пар ключ-значение (key-value). Вот что умеет Map:
      • new Map возвращает новый пустой ассоциативный массив.
      • new Map(pairs) создает новый ассоциативный массив и наполняет его данными из существующей коллекции пар [key, value]. Эта коллекция может быть другим Map объектом, массивом из двухэлементных массивов, генератором который возвращает двухэлементые массивы, и т.д.
      • map.size возвращает количество элементов в ассоциативном массиве.

      Читать дальше →
    • GitHub блокирует репозиторий за слово «retard» в описании

      Пару дней назад в репозиторий WebMConverter был сделан коммит, исправляющий слово retard (тормоз, тупица) в описании проекта. Ранее описание проекта было «WebM for Retards», что было изменено на «WebM for Gits». Владелец репозитория показал текст письма, который послал ему гитхаб:
      image
      Читать дальше →
    • Тонкости ES6: Коллекции (часть 1)

      • Перевод
      Ранее на этой неделе (статья от 19 июня — прим.) спецификация ES6, официально названная ECMA-262, 6th Edition, ECMAScript 2015 Language Specification, преодолела последний барьер и была утверждена как стандарт Ecma. Мои поздравления TC39 и всем остальным, кто помогал. ES6 закончен!

      Даже лучше: больше не надо будет ждать следующего обновления 6 лет. Комитет собирается выпускать новую версию в срок около года. Предложения по ES7 уже примаются!

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

      Читать дальше →
    • Ecmascript 6 — что можно использовать уже сейчас



        Примечание: статья расчитана в основном на не-Javascript программистов — иногда я буду вдаваться в объяснения достаточно основных вещей, но надеюсь будет полезна и тем, кто просто не успел ознакомиться с большинством нововведений ES6.

        Как известно, стандарт Ecmascript 6 собираются опубликовать в июне 2015. Но так как многое уже имплементировано в современный браузерах, почему-бы не начать использовать это прямо сейчас?
        Поскольку jsFiddle и аналоги ES6 не поддерживают, буду использовать es6fiddle для примеров. К сожалению, не все в нем можно показать из-за багов. При отсутствии ссылок на es6fiddle рекомендую копировать сниппеты кода в консоль современного браузера и выполнять их — для наглядности. Рекомендую крайний стабильный Firefox (версия 33 на момент написания статьи) — там все работает «из коробки».

        Читать дальше →
      • Разработка баз данных с Code First

        image

        Повсеместно принято, что в «серьезных» CRUD приложениях база данных становится во главу угла. Ее проектируют самой первой, она обрастает хранимыми процедурами (stored procedures), с ней приходиться возиться больше всего. Но это не единственный путь! Для Entity Framework есть Code First подход, где главным становится код, а не база. Преимущества:

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


        Есть и пара недостатков, но они скорее связаны с Entity Framework, а не с Code First подходом как таковым; о них чуть позже.

        Ниже я покажу на примере, насколько просто разрабатывать с Code First подходом.
        Читать дальше →