• Очередная история про миграцию в ЕС



      Приветствую, дорогой читатель. В последнее время все чаще наблюдаю на Хабре истории об успешной миграции в ЕС (и даже одну в Россию). Раз такой тренд, хотелось бы поведать тебе свою историю. Я постараюсь опустить все эмоциональные составляющие, напротив — постараюсь дать максимально полезную информацию, которая возможно пригодится.

      Прежде чем идти под кат, две ремарки:

      1. Эта история про системного инженера. Я не уверен, что разработчику будет полезно.
      2. Если тебе надоели истории про карьеру, то не трать свое время, на Хабре есть более интересные посты.
      Интересно?
    • Как мы попробовали DDD, CQRS и Event Sourcing и какие выводы сделали

        Вот уже около трех лет я использую в работе принципы Spec By Example, Domain Driven Design и CQRS. За это время накопился опыт практического применения этих практик на платформе .NET. В статье я хочу поделиться нашим опытом и выводами, которые могут быть полезными командам, желающим использовать эти подходы в разработке.

        Факты, цифры, код
      • Git Rebase: руководство по использованию

        • Tutorial
        Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

        Теория


        Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


        Читать дальше →
      • 10 особенностей Webpack

        • Translation
        Webpack считается лучшим инструментом для сборки приложений на React и Redux. Полагаю, многие из тех, кто сегодня использует Angular 2 и другие фреймворки, не обходят вниманием и Webpack. И поскольку начинать работу с данным инструментом всегда непросто, я решил посвятить этой теме несколько публикаций в надежде облегчить старт другим разработчикам и заодно продемонстрировать некоторые особенности Webpack.

        Читать дальше →
      • 12 полезных государственных сервисов для предпринимателей



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

          Читать дальше →
        • Советы Google по кодированию на языке Python. Часть вторая: советы по форматированию исходного кода


            Доброго времени суток. Вот и пришло время для публикации второй части так понравившегося многим хабровчанам перевода стайл гайда для языка Python от компании Google, (первая часть бережно хранится хабром). Теперь мы коснемся напрямую форматирования исходного кода на языке программирования Python. Как известно, чистота — залог здоровья, а чистота программного кода — залог уважения коллег и (в идеале) поощрения от кого-нибудь свыше. Вообще, Python сам по себе является хорошо читаемым языком, и даже синтаксис данного языка призывает к порядку в коде (и, как следствие — в голове). Но каждый из нас сам себе документатор и сам себе творец оформления. А как уже говорилось однажды — ко мнению авторитетных товарищей нельзя не прислушиваться. Итак, вторая часть Google Python Style Guide — Python Style Rules ждет Вас под катом. И pdf тут как тут.
            Читать дальше →
          • Делать ли мобильную версию? 5 распространенных проблем, которые решает адаптивная верстка. Опыт Яндекса

            • Tutorial

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


            Сайт smashingmagazine.com на различных размерах экранов


            Вскоре многим стало понятно, что разработка отдельной мобильной версии — это долго и дорого в поддержке. Кроме того, это противоречит идеологии веба, который подразумевает, что размеченный документ универсален и может быть прочитан практически на любом устройстве вывода. Для решения возникшего противоречия в CSS был добавлен стандарт Media Queries. Появились новые возможности по определению особенностей устройства, в частности появилась возможность применять различное оформление страницы для произвольных размеров окна.

            Читать дальше →
          • О некоторых горячих клавишах в PyCharm

              Хочу поделиться с вами горячими клавишами, которыми пользуюсь или к которым пытаюсь привыкнуть в своей повседневной работе. В современных средах их количество может просто зашкаливать, но постепенное добавление новых сочетаний в копилку, способно значительно повысить вашу продуктивноть. Приведенные сочетания относятся к редактированию, навигации, рефакторингу и справедливы только для раскладки Default for XWin (Linux).

              Читать дальше →
            • Эффективное использование Github


                Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

                Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


                Содержание



                Читать дальше →
              • Давайте уже разберемся в DNS

                • Translation

                image
                Внимательный читатель найдет на этой картинке IPv6


                Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


                Что такое DNS


                DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.


                Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.

                Читать дальше →
              • Каверзные вопросы по C#


                  Хочу представить вашему вниманию комические купле каверзные вопросы по C#.
                  Не удержался и решил запостить немного классики.
                  Некоторые вопросы в подборке кому-то могут показаться слишком простыми, но небольшой подвох в них, как правило, есть. Иногда можно и простым вопросом подловить. Будут полезны тем, кто изучает язык.
                  Всех, кому интересно, прошу под кат!
                  Пойти под кат!
                • 13 февраля в Красноярске состоится конференция разработчиков программного обеспечения Dev2Dev Just.Net

                    Это уже второй (первый можно найти здесь) «гостевой пост» от команды энтузиастов сообщества Dev2Dev. Они продолжают радовать красноярское сообщество отличными конференциями. Ближайшая будет 13 февраля.



                    2016 год только наступил, а Красноярское IT Сообщество Dev2Dev устраивает первое событие. 13 февраля состоится конференция для разработчиков программного обеспечения Dev2Dev Just.Net. Все предыдущие наши события были ориентированы на широкий круг интересов и технологий. В этом году мы решили попробовать провести специализированную конференцию! Приходите, будет интересно. Вход свободный и бесплатный.

                    Концепция событий сообщества Dev2Dev проста: свободный вход, качественный контент и много общения для участников и спикеров. Событие — это в первую очередь фан, знакомства и накачка энергией. Сильные доклады и интересные спикеры делают это возможным, но само событие создают участники.
                    Программа мероприятия
                  • Исходные коды библиотеки нейронных сетей на F# для .NET Framework

                      Периодически я получаю запросы относительно исходных кодов нейронных сетей, использованных в моих работах по анализу тональности, генерации текстов, а также в статьях на Хабре. Поэтому я решил выложить всё-таки их в открытый доступ, вместе с библиотекой на которую они опираются, несмотря на достаточно сырой код. В этой статье я напишу где взять, что можно сделать и немного о том, как пользоваться. Написана библиотка на языке F#, но использовать ее можно из любого .NET языка.
                      Читать дальше →
                      • +21
                      • 15.9k
                      • 7
                    • Коллекция практических советов и заметок по вёрстке

                        CSS Refresher


                        Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

                        От переводчика


                        Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

                        Содержание


                        1. Позиционирование (position)
                        2. Отображение элемента в документе (display)
                        3. Плавающие элементы (float)
                        4. CSS селекторы
                        5. Эффективные селекторы
                        6. Переотрисовка и перерасчет
                        7. CSS3 свойства
                        8. CSS3 медиа-запросы
                        9. Адаптивный web-дизайн
                        10. CSS3 переходы
                        11. CSS3 анимации
                        12. Масштабируемая векторная графика (SVG)
                        13. CSS спрайты
                        14. Вертикальное выравнивание
                        15. Известные проблемы

                        Читать дальше →
                      • Mercurial: изменяем историю

                        Когда я познакомился с Mercurial, то все свои знания я почерпнул из статей Спольского (перевод на Хабре), которые подробно описывают основные принципы работы Mercurial и ежедневную работу с ним. Долгое время я использовал Mercurial в пределах, которые не превышали объема этих статей. Наверно, для одиночного разработчика этого почти достаточно. Почти. Но Mercurial сегодня значительно шире и обладает возможностями допускающими редактирование истории изменений, наличие которых, в общем-то, не очевидно, хотя возможности эти достаточно ценны. А из комментариев к разным статьям по системам управления версиями видно, что многие разработчики об этих возможностях не знают. Ниже я хочу провести обзор ряда возможностей Mercurial связанных с изменением истории.

                        О чем пойдет речь:

                        • фазы
                        • hg commit –amend
                        • hg strip
                        • hg rebase

                        Поехали
                        • +24
                        • 37.4k
                        • 4
                      • Погружение в ASP.NET 5 Runtime

                        Вступление от переводчика


                        Данная статья является переводом ASP.NET 5 — A Deep Dive into the ASP.NET 5 Runtime — введения в архитектуру DNX и построенного на нем ASP.NET 5. Так как оригинальная статья была написана в марте 2015 года, во время, когда ASP.NET 5 был еще в стадии активной разработки (примерно beta 3), многое в ней устарело. Поэтому при переводе вся информация была актуализирована до текущей версии ASP.NET 5 (RC1), также были добавлены ссылки на связанные ресурсы (в основном на docs.asp.net) и исходный код на GitHub (смотрите только в случаях, если вам интересна реализация). Приятного погружения!

                        .NET Runtime Environment (DNX)


                        ASP.NET 5 базируется на гибком, кроссплатформенном runtime, который может работать с разными .NET CLR (.NET Core CLR, Mono CLR, .NET Framework CLR). Вы можете запустить ASP.NET 5 используя полный .NET Framework или можете запустить используя новый .NET Core docs, который позволяет вам просто копировать все необходимые библиотеки вместе с приложением в существующее окружение, без изменения чего-либо еще на вашей машине. Используя .NET Core вы также можете запустить ASP.NET 5 кроссплатформенно на Linux docs и Mac OS docs.

                        Инфраструктура позволяющая запускать и исполнять приложения ASP.NET 5 называется .NET Runtime Environment docs или кратко DNX. DNX предоставляет все что необходимо для работы .NET приложений: host process, CLR hosting логику, обнаружение управляемой Entry Point и т.д.

                        Логически архитектура DNX имеет пять слоев. Я опишу каждый из этих слоев вместе с их обязанностями.
                        Изображение взято из статьи DNX-structure wiki
                        Архитектура ASP.NET 5 и DNX

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