• Бесплатные практические курсы по основам программирования на JavaScript

      Привет, Хабр!

      Мы на Хекслете закончили полный цикл курсов по обучению PHP-программистов и переключились на стек JavaScript. Первые два курса новой программы уже доступны, и они бесплатные!

      Курс «Основы программирования» — это знакомство с миром разработки и языком JavaScript. Курс рассчитан на новичков без опыта в программировании, но будет полезен и многим практикующим программистам, потому что покрывает таки темы как рекурсивные и итеративные процессы, чистые функции и побочные эффекты, автоматические тесты и модульное тестирование.

      Читать дальше →
    • Codebattle: игра для программистов

        Привет, Хабрахабр!

        Мы в Хекслете любим не только учиться и учить, но и развлекаться. Но развлекаться по-своему, по-программерски. Поэтому мы запустили Codebattle. Это игра для программистов.

        Идея очень простая: вам и сопернику дается задача, вы решаете ее на выбранном вами языке. Вы видите код соперника в реальном времени, результаты запуска тестов и можете общаться с ним и зрителями в чате. Кто первый решит задачу (удовлетворит тестам) — тот победил.


        Читать дальше →
      • Прототипы это объекты (и почему это важно)

        • Перевод
        JavaScript – один из главных языков нашего стека в Хекслете. Мы используем ReactJS и NodeJS в интерактивных частях платформы, и сделали вводный курс (более продвинутые – на подходе). Любовь к JS помогла опубликовать этот перевод хорошего эссе «Prototypes are Objects (and why that matters)».

        Этот пост рассчитан на тех, кто знаком с объектами в JavaScript и знает, как прототип определяет поведение объекта, что такое функция-конструктор и как свойство .property конструктора относится к объекту, который он конструирует. Общее понимание синтаксиса ECMAScript 2015 тоже не помешает.

        Мы всегда могли создать класс в JavaScript таким образом:
        Читать дальше →
      • Talk on the Run. Говорящий программист

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

          Зачем?

          • Большинство проектов, с которыми мне приходится сталкиваться, устроены по принципу двух-трех-уровневой иерархии, причем наверху пищевой цепочки находятся серьезные боссы, управляющие серьезными клиентами, а внизу – кодеры за еду разной степени продвинутости. В золотой середине сидят тимлиды, они же техлиды, они же координаторы, на которых, собственно говоря, и ложится основная ответственность за реальный value и реальный delivery.
          • Эти люди чаще всего – собственный продукт компании, начинавшие как молодая шпана, прошедшие длинный путь развития, и при этом – они категорически не рвутся превращаться в больших начальников, поскольку свежий ветер еще шумит у них в голове, и отрываться от своей, любовно возделанной на .NET грядки, им совсем даже не хочется.
          • Тем не менее – к ним приходят и говорят: у тебя растут года, парень, пора руководить, че.

          Читать дальше →
        • IT в регионе. Ульяновск. Выходим из сумрака

            Ульяновск — мой родной город, но карьеру разработчика я начал в Москве и прошел путь от PHP-девелопера в веб-студии до программиста Ruby On Rails в Skype. Зеленоград, в котором расположился офис Skype, оказался очень необычным городом. Он действительно очень зеленый, ухоженный и приятный для жизни. Именно там пришла мысль о том, что свет клином на Москве не сошелся. Через какое-то время я уволился и, не имея ни плана, ни сбережений, отправился домой, в Ульяновск, создавать компанию своей мечты.

            Каково же было мое удивление, когда я узнал о том, насколько в городе развито ИТ-движение.

            Читать дальше →
          • Постигаем Git

            • Перевод
            От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.

            Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
            Читать дальше →
          • Стачка: всероссийская IT-конференция в Ульяновске



              Уже через две недели, 13 и 14 апреля в Ульяновске состоится организованная крупнейшими IT-компаниями города конференция «Стачка!», на которой, помимо ульяновских специалистов, выступят докладчики из Skype, Mail.ru, Badoo, AVITO.ru, Red Keds и других компаний.

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

              Читать дальше →
            • Как искать программистов в регионах? Мы нашли эффективный способ. Делимся…

                Интересно, это только у нас такая ситуация, что нам постоянно нужны люди, или это общая тенденция всех региональных веб-студий?! Работы всегда больше, чем мы можем сделать! Нам постоянно нужны люди. Адекватные и недорого ) Объявления в газетах, на форумах, в институтах, обзвон знакомых и даже социальные сети… Все это в нашем регионе уже как несколько лет почти не приносит ожидаемого результата. Что делать?
                Читать дальше →
              • Новая редакция закона о ПД: нужно ли нам бояться?

                  В конце июля Президент подписал законопроект о внесении поправок в федеральный закон «О персональных данных». Закон этот был опубликован в "Российской газете" 27 июля, и тогда же вступил в силу. Вдобавок, ему придана еще и «обратная сила»: действие его распроостраняется и на те правоотношения, которые возникли с 1 июля. Принятию предшествовала бурная дискуссия: несколько специалистов в области информационной безопасности обратились к Президенту с открытым письмом, в котором призвали его закон ни в коем случае не подписывать. По мнению подписантов письма, предлагаемые поправки не соответствуют конвенции Совета Европы «О защите физических лиц при автоматизированной обработке персональных данных», хотя целью проекта было именно выполнение ее требований.

                  Та схема определения мер по защите персональных данных, которая принята сейчас, в корне противоречит конвенционной. По конвенции лицо, которое обрабатывает информацию, может само определять, с помощью каких средств можно их защищать. А вот отечественный закон сам устанавливает такие требования, предусматривая ответственность за их неисполнение. Причем, по мнению авторов письма, требования эти представляют собой «методы и способы защиты государственной тайны 20-летней давности». Сам текст законопроекта изначально имел компромиссный характер, давая оператору персональных данных большую свободу действий при выборе средств защиты. Но в процессе принятия текст его был изменен. Ну что ж, давайте посмотрим, что за поправки.
                  Читать дальше →
                • Знакомство с АОП

                    Парадигмы программирования


                    В современном мире IT-разработки существует довольно большое множество различных подходов к написанию программ. Так, например, кому-то нравиться представлять программу в виде последовательности действий, а кто-то считает, что программа должна представлять собой множество объектов, общающихся друг с другом. Совокупности этих идей и понятий образуют своего рода стиль написания программы, который принято назвать – парадигма программирования.

                    У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
                    • инструкция (императивное программирование, FORTRAN/C/PHP),
                    • функция (функциональное программирование, Haskell/Lisp/F#/Scala),
                    • прототип (прототипное программирование, JavaScript),
                    • объект (объектно-ориентированное программирование, С++/Java),
                    • факт (логическое программирование, PROLOG).

                    Стоит заметить, что в общем случае язык программирования однозначно не определяет используемую парадигму: на том же PHP можно писать как императивные, так и объектно-ориентированные программы.

                    В этой статье я хочу рассказать о сравнительно молодой, но крайне, на мой взгляд, полезной парадигме программирования – аспектно-ориентированном программировании.

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