Главная Кодинг (страница 4)

Кодинг

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

«Сердце робота»: Как использовать системный API Android в личных целях

Любой, кто писал более или менее серьезный софт для разных мобильных ОС, знает, что Android — самая открытая для разработчика ОС. Однако и в Android есть ряд системных API, скрытых от сторонних приложений и доступных только стоковому софту. В этой статье мы попробуем разобраться, как получить доступ к этим API и какие возможности они открывают.

Xakep #207

Задачи на собеседованиях #207. Задачи от компании ABBYY

Немало воды утекло со времен лихих девяностых, и теперь ABBYY разрабатывает решения в области интеллектуальной обработки информации и лингвистики, известные во всем мире. А мы не только знаем, что ABBYY читается как «Аби», но и котируем эту компанию как достойного работодателя.

Xakep #206

Лучшие опенсорсные библиотеки для Material Design

В прошлой статье мы рассматривали официальные компоненты и виджеты библиотеки совместимости от Google, позволяющие «старым» (до 5.0) версиям Android прикидываться молодыми и стильными. Сегодня мы рассмотрим некоторые опенсорсные проекты, проверенные временем, разработчиками и, конечно, пользователями приложений.

Xakep #206

10 советов на 10 миллионов. Как зарабатывать в магазинах приложений

С 1 июня 2014 года одно из моих приложений пережило 65 обновлений и в декабре 2015-го наконец получило более десяти миллионов установок. Поэтому я почувствовал, что имею моральное право сделать статью с советами о том, как достичь аналогичного процветания.

Xakep #206

Как устроена малварь для Android: разбираем на примерах Taidoor, IXESHE и СozyDuke

Когда антивирусные компании впервые начали публиковать обзоры Flame, с определенного угла зрения они читались как самая настоящая реклама этого продвинутого зловреда. Слаженный коллектив, миллионы долларов «инвестиций», высокие технологии, архитектура, паттерны, высочайшая квалификация... Вкусно звучит, не правда ли? Мы, мобильные кодеры, можем кое-чему у них подучиться!

Xakep #205

Мозги напрокат. Как сделать нейросеть или воспользоваться чужой

Нейросети сейчас в моде, и не зря. С их помощью можно, к примеру, распознавать предметы на картинках или, наоборот, рисовать ночные кошмары Сальвадора Дали. Благодаря удобным библиотекам простейшие нейросети создаются всего парой строк кода, не больше уйдет и на обращение к искусственному интеллекту IBM.

Xakep #205

Черная магия Git hook. Как не пустить джуниоров в мастер-ветку и вообще все автоматизировать

При code review ты указываешь разработчикам на забытые printf и console.log? С ужасом видишь код с синтаксической ошибкой? Хочешь разграничить права на работу с ветками, потому что джуниор путает порядок при слиянии? Хватит это терпеть! У нас же есть Git и Bash!

Xakep #205

Задачи на собеседованиях, спецвыпуск. Стань богатым Java-программистом!

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

ESIL + radeco IL. Используем radare2 для эмуляции и декомпиляции

Много кто помнит черно-белый интерфейс SoftICE с просмотром дизассемблерного листинга и содержимого регистров. Еще больше человек знают об IDA Pro (декомпилятор не рассматриваем) и бессменном objdump (в случае линуксоидов). Однако времена ручного разбора ассемблера прошли. Сейчас большую популярность приобрели инструменты преобразования нативного кода в некое абстрактное представление для упрощения анализа. Подобные инструменты используются повсеместно — от набора компиляторов на основе LLVM до декомпилятора HexRays. В данной статье я попытаюсь объяснить основы этого метода на примере ESIL от проекта radare2.

Xakep #204

Интерпретатор «по-функциональному»: Haskell, OCaml и Scala на практике

Давненько мы не касались темы функционального программирования... успел ли ты соскучиться? Уверен, что нет, но деваться некуда :), ведь сегодня я настроен показать тебе реальную силу функционального подхода. Заодно мы рассмотрим то общее, что объединяет функциональные языки. В этой статье мы попробуем написать простейший интерпретатор сразу на трех языках: Haskell, OCaml и Scala.

