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

Кодинг

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

Для подписчиков

7 лучших ферм устройств для тестирования своих iOS- и Android-приложений

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

Xakep #220

Сенсорные датчики в Android: какие они бывают и как с ними работать

Современный смартфон уже сложно назвать просто компьютером, ведь он умеет гораздо больше своего стационарного предка: и температуру может измерить, и высоту над уровнем моря подсказать, и влажность воздуха определить, а если вдруг забудешь свою ориентацию в пространстве или силу тяжести потеряешь — все исправит. А помогают ему в этом, как ты уже, наверное, догадался, датчики aka сенсоры. Сегодня мы познакомимся с ними поближе, а заодно и проверим, действительно ли мы находимся на Земле. ;)

Xakep #218

HOW-TO: Четыре не самых известных редактора кода для разработчиков

Писать код можно и в обычном блокноте, но подсветка синтаксиса, автоматические отступы и автодополнение — это те вещи, ради которых стоит переходить на специализированный редактор. Об Atom и Sublime Text (не говоря про Vim и Emacs) ты, разумеется, знаешь, так что напомню о нескольких менее известных (и при этом бесплатных) редакторах.

Xakep #219

Центр интернета вещей: подключаем Arduino к Azure IoT Hub

В прошлом году компания Microsoft анонсировала облачный бэкенд для управления умными приборами и интегрированной электроникой. Azure IoT Hub позволяет с минимумом программирования настраивать взаимодействие между устройствами и встраивать его в свои проекты на основе Azure. Чтобы посмотреть, как это работает, мы разберем простую задачу — отправку в облако показаний датчика, подключенного к контроллеру Arduino.

Для подписчиков

Заработок на Android: продаем контент через In-app Billing API

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

Xakep #219

Dagger 2: оживляем старый Java-код для Android с помощью крутого фреймворка

Если тебе приходилось переписывать старый код только для того, чтобы он заработал в новом проекте, значит, ты кое-что упустил. Наш журнал спешит на помощь, срочно выкидывай «костыли» и «ржавые велосипеды» — с этого дня твоя жизнь круто поменяется. :)

На страже честных выборов. 9 способов побороть накрутки в онлайновых голосованиях

Создать опрос на сайте — задача пустяковая. А вот как уберечься от накрутки — уже совсем другая история. Кстати, даже если ты не интересуешься вопросами защиты онлайн-голосований, из этой статьи ты узнаешь, как тебя забанили на анонимном форуме и почему твой любимый порносайт продолжает учитывать твои вкусы несмотря на то, что ты используешь порнорежим браузера :)

Xakep #218

Как я ковырял чужой код. Что полезного можно найти внутри известных приложений для Android

Пока Евгений Зобнин учит тебя защищать свой код от чужих глаз и шаловливых ручонок, я решил занять позицию хитрого разработчика, который всегда рад, скажем так, «поучиться» кое-чему у создателей снискавших определенную популярность приложений ;). В этой статье я расскажу, как я анализировал код чужих программ и нашел одну интересную недокументированную функцию для работы с виджетами приложений.

На чем писать мобильные приложения: сравниваем Intel XDK, NativeScript и Xamarin

В предыдущей статье мы рассмотрели Silo-подход к разработке мобильных приложений, а также часть самых популярных black box средств разработки: среды Apache Cordova и Adobe Fuse. Сегодня мы продолжим изучать «черный ящик» и рассмотрим еще несколько популярных и известных средств разработки, а затем перейдем к заключительной теме — кросс-платформенному подходу.

Железный хакатон HARDATHON пройдет 21-23 апреля в Москве

21-23 апреля в Москве, в Сколковском институте науки и технологий (по адресу г. Москва, ул. Нобеля д.3) пройдет железный хакатон HARDATHON. За два дня участникам предлагается создать работающий прототип устройства, управляемого через Интернет. Тематика не ограничена, лишь бы оно управлялось по сети и делало что-то полезное (или бесполезное). Оборудование, детали и консультации предоставляются участникам бесплатно!

Xakep #218

Visual Studio Mobile Center: деплоим мобильный софт с помощью devops-конвейера Microsoft

В прошлой статье мы рассмотрели автоматизацию сборки Android- и iOS-приложений, подключили Xamarin Test Cloud, провели автоматическое UI-тестирование и внедрили HockeyApp для получения обратной связи. Сегодня мы продолжим погружение в мир инструментов Mobile DevOps, которые не просто ускоряют, но еще и заметно упрощают разработку мобильных приложений.

Xakep #218

Задачи на собеседованиях. Награждение победителей от Waves Platform

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

Пишем свой Dialer для Android и работаем со звонками на низком уровне

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

Xakep #218

Строим мобильное приложение на Firebase — бесплатном и мощном бэкэнде Google

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

Xakep #218

Мобильная разработка: выбираем инструментарий. Silo, black box или cross-platform?

Первый iPhone был представлен десять лет назад, в 2007-м. Через год появился магазин приложений от Apple. Тогда же на сцену вышел Android, а вместе с ним магазин приложений Google Play. Хотя сама идея продавать ПО для мобильных телефонов не была новой, именно появление iPhone, Android и Windows Phone ознаменовало образование современного рынка мобильного ПО, каким мы его знаем сейчас.

Xakep #217

Секретный код. Прячем конфиденциальную информацию внутри своих приложений для Android

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

Xakep #217

Сам себе DBаггер. Пишем свой MySQL proxy-сервер на языке Go и подсматриваем запросы

Нередко в приложении со сложной бизнес-логикой требуется найти баг, который корнями уходит куда-то глубоко в DB-слой. В такой ситуации на помощь может прийти proxy-сервер, который перехватит все запросы из приложения в БД и отобразит их в удобочитаемом виде. В этой статье мы рассмотрим те особенности протокола MySQL, которые помогут нам написать такой сервер.

Xakep #216

Кодинг под Windows 10 Mobile: узнаем содержимое каталогов, отправляем СМС, работаем с адресбуком и сканируем Wi-Fi

На какой бы аппаратной платформе ни выполнялась Windows 10, везде для построения приложений используется подсистема UWP. В прошлой статье мы начали изучать мобильную «десятку», обсудив ряд важных вопросов. Cегодня я предлагаю несколько рецептов для более глубокого погружения в программирование мобильной винды.

Xakep #216

Кодинг для Chromecast. Транслируем видео на телевизор из своего приложения для Android

Китайские интернет-магазины предлагают медиаплееры на любой вкус, цвет и конфигурацию за небольшие деньги. Омрачает всеобщую радость лишь то, что Android на экране телевизора смотрится отлично, а вот управлять им совершенно неудобно. Одна небезызвестная корпорация добра выпустила Chromecast — гаджет, более дружелюбный для пользователя. Сегодня мы рассмотрим это устройство и даже напишем код под него.

Xakep #216

Извращения с импортозамещением. Работаем с алгоритмом блочного шифрования «Кузнечик» из ГОСТ 34.12—2015

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

Машинное обучение. Разработка на R: тонкости при использовании циклов

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

Xakep #215

Хардварный бейджик ZeroNights 2016. Как мы делали знаменитую матрешку

В этой статье я расскажу всего об одном, но зато интересном аспекте нашей подготовки к ZeroNights 2016, на которой ты наверняка присутствовал в ноябре прошлого года. Одной из фишек этой конференции был наш прикольный техногенный бейджик-матрешка. И сделан он был не из бархатной бумаги и даже не из листового палладия, а из... впрочем, об этом — ниже.

Xakep #215

Превращаем SoundCloud в мобильное приложение с помощью крутейшего JS-фреймворка Electron

Фреймворк Electron разработан в GitHub и носил раньше название «Atom shell». Пожалуй, самое известное приложение, написанное с его помощью, — текстовый редактор Atom. А еще — клиент Slack для настольных компьютеров, клиент мгновенных сообщений Franz, Git-клиент GitKraken, GUI-клиент к утилите Yeoman и даже Microsoft Visual Studio Code. Давай и мы с тобой попробуем написать на нем что-нибудь крутое!

Xakep #215

Async/await: асинхронные возможности в Python 3+

16 марта 2014 года произошло событие, которое привело к довольно бодрым холиварам, — вышел Python 3.4, а вместе с ним и своя внутренняя реализация event loop’а, которую окрестили asyncio. Идея была такая: чтобы не зависеть от внешних реализаций отлова неблокирующих событий на сокетах, надо встроить ее в сам язык! Давай посмотрим, что в итоге получилось.

Xakep #215

Задачи на собеседованиях. Задачи от Waves Platform

Когда в описании компании присутствуют такие теплые слова, как «блокчейн», «эмиссия», «токены» и «криптоплатформа», а в качестве подарков победителям задач они предлагают криптовалюту, у нас не остается никаких сомнений. Такие задачи надо публиковать!

Xakep #215

Как защитить свое приложение для Android от реверса и дебага

Уровень пиратства в экосистеме Android таков, что говорить об этом нет никакого смысла. Приложение не только легко украсть — его легко взломать, отвязать от сервисов проверки, отключить рекламу или даже внедрить в него бэкдор. Выкладывая свое творение в Play Store, ты в результате даришь любителям вареза еще один хороший продукт. К счастью, с этим вполне можно бороться.

Xakep #215

Красота из фрагментов. Как улучшить UI в Android c помощью класса Fragment

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

Xakep #215

Куда уходит память. Разбираемся с memory leaks в Java на примере Spring и Log4j

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

Xakep #214

Разбираемся с фреймворком ReactiveX и пишем в реактивном стиле для Android

Мир ООП-разработки вообще и язык Java в частности живут очень активной жизнью. Тут есть свои модные тенденции, и сегодня разберем один из главных трендов сезона — фреймворк ReactiveX. Если ты еще в стороне от этой волны — обещаю, она тебе понравится! Это точно лучше, чем джинсы с завышенной талией :)

Xakep #214

Задачи на собеседованиях #214. Задачи от Stack Group и решение задач от Virtuozzo

Как насчет свежей порции облачных ноябрьских задачек? А вот и нет! Задачки-то обычные, приземленные. «Облачная» — это компания, нам с тобой эти задачи задает. Встречай — Stack Group, которая предоставляет весь спектр соответствующих услуг: IaaS, storage, VDI / VDI GRID, DRaaS и другие. Как видишь, работодатель большой и завидный :)

Xakep #214

Что интересного произошло с нашими программерами за месяц. Колонка авторов

Каждый месяц со страниц рубрики «Кодинг» на тебя смотрят самые обычные (просто очень крутые) программисты. А в свободное от написания статей время они живут обычной кодерской жизнью. В этом месяце мы решили сделать экспериментальную колонку, в которой не один колумнист, а сразу несколько авторов расскажут о том, что им показалось интересным в этом месяце.

Xakep #214

Программируем на языке R: как правильно писать циклы для обработки больших объемов данных

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

Xakep #214

VK.com как бэкенд: подводные камни. Решаем проблемы по заявкам читателей

В прошлых статьях была описана разработка мобильного приложения со всеми любимым VK в роли бесплатного и услужливого сервера. Как это часто случается со всякими хитровыкрученными системами, рано или поздно они обрастают мелкими, но досадными проблемами, затрудняющими их использование. И как только это случается, журнал «Хакер» снова приходит на помощь!

Xakep #213

Material Design за 15 минут: проверяем, на что способен ConstraintLayout

Этим летом компания Google анонсировала появление нового способа верстки пользовательских интерфейсов. Нововведения содержатся в классе ConstraintLayout: предполагается, что он не только упростит передачу мыслей дизайнеров разработчикам, но и повысит скорость работы приложения. Давай разберемся, как много в этих словах правды и где ждать подвохов.

Xakep #213

Погружаемся в Windows 10 Mobile. Как писать и отлаживать программы для новой ОС

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

Xakep #213

][-обзор: сравниваем топ-6 лучших игровых движков для программиста

Со времени предыдущего обзора ситуация на игровом рынке довольно ощутимо изменилась. Геймеры постоянно хотят чего-нибудь новенького, а инди-нишу (которая два-три года назад была настоящим трендом) активно поддавливают слоны вроде Electronic Arts, Ubisoft и Microsoft. И все-таки на этом поприще все еще можно заработать!

Xakep #213

Задачи на собеседованиях #213. Задачи от Virtuozzo и награждение победителей от Postgres Professional

Мы особенно любим задачи от международных компаний. И это не только потому, что офис Virtuozzo расположен в Сиэтле: международная компания — это еще и новые связи, совсем другой уровень перспектив и возможностей. А поскольку Virtuozzo не так давно отделилась от другой крупной компании — еще и новые интересные проекты!

Xakep #212

Изучаем Gradle: что умеет система сборки приложений Android Studio

Большинство программистов, разрабатывающих для Android, хотя бы слышали о системе автоматической сборки Gradle. При этом лишь немногие из использующих эту систему кодеров уделяют достаточно времени, чтобы как следует изучить ее возможности. А ведь Gradle очень полезен не только для простой настройки сборки, но и для решения весьма нестандартных задач!

Xakep #212

data.table: выжимаем максимум скорости при работе с данными в языке R

К чему лишние слова? Ты же читаешь статью про скорость, поэтому давай сразу к сути. Статья будет интересна тем, кто уже немного знаком с языком R, а также разработчикам, которые его активно используют, но еще не открыли для себя пакет data.table.

Страница 2 из 712345 ...

«ХАКЕР» в соцсетях и фидах

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

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

Реклама на «Хакере»

Корпоративная подписка

Для подписчиков