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

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

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

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

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

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

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

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


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

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

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

        Мы всегда могли создать класс в JavaScript таким образом:
        Читать дальше →
      • Управление конфликтами в хорошей компании

          imageКонфликт во многом похож на воду – он переливается, стекает вниз и, в конце концов, размывает всё на своем пути, если его вовремя не остановить.
          А иногда он похож на красное вино – оставляет пятна.


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

          Как к ним относиться: избегать или наоборот радоваться, что людям не все равно? И какие плюсы можно извлечь из конфликтов? Предлагаю вашему вниманию точку зрения Джейсона Фрайда, соавтора нашумевшего ReWork и Getting Real.

          Мне особенно интересно его мнение, т.к. сам управляю бизнесом с помощью их инструментов и подхода Get Real. Итак, вот текст Джейсона:

          Я являюсь соучредителем самоуверенной компании 37signals, которая занимается разработкой программного обеспечения. Данный эпитет подходит нам как в процессе взаимодействия с внешним миром (в блогах, переговорах, интервью и пр.), так и в общении друг с другом. А так как у нас полувирутальная компания с сотрудниками в 12 различных городах, мы не имеем возможности пользоваться преимуществом языка тела, который помогает передавать тонкости при общении. Поскольку мы не видим друг друга, мы не можем улыбнуться собеседнику или сказать взглядом «Ну вы ведь понимаете, о чем я», чтобы пресечь конфликт на корню.

          Поэтому мы усвоили несколько вещей об управлении конфликтами. Разумеется, конфликт может угнетать. Но управляемый конфликт вещь хорошая – это плодородная почва для большого обмена идеями. Когда люди рьяно отстаивают свои позиции, то проблема начинает пониматься более глубоко. Пока люди отстаивают гениальную идею, а не свою гордость, можно много узнать.
          Читать дальше →
        • Р. Фейнман «Характер физических законов» (вторая лекция)

            Представляю вашему вниманию вторую лекцию из семи прочитанных лауреатом нобелевской премии профессором Ричардом Фейнманом в Корнелльском университете в 1964г, которая называлась «Связь математики и физики».

            image

            Я убежден, что не существует популярной науки, есть только популярная ее интерпретация. И это не самый мною любимый жанр, сейчас я практически не читаю научно популярных книг, наука не заслуживает того чтобы скользить вечно по поверхности. Однако какие-то книги я все-таки читал и вам советую, много и восхитительно писали: Бор с Эйнштейном (любой популярный текст, особенно советую их переписку), Паули (переписка), Гейзенберг «Часть и целое» (это уже больше философия в стиле Витгенштейна), сам Витгенштейн, Куайн «Две догмы эмпиризма», Дэвид Дойч «Структура реальности» (с оговорками- совершенно замечательная вещь), по квантовой механике опять же Фейнман «КЭД — удивительное свойство света и вещества», по логике — Хофштадтер GEB (Гедель, Эшер, Бах) — книга моего детства, по биохимии Франк-Каменецкий «Самая главная молекула» — замечательная книга про ДНК, конечно советую Джеймса Уотсона «Двойная спираль. Воспоминания об открытии структуры ДНК».
            И еще масса книг, которые я не вспомнил, от всех этих книг захватывает дух, но к сожалению на полках в книжных магазинах они растворились в бестолковом шуме какой-то сомнительной около научной литературы. И я не очень понимаю что собственно читают сейчас люди интересующиеся наукой.
            Читать дальше →
          • 15 Вопросов на собеседовании в Google, из-за которых вы можете почувствовать себя глупым

            • Перевод
            15 вопросов от Google
            Google снова набирает людей.
            Это отличная новость для тысяч начинающих менеджеров и разработчиков ПО, желающих найти спокойную пристань в эти сложные дни.
            Теперь плохие новости:
            • Google предпочитает людей из «Лиги Плюща»
            • Им интересны ваши оценки (в институте), даже если вам уже за 30
            • Они ищут людей, которые хотят изменить мир

            Хуже того, если вы подходите по всем этим параметрам, вам все равно надо проходить собеседование.
            Льюис Пин (Lewis Pin), тренер по поиску работы из Сиэтла, собрал 140 вопросов, которые в Google спрашивали его клиентов.

            Сколько шариков для гольфа поместится в школьный автобус?


            Сколько шариков для гольфа поместится в школьный автобус?
            Позиция: Менеджер проекта

            Читать дальше →
          • Много книг, хороших и разных

              Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
              Читать дальше →
              • +109
              • 55,1k
              • 88
            • Основы программирования под Android на примере игры Судоку

                В статье описаны основные трудности создания приложений под Android.
                Рассматриваются базовые понятия программирования Android.
                Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
                Осторожно много скриншотов.

                Читать дальше →
              • Tips and Tricks по программированию на Android

                  Tips and Tricks
                  Летом друг подкинул пару заказов по разработке для Android. Первое это streaming проигрыватель видео для одного французского телевидения, второе — простенькая игрушка.
                  Во время разработки (мой первый опыт разработки на Android и на Java), я уяснил несколько правил, которые нужно соблюдать для корректной и устойчивой работы программ, которыми хочу поделится…
                  Читать дальше →
                • 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 можно писать как императивные, так и объектно-ориентированные программы.

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

                              Читать дальше →
                            • Построение отказоустойчивой (fault tolerant) системы

                                В разработке банковского ПО данному аспекту системы уделяется наибольшее внимание. Часто, описывая отказоустойчивую систему, используют слова: Fault Tolerance, Resilience, Reliability, Stability, DR (disaster recovery). Данная характеристика — суть способность системы продолжать корректно работать при падении одной или нескольких подсистем, от которых она зависит. Я кратко опишу какие подходы могут применяться в данной области и приведу пару примеров.
                                Читать дальше →
                              • Как от маленького сайта дойти до розничной сети и что для этого нужно

                                  В 2008 году будущая команда «Мосигры» начала воплощать свою давнюю мечту по изданию качественной отечественной настольной игры. С продажи первой партии «Шакала» началась история розничной сети. Сначала мы открыли интернет-магазин, потом магазин в реале, а затем за два года построили сеть, покрывающую крупнейшие города России, Украины, Беларуси и Казахстана.

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

                                  Осенью 2008-го года у нас на руках уже была большая партия игры «Шакал» (в премиум-версии), стоящая немалых денег, масса энтузиазма, глобальные планы и некоторое количество денег на сайт и первый маленький магазин.

                                  А теперь медленно и по порядку.

                                  Читать дальше →
                                • 4. Metaprogramming patterns. 19 кю. Спасение утопающих дело рук самих утопающих

                                    Предположим, что у вас есть библиотечный метод, который иногда кидает ексепшены.
                                    Этот метод библиотечный в том смысле, что вы не хотите трогать руками тот файл, где он определён, так как этот файл, например, относится к библиотеке, которая регулярно обновляется, и ваши изменения после каждого обновления будут теряться, если вы специально не позаботитесь о их сохранении.
                                    Такие методы принято менять в своем собственном коде — в динамических языках можно прямо в своем коде переписать избранный метод избранного класса.
                                    Читать дальше →
                                    • +20
                                    • 2,1k
                                    • 7
                                  • DMA для новичков или то, что вам нужно знать

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