• Что почитать на новогодних праздниках

      Составили для вас подборку книг, которые помогут прокачать полезные для работы скиллы и узнать что-то новое, не делая над собой титанических усилий.
      Читать дальше →
    • Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

        Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

        Существует два распространенных типа подключения DPI: пассивный и активный.

        Пассивный DPI

        Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
        Читать дальше →
      • Мастер-класс «Почему Стив Джобс любил шрифты» (Алексей Каптерев)

        • Tutorial


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




        Шутка, написанная гарнитурой Times, на 10 % смешнее той, что написана гарнитурой Arial. Почему? Чёрт знает. Лучшее объяснение, которое я видел: юмор ассоциируется с агрессией, с остротой, с остроумием — а Times выглядит более острым, чем Arial.


        Ещё один любопытный эксперимент, в котором участвовало 45 тыс. человек. Заходишь на сайт, тебе показывают статью Дэвида Дойча, британского физика. В статье автор пишет, что сегодня очень трудно внезапно умереть. Например, от инфекционного заболевания или в уличной драке. Лет сто назад это случалось намного чаще. Главный вывод статьи — сейчас мир безопасен как никогда. В среднем, конечно, ведь где-то постоянно идут локальные военные конфликты.

        Читать дальше →
      • Чем загрузить VPS: своё «облако» Nextcloud

        • Tutorial

        На дворе 2017 год: правительство шпионит и блокирует сайты, большие корпорации отдают ваши личные данные правительству или продают на сторону. У вас уже есть подписка на VPN, но в России такие сервисы теперь вне закона. Вы арендовали VPS заграницей и ходите в сеть через него, но мощности работают вхолостую.

        Установим Nextcloud! Он заменит синхронизацию контактов, календаря, списка задач и файлохранилища/обменника на вашем смартфоне, а на ПК сойдёт за Dropbox. И независимости добавим, и сервер нагрузим.

        Дальше длинная, но не сложная инструкция про аренду сервера, установку и настройку Nextcloud на сервере и на ПК/смартфонах, включая синхронизацию контактов и календаря.
        Читать дальше →
      • Как работает Android, часть 2


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

          Читать дальше →
        • Как программисту получить свой первый оффер

            image

            Этот вопрос, пожалуй, волнует многих людей, особенно выпускников ВУЗов. В данной статье я опишу, как и какими способами можно получить ваш первый оффер программиста. Я искала позицию java-developer, однако не думаю, что алгоритм поиска работы будет сильно отличаться в зависимости от выбранного вами языка программирования.

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

            1. Выбор языка программирования
            2. Усиленное чтение документации с последующим решением задачек, разбором примеров и чтение подходящих статей.
            3. Когда хоть какая-то база уже есть, следует придумать себе какой-нибудь несложный проект, в котором вы будете использовать все то, чему научились.
            4. Придумываем проект сложнее, параллельно не забываем о том, что надо изучать сопутствующие технологии.
            5. Желательно все это выкладывать на гит, чтобы в будущем работодатель видел, что процесс обучения у вас шел. О пользе гита я расскажу чуть ниже.
            6. Заведите себе друга программиста, который время от времени мог вам давать советы или менторить вас (это, конечно, кому как повезет). В целом, лучше не надеятся на чью-то помощь, а делать и развиваться самим.
            Читать дальше →
          • Академическое издательство Elsevier требует у Sci-Hub и LibGen миллионы долларов в качестве компенсации за ущерб



              Крупнейшее в мире академическое издательство Elsevier давно борется с ресурсами, которые размещают у себя бесплатно те научные работы, за доступ к которым эта организация требует огромные деньги. На днях издательство добилось от окружного суда США по Восточному судебному округу штата Нью-Йорк положительного решения по своему иску к Sci-Hub и LibGen. Александра Элбакян, основательница Sci-Hub, говорит, что не сможет выплатить требуемую сумму даже в том случае, если бы даже очень хотела это сделать. Сейчас, как она утверждает, «Pirate Bay для науки» будет продолжать работу.

              Разбирательства в суде по иску, поданному Elsevier, продолжались два года. Основная претензия издательства состоит в том, что «научные пиратские сайты» выкладывали в общий доступ материалы ученых, не имея на то никакого права. Несмотря на то, что тот же Sci-Hub мало похож на обычный пиратский ресурс с варезом, по мнению юристов Elsevier, сайт этот все же является пиратским.
              Читать дальше →
            • Обзор сервиса Grammarly для улучшения письменной речи на английском языке


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

              Содержимое статьи:

              • Как бесплатно получить «вечную» Premium-подписку
              • Где располагается статистика и насколько хорошо она работает
              • Все ли конструкции из знаменитого учебника English Grammar in Use воспринимаются как правильные
              • Хороша ли интеграция с браузером, MS Word и Google Docs
              • Где разработчики перестарались

              Читать дальше →
            • Дайджест интересных материалов для мобильного разработчика #188 (23-29 января)

                В этой еженедельной подборке вы найдете архитектуру Uber, половинки квадрата от Папы, отзывы и иконки в новой iOS, борьбу с Xiaomi, новую версию Qt и много другого интересного!

                Читать дальше →
              • Неожиданная встреча. Глава 4

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



                  Читать дальше...
                • Самое главное о нейронных сетях. Лекция в Яндексе

                    Кажется, не проходит и дня, чтобы на Хабре не появлялись посты о нейронных сетях. Они сделали машинное обучение доступным не только большим компаниям, но и любому человеку, который умеет программировать. Несмотря на то, что всем кажется, будто о нейросетях уже всем все известно, мы решили поделиться обзорной лекцией, прочитанной в рамках Малого ШАДа, рассчитанного на старшеклассников с сильной математической подготовкой.

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



                    Константин klakhman Лахман закончил МИФИ, работал исследователем в отделе нейронаук НИЦ «Курчатовский институт». В Яндексе занимается нейросетевыми технологиями, используемыми в компьютерном зрении.

                    Под катом — подробная расшифровка со слайдами.
                    Читать дальше →
                  • Путь Go: как ускорялась сборка мусора

                    • Translation
                    Язык Go в Twitch используется во многих нагруженных системах. Простота, безопасность, производительность и читабельность делают его хорошим инструментом для решения проблем, с которыми сталкиваются сервисы, например при стриминге видео и обслуживании переписки миллионов пользователей.

                    Но эта статья — не очередное воспевание Go. Она о том, как наше использование этого языка раздвигает некоторые границы текущей реализации runtime’а и как мы реагируем на достижение этих границ.

                    Это история о том, как улучшение runtime’а с Go 1.4 по Go 1.6 дало нам 20-кратное уменьшение пауз при работе сборщика мусора, как мы получили ещё 10-кратное уменьшение пауз в Go 1.6 и как, передав наш опыт команде разработчиков, работающей над runtime’ом Go, обеспечили 10-кратное ускорение в Go 1.7 без дополнительных ручных настроек с нашей стороны.
                    Читать дальше →
                  • Unity и «Помогаторы» для редактора



                      В этой статье опишу несколько полезных возможностей и реализаций, которые мне помогли в разработке. Unity уже имеет множество методов чтобы не только «дебажить логами», но и расширять, дорисовывать необходимые данные в окне редактора. Если вы новичок в Unity или вам захотелось освежить знания – «Нужно брать!».
                      Читать дальше →
                    • Построение Android приложений шаг за шагом, часть первая



                        В этой статье мы поговорим о проектировании архитектуры и создании мобильного приложения на основе паттерна MVP с использованием RxJava и Retrofit. Тема получилась довольно большой, поэтому подаваться будет отдельными порциями: в первой мы проектируем и создаем приложение, во второй занимаемся DI с помощью Dagger 2 и пишем тесты unit тесты, в третьей дописываем интеграционные и функциональные тесты, а также размышляем о TDD в реалиях Android разработки.
                        Читать дальше →
                      • Подборка: Более 800 ресурсов для front-end-разработчиков

                        • Translation
                        Мы продолжаем публиковать подборки полезных инструментов. Ниже представлена подборка из более 800 сервисов, книг, статей, видеотуториалов и других материалов, которые будут полезны всем, кто занимается фронтенд-разработкой.

                        Читать дальше →
                      • Как правильно внести свою лепту в Open Source проект: простые подсказки

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

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

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


                          Читать дальше →
                        • Увеличение времени работы от аккумулятора в Android M

                          • Translation


                          По мнению многих разработчиков, в большинстве случаев к слишком быстрому разряду аккумуляторов смартфонов приводит плохая оптимизация приложений. В мае этого года в Google прошла очередная ежегодная конференция Google I/O, на которой было анонсировано много всего интересного для разработчиков. В частности, когда речь зашла об Android M, то одной из центральных тем были именно производительность мобильных устройств и продолжительность работы от аккумулятора. Давайте взглянем на новые функции и инструменты, которые помогут пользователям и разработчикам выжать ещё больше из аккумуляторов мобильных устройств.
                          Читать дальше →
                        • Ускорение обработки изображений в Android

                          • Translation
                          image Центральные процессоры и графические ядра современных устройств, работающих под управлением Android, способны на многое. Например, их вычислительную мощность можно направить на обработку изображений.

                          Для того чтобы это сделать, стоит обратить внимание на технологии OpenCL и RenderScript.

                          В этом материале рассмотрен пример Android-приложения, в котором показаны методики высокопроизводительной обработки изображений с использованием языков программирования OpenCL и RenderScript. Эти технологии разработаны с прицелом на возможности графического аппаратного обеспечения, рассчитанного на параллельную обработку данных (шейдерных блоков). Они позволяют ускорить работу со значительными объёмами данных и решение задач, предусматривающих большое число повторов команд. Хотя, для ускорения обработки графики в Android-приложениях, вы можете воспользоваться другими технологиями, в этом материале рассматриваются примеры построения инфраструктуры приложения и реализации графических алгоритмов на OpenCL и RenderScript. Здесь так же рассмотрен класс-обёртка для OpenCL API, который позволяет упростить создание и исполнение приложений, работающих с графикой и использующих OpenCL. Использование исходного кода этого класса в ваших проектах не требует лицензирования.
                          Читать дальше →
                          • +16
                          • 14.6k
                          • 3
                        • Налоговый суслик. Особенности упрощенной системы налогообложения при работе по договорам с Apple, Google и другими

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

                          Прочтите внимательно эту статью, если вы применяете упрощенную систему налогообложения с объектом налогообложения «доход» по ставке 6 процентов и продаете игры или приложения в Google Play, Apple App Store, а также прочий цифровой контент — например, 3D-модели — в Steam, Unity Asset Store или на других площадках, в условиях договоров с которыми фигурируют комиссии, агентские вознаграждения и прочие формы разделения выручки между сторонами.

                          Из материала вы узнаете:

                          • Почему разработчику желательно обладать хотя бы базовой юридической грамотностью
                          • Чем с точки зрения Гражданского кодекса являются игры и приложения и какие права на них есть у разработчиков помимо авторского права
                          • Что такое агентский договор и почему все это важно при работе по договору с Apple или Google
                          • Кто такой налоговый суслик и почему он может превратиться в пушного зверя
                          • Какой «подвох» существует для применяющих «упрощенку» в части определения налоговой базы
                          • Почему налог на добавленную стоимость (НДС) продолжает преследовать нас, даже когда мы не являемся его плательщиками
                          • Как, с точки зрения Федеральной налоговой службы, облагаются НДС внутриигровые покупки (InApp Purchases)
                          Покажите мне суслика!
                        • Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке


                            Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

                            Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

                            Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
                            Читать дальше →