Xakep #204

Атомная бомба для C++ кодера. Обзор набора фреймворков массового поражения

Если коротко, openFrameworks — это проект с открытым исходным кодом на C++, представляющий собой набор укомплектованных инструментов (фреймворков) для разработки кросс-платформенных приложений, не только настольных, но и мобильных. Мы уже знакомы с подобными либами, однако openFrameworks идет еще дальше, предоставляя программисту более широкие возможности.

Xakep #204

Нарезаем яблоки. Что внутри файловой системы iOS?

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

Xakep #203

Как стать участником опенсорс-проекта, даже если не умеешь писать код?

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

Xakep #203

Интерфейсы будущего: изучаем Material Design от Google на практике

Этим летом Google презентовала пятую версию ОС Android. Важной особенностью стало свежее видение дизайна мобильных приложений. Разработчикам предоставили новые инструменты, позволяющие создать приложения в стиле Material Design. Под этим красивым словосочетанием скрывается целая философия оформления визуального, динамического и интерактивного дизайна. Сегодня мы познакомимся с основными новшествами, которые помогут мобильному разработчику создать красивое и органичное приложение.

Xakep #202

Шесть лучших библиотек Android-разработчика

Официальный Android SDK содержит в себе достаточный набор классов для создания полноценного приложения. Но будет ли оно лучшим? Сложно с нуля написать одновременно красивое, стабильное и полезное приложение. Иногда ловишь себя на мысли, что метод findViewById ты вызываешь уже в сотый раз и это тебе уже порядком надоело. Благодаря энтузиастам появляются библиотеки, которые существенно упрощают создание сложных конструкций или избавляют от однотипных действий. Сегодня мы разберемся, в чем именно они нам могут помочь.

Xakep #202

Создаем универсальные приложения под Windows 10

Windows 10 стала единственной программной платформой Microsoft, управляющей различными устройствами: от микроконтроллеров и до больших серверных систем. Только вдумайся: одно ядро для ПК, для миниатюрных девайсов (Internet of Things), консоли (Xbox One), моноблока (Surface Hub), устройств дополненной реальности HoloLens! В этой статье мы в деталях разберемся в платформе UWP и в ее возможностях управления компьютером.

Xakep #201

Как писать приложения для Андроида с поддержкой прав root

В Android приложения с поддержкой root имеют особый статус. Во-первых, они будут работать только на рутованных смартфонах, то есть у довольно узкого круга пользователей. Во-вторых, возможности root-приложений безграничны. Они могут удалять или устанавливать системные приложения, изменять системные конфиги, прошивать в смартфон кастомные ядра или прошивки, да и вообще без проблем превратят смартфон в кирпич. Думаешь, реализовать все это сложно? Отнюдь!

Xakep #201

Framework7: делаем мобильные приложения в нативном стиле

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

Xakep #201

Что отпугивает на собеседованиях: 20 практических советов от работодателей

Для большинства из нас рано или поздно встает вопрос поиска работы. Опытные соискатели знают, как правильно вести себя на собеседовании, что можно и чего нельзя делать, и что приведет будущего работодателя в недоумение при приеме на техническую должность. Ну а как быть, если у тебя за плечами нет большого опыта поиска работы? Мы кинули клич нашим друзьям из крупных технологических компаний РФ и попросили рассказать, что отпугнет их в соискателе на должность программиста при приеме на работу.

Xakep #201

Win 10 для программиста: полный гайд по новым фичам

Пока не появился финальный релиз Windows 10 и Visual Studio 2015, мы старались по максимуму подготовить читателя к тем фичам, которые были обещаны Майкрософтом нашему брату-программисту. И вот десятая винда вышла в свет, и ее уже установили миллионы пользователей, среди которых, как мне доподлинно известно, есть программисты :). А это значит, что пора сравнить ожидания и реальность и посмотреть на те возможности, которые нам теперь доступны: Xamarin, Apache Cordova, UWP, поддержка Python, .NET Native, DirectX 12, VS Code, Windows IoT и многое другое. Вперед!

Xakep #201

Решение задач на собеседованиях от Pay-Me и прославление победителей

Товарищи из сервиса мобильного эквайринга Pay-Me определились с победителями задач, опубликованных в прошлом номере. Да мы и не сомневались — наши читатели порвут какие хочешь задачи! Правильные ответы мы тоже сегодня опубликуем.

Xakep #201

Тестирование производительности. Узнай, что именно тормозит и что с этим нужно делать

Завершая цикл статей о вычислении производительности софта, хотелось бы рассказать, как правильно проводить перформанс-тестирование (performance testing). Тема становится все более популярной, но при этом далеко не все понимают, что под этим подразумевается. Ведь прежде чем ответить на вопрос «как», нам нужно разобраться с вопросом «что»: что именно нам нужно тестировать?

Xakep #200

Задачи на собеседованиях #200. Задачи от сервиса мобильного эквайринга Pay-Me и прославление победителей от Acronis

В этом выпуске мы расскажем, как отбирают кандидатов в сервис мобильного эквайринга Pay-Me. Передаю слово Игорю Аскарову — техническому директору Pay-Me. Он поделится задачами, которые он дает на собеседованиях при приеме разработчиков в команду.

Xakep #200

Злые СМС. Исследуем скрытые механизмы работы с СМС в Android

Только представь: у всех жителей средней полосы осень, а ты тусуешься на морях, солнце лениво замерло в зените, ты лежишь на жемчужном пляже одного из Мальдивских островов, любуешься окружающими пейзажами и проходящими девушками в бикини, потягивая коктейль... А много позже, вечером, ты обнаруживаешь, что на счете твоей пластиковой карточки пусто! Как же так? Мобильный банк с информированием подключен, все операции вроде бы подтверждаются по СМС... Примерно такие вопросы стали недавно задавать вслух клиенты одного крупного банка с зеленым логотипом.

Xakep #199

Самый быстрый UI. Подборка полезных инструментов для веб-разработчиков

В этой подборке — интересные веб-чаты на замену Slack, несколько альтернатив других веб-сервисам, собственный GitHub и javascript-библиотеки для фронтенда: работа с DOM и DOM-элементами, текстовым контентом и CSS, ускорение работы web-страниц.

Xakep #199

Профилировщики для Python. Измеряем скорость выполнения наших приложений

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

Xakep #199

Задачи на собеседованиях, спецвыпуск. Тестовые задания в gamedev, часть 2

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

Xakep #199

Xonix для Android. Сделано стандартными средствами Android SDK!

Хочется иногда взять и отдохнуть от всех этих фреймворков, движков и готовых библиотек. Точнее, не отдохнуть, а напрячься — взять и накодить какую-нибудь игрушку исключительно с помощью стандартных средств. Какую именно? Выбрать легко, ведь в сердце любого программера неизменно живут три игры, созданные в прошлом веке: Tetris, Digger и Xonix. Поехали!

Xakep #198

Создатель GUI для AV — про skillsets, separation of conсerns и митболы

У современных программистов нет проблем с выбором либы для создания GUI своих приложений. К их услугам целый пул библиотек, начиная со старушки MFC и заканчивая монстром Qt. Но есть одна разработка, которая стоит особняком, — Sciter. Создатель этой маленькой, но очень полезной библиотеки — Андрей Федонюк, он же основатель и владелец компании Terra Informatica Software.

Xakep #198

Прототипируй правильно, верстай быстро! Подборка приятных полезностей для разработчиков

Существует множество различных фреймворков или даже, правильнее сказать, тулкитов (ExtJS, Dojo, Webix), которые проповедуют свой синтаксис разметки веб-страничек, «искажая» классическое представление о верстке с HTML и CSS. Многие из них обрели свою аудиторию, но сегодня пойдет речь, вероятно, о самом популярном методе нестандартного позиционирования элементов, который пришел в веб из мира десктопной и мобильной разработки...

Xakep #198

Анализ данных с использованием R. Часть 1

Сегодня я немного расскажу о решении задачи классификации с использованием программного пакета R и его расширений. Задача классификации, пожалуй, одна из самых распространенных в анализе данных. Существует множество методов для ее решения с использованием разных математических техник, но нас с тобой, как апологетов R, не может не радовать, что при этом программировать что-либо с нуля не нужно, — все есть (причем далеко не в единственном экземпляре) в системе пакетов R.

Xakep #198

Python на стероидах. Измеряем производительность в продакшене без потери скорости

Когда цена за гигабайт памяти составляет копейки (~0,026 доллара за час в облаке от Amazone), а современные процессоры работают все быстрее с каждым месяцем, производительность ПО во многих случаях оставляет желать лучшего. Ведь часто докупить оперативки и/или процессор оказывается дешевле, чем тратить многие человеко-месяцы на тестирование и исправление проблем с производительностью. Но бывает и наоборот — стоит исправить буквально две строчки кода, как все начинает просто летать. Главное — найти эти самые две строчки кода. Здесь все как в старом анекдоте: «взял один доллар за то, что забил гвоздь, и 99 долларов за то, что знал, куда его забить».

Xakep #198

Умный дом на Java. Обзор Netty — крутейшего Java-фреймворка

Фреймворк Netty появился относительно недавно, но с каждым годом он только набирает популярность. В 2011 году проект был удостоен награды Duke’s Choice за инновации в сетевом программировании. А уже сегодня его используют в своих разработках такие гиганты, как Apple, Twitter, Facebook, Google и Instagram. На базе Netty построены многие известные проекты с открытым кодом: Infinispan, HornetQ, Vert.x, Apache Cassandra и Elasticsearch. Попробуем разобраться, чем Netty так привлекает программистов со всего мира и что он может предложить такого, чего бы не было в JDK.

Xakep #198

Задачи на собеседованиях от Acronis и решения задач от Custis

Сегодня мы поговорим с Евгением Панищевым, руководителем QA Cloud направления международной компании Acronis. Его отдел занимается тестированием всех облачных решений Acronis: от Acronis Backup Cloud до Acronis Disaster Recovery. Задача лично Евгения — следить за тем, чтобы специалисты отдела выполняли свою работу еще лучше и эффективнее.

Xakep #197

Задачи на собеседованиях #197

Наши старые друзья из IT-компании CUSTIS, когда-то одними из первых разместившие задачи в нашей тогда еще новорожденной рубрике, решили вновь порадовать нас хорошей порцией квестов. Ну а DZ Systems прислали нам решения задач, выложенных на суд читателей в апрельском номере, и мы их тоже с удовольствием опубликуем.

Академия C++ #7. Обработка максимальных объемов данных за минимальное время

Чего только не услышишь от апологетов тех же Java или C# про разработку на C/C++! Якобы этот язык устарел и на нем никто не пишет. Вот только когда требуется создать no latency или low latency сервис или нужно сэкономить память и время выполнения узкого места обработки больших объемов данных, то тут же прибегают за помощью к «архаичным» разработчикам на C/C++. Просто потому, что эти ребята умеют вручную управлять памятью и прекрасно представляют, что за начинка у той или иной высокоуровневой операции. Сегодня наша задача — стать на шаг ближе к этим ребятам.

Страница 4 из 8В начало...23456 ...

«Хакер» в соцсетях

Telegram ВКонтакте Twitter Facebook
«ХАКЕР» ДОСТУПЕН ТОЛЬКО В ЭЛЕКТРОННОЙ ВЕРСИИ
Оформи подписку — получи:
  • доступ к платным материалам сайта
  • доступ ко всем номерам PDF
7190 р.
на год
720 р.
на месяц
90 р.
за 1 статью

Еженедельный дайджест

Статьи для подписчиков