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

Кодинг

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

Пишем свой 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.

iOS-разработка для начинающих: учимся создавать приложения для iOS с нуля

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

Xakep #212

Скрытый API: интерфейсы, которые Android прячет от разработчиков

В одной из своих предыдущих статей я уже писал о механизме под названием «уровень доступа» (protection level), который определяет, может ли твой код обращаться к тем или иным функциям ОС. Высокий уровень доступа получает только системный софт, поэтому для простых смертных он закрыт. Однако есть в Android и еще одна интересность, имя которой — скрытый API. И чтобы получить к нему доступ, не нужен root, не надо подписывать приложение ключом прошивки, достаточно лишь немного пораскинуть мозгами.

Xakep #211

Виртуальная реальность для программиста, часть 2: MS HoloLens

В прошлой статье я сделал общий обзор средств разработки для наиболее интересных устройств виртуальной реальности и дал торжественное обещание в следующем материале прицельно рассказать тебе про Microsoft HoloLens. Что ж, пора сдержать слово!

Xakep #211

VK.com — твой бесплатный бэкенд. Пишем свой клиент для стены группы vk.com

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

Xakep #211

Математика для программиста, часть 3. Создаем вероятностную структуру данных на Java

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

Xakep #211

Android Studio: 10 траблов начинающего разработчика и их решения

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

Xakep #211

Задачи на собеседованиях #211. Задачи от Postgres Professional и награждение победителей от «Лаборатории Касперского»

Postgres Professional — относительно небольшая компания, трудится в ней около пятидесяти человек. В ее основе — разработчики известной СУБД PostgreSQL (среди основателей — три ведущих разработчика и активных участника международного сообщества). В 2016 году компания выпустила собственную СУБД Postgres Pro, представляющую собой улучшенную версию PostgreSQL. Передаем им слово!

Xakep #211

Виноград безумия. Программируем без букв на Emojicode

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

Xakep #211

Как перестать кодить на Java и начать жить: сто* причин изучить Kotlin

Ребята из JetBrains сделали очень много крутых вещей, среди которых Kotlin — молодой, но очень перспективный язык программирования под JVM и Android. В этой статье я покажу, чем этот язык может заинтересовать Android-разработчика и заставить его навсегда позабыть про Java.

Xakep #210

Виртуальная реальность для программиста: обзор устройств и средств разработки

В середине девяностых казалось, что виртуальная реальность уже где-то рядом. Непонятно, на чем основывалось это ощущение, но факт остается фактом. И вот прошло двадцать с лишним лет: мы наконец стоим на пороге виртуального мира, подсматривая через щёлку в его прекрасное будущее. А кто делает будущее цифрового мира? Мы, программисты!

Xakep #210

Внимание, это розыгрыш! Пишем простой смарт-контракт

Писать умные контракты для Ethereum — не такая сложная задача, как может показаться. Чтобы рассказать тебе, как это делать, мы решили провести небольшой эксперимент. В этой статье описана разработка умного контракта, который разыгрывает трехмесячную подписку на «Хакер». Установив клиент и запустив контракт, ты сможешь принять участие!

Учиться, как гик! Можно ли научиться программированию и администрированию сетей в интернете?

Сегодня для получения хорошо оплачиваемой работы в ИТ требуется не просто иметь профильное образование, а постоянно повышать его уровень. Многие спорят о том, что правильнее: изучать программирование и администрирование сетей в институте, самостоятельно заниматься по книгам, накапливать портфолио за счет участия в мелких проектах, посещать мастер-классы разных гуру или остановиться на онлайновом формате занятий?

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

Какие браузерные расширения ты считаешь самыми полезными?

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

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

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

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

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

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