• Основной формат конфигурационных файлов в ваших проектах:

       
      Основной формат конфигурационных файлов в ваших проектах:
      • 40.2%XML2136
      • 21.2%INI1128
      • 7.6%JSON407
      • 5.6%YAML299
      • 0.8%Shell (dotfile)43
      • 17.2%Нативные языковые файлы (.py/.rb/.lua и др.)918
      • 3.4%Собственный / DSL181
      • 3.7%Другой (какой?)201

      Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    • Под капотом образовательного проекта Хекслет

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



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

        Напомню, Хекслет — это платформа для создания практических уроков по программированию в настоящей среде разработки. Под настоящей средой разработки мы подразумеваем полноценную машину, подключенную к сети. Эта важная деталь отличает Хекслет от других образовательных проектов (например, Codecademy или CodeSchool) — у нас нет симуляторов, все по-настоящему. Это позволяет обучать и обучаться не только программированию, но и работе с базами данных, серверами, сетью, фреймворками и так далее. В целом, если это запускается на Unix-машине — этому можно обучать на Хекслете. При этом, понимая это или нет, пользователи используют Test-Driven Development (TDD), потому что их решения проверяются юнит-тестами.

        В этом посте я расскажу про архитектуру платформы Хекслет и инструменты, которые мы используем. О том, как на этой платформе создавать практически уроки — в следующей статье.
        Читать дальше →
      • Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие


          В детстве мы постигаем премудрости жизни через игру. Это важнейший элемент развития личности, социальных навыков, получения знаний об окружающем мире. Игры — хороший «контейнер» для донесения и закрепления каких-либо знаний. Яркий пример — игры, в которых нужно писать код. Наверняка все вы о них слышали, а в некоторые даже играли. Их первичная задача — развлечь людей, уже владеющих навыками программирования, но они могут использоваться и для обучения. Эти игры помогут освежить свои знания по тому или иному языку, отвлечься и заняться более простой алгоритмической задачей.

          Читать дальше →
        • Альтернативы сервису parse.com

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

          Часть 1: универсальные сервисы


          Провайдеры, предоставляющие информацию в реальном времени, помечены (*).

          AnyPresence MBaaS (Mobile backend as a service). Упрощает процесс создания мобильных приложений предприятия, работающих на разных устройствах, не ущемляя гибкость средств, доступных разработчику. Легок в использовании даже для неопытных пользователей. Опытные разработчики получают доступ к исходникам всех компонентов.

          ApiOmat позволяет процессам предприятия работать как мобильным приложениям. Мобилизует сложные бизнес-структуры и процессы путём объединения существующих IT-систем с мобильными приложениями и устройствами. Его можно устанавливать прямо в дата-центре компании, что позволит работникам выполнять свою работу через приложения вне зависимости от их местонахождения.

          Appcelerator Arrow (*) Состоит из двух основных компонентов, Builder и Cloud. Arrow Builder позволяет быстро создавать API, модели данных и соединители данных как через мастер настройки, так и через написание кода. Arrow Cloud – это эластичный облачный сервис, где выполняются API и происходит анализ их использования, плюс обеспечивается работа двух десятков смежных сервисов (гео, хранение фотографий и т.п.) с использованием ArrowDB

          Appery.io Интегрированные сервисы MBaaS – чтобы разработчики могли сконцентрироваться на приложениях, не отвлекаясь на инфраструктуру.
          Читать дальше →
        • Серия видеоуроков по Git для новичков

          • Tutorial
          Скорее всего, если вас привлекло название статьи, то вы начинаете свой путь знакомства с системой контроля версий Git. В данной статье я приведу 10+ видео о пошаговом вхождении в контроль версии используя Git. Данного курса будет вполне чем достаточно для работы с такими популярными сервисами как GitHub и Bitbucket.

          Однажды мой знакомый, который только начинал свой путь в ИТ кинул мне данный мемчик что слева, с вопросом "А чем плохо то?", поэтому чтобы понимать данную шутку и уметь работать с самым популярным на сегодня VCS (Version Control System) рекомендую к ознакомлению серии видеоуроков, которую я привел ниже.
          Читать дальше →
        • 7 советов начинающему ИП, чтобы избежать проблем (что-то вы точно из этого не знаете)



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


            А для тех, кто открыл ООО, мы подготовили: 10 вещей, которые обязательно нужно сделать после регистрации ООО
            Читать дальше →
          • Как правильно внести свою лепту в Open Source проект: простые подсказки

              Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
              Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

              Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

              Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


              Читать дальше →
            • Используем VS Code для Веб-разработки

                VS Code (Visual Studio Code) — относительно новый текстовый редактор, выпущенный Microsoft. Он, также как и Atom, основывается на облочке Electron (написанной командой Atom), кардинально отличаясь реализацией самого редактора.

                VS Code обладает своими уникальными фичами, такими, как, например, IntelliSense "из-коробки".

                В этой статье я бы хотел поделиться тем, что нашел для себя полезным в VS Code для веб-разработки.

                Осторожно! Под катом много картинок и гифок.

                Читать дальше →
              • Как использовать Python для «выпаса» ваших неструктурированных данных

                • Перевод
                Здравствуйте, уважаемые читатели.

                В последнее время мы прорабатываем самые разные темы, связанные с языком Python, в том числе, проблемы извлечения и анализа данных. Например, нас заинтересовала книга «Data Wrangling with Python: Tips and Tools to Make Your Life Easier»:



                Поэтому если вы еще не знаете, что такое скрепинг, извлечение неструктурированных данных, и как привести хаос в порядок, предлагаем почитать перевод интересной статьи Пита Тамисина (Pete Tamisin), рассказывающего, как это делается на Python. Поскольку статья открывает целую серию постов автора, а мы решили пока ограничиться только ею, текст немного сокращен.

                Если кто-то сам мечтает подготовить и издать книгу на эту тему — пишите, обсудим.
                Читать дальше →
              • Знакомство с Go — пишем граббер веб страниц с многопоточностью и блудницами

                Про язык Go от команды Google слышали, наверное, все. А вот пробовали далеко не все, и очень зря — общение с сусликами Go это море удовольствия, в чем я недавно убедился на собственном опыте.
                Начинать знакомство с новым языком забавнее всего на жизненном примере, поэтому я, не долго думая, взял первую попавшуюся задачу “из жизни, самой первостепенной важности”:

                Есть в интернете сайт http://vpustotu.ru на котором любой желающий может анонимно высказаться о наболевшем. Все высказывания (в дальнейшем буду называть их “цитатами”) сначала попадают в модерацию (аналог “бездны” башорга), где посетители могут оценить полет мысли и проголосовать за цитату в стиле “Ого!” или “Ерунда!”. На странице модерации (http://vpustotu.ru/moderation/) нам показывают случайную цитату, ссылки голосования и ссылку “Еще”, которая ведет на эту же страницу. Пощелкайте, это все очень просто.

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

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

                Таким образом нужна программа, которая:

                • Должна последовательно обновлять и парсить (разбирать) страницу, записывая цитату.
                • Должна уметь отбрасывать дубликаты.


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

                • Должна останавливаться не только по команде, но и по достижению определенного числа “повторов”, например 500!
                • Так как это, скорее всего, займет некоторое время: необходимо уметь продолжить “с места на котором остановились” после закрытия.
                • Ну и раз уж все-таки это надолго – пусть делает свое грязное дело в несколько потоков. Хорошо-бы в целых 4 потока (или даже 5!).
                • И отчитывается об успехах в консоль каждые, скажем, 10 секунд.
                • А все эти параметры пускай принимает из аргументов командной строки!


                Ну, вроде все понятно. Пусть программа ведет два файла – с цитатами и с некими хешами этих цитат, чтобы не повторяться, и перечитывает файл в начале каждого запуска. Ну а дальше в цикле разбирает страницу, выдергивая все новые и новые откровения, пока не получит ctrl-c по лбу или же не встретит определенное количество повторов. Задача ясна, план есть – поехали!
                Читать дальше →