Search
Write a publication
Pull to refresh
0
0
Send message

DroidScript – простой и функциональный инструмент для разработки мобильных приложений под Android

Reading time3 min
Views25K

Некоторое время назад мне была поставлена следующая задача: разработать прототип приложения под Android для беспроводной связи с Arduino в реальном времени. Погружаться ради этого с головой в Java, Qt или C# было непрактично, поэтому решил искать готовое решение на скриптовом движке. PhoneGap? Интересно, но не для работы с Bluetooth. Что-то из мобильных сред разработки? Возможно, но хотелось работать в привычной десктопной среде, а не на планшете с небольшим экраном. Вскоре желаемое нашлось – мобильная среда разработки DroidScript с возможностью подключения к ней из браузерной WiFi IDE, которую можно установить на Windows, Mac и Linux.
Читать дальше →

Работа из дома — один из главных бонусов, который требуют программисты

Reading time3 min
Views41K


Работа из дома несколько дней в неделю — давняя привилегия избранных программистов. Но если 20 лет назад такая опция была скорее исключением из правил, то сейчас разработчики требуют её от работодателя. Её ценят настолько же высоко, как наличие отпусков и отгулов, расширенной медицинской страховки и соблюдения нормального рабочего графика без овертаймов. На это указывают результаты многочисленных исследований, в том числе результаты опроса разработчиков на Stack Overflow Developer Survey Results 2017.

В конце концов, сейчас так много инструментов для организации удалённой работы: Slack, Skype, Google Hangouts, Basecamp, BlueJeans. Групповые часты, видеоконференции, совместная работа и управление проектами. Зачем вообще программисту ходить в офис каждый день?
Читать дальше →

Яндекс глазами стажера

Reading time6 min
Views69K

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



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


Как это начиналось


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


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

Хабраиндекс для статей по программированию под Android

Reading time2 min
Views95K
Читать дальше →

Простой клиент-сервер на Android (интернет-мессенджер)

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

Поехали. Многие мобильные приложения (и не только) используют архитектуру клиент-сервер. Общая схема, думаю, понятна.



Уделим внимание каждому элементу и отметим:

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

Неважно, как реализован любой из этих элементов, все они в любом случае присутствуют. Давайте реализуем примитивный сервер и Android клиент, работающий с ним. Как пример, будем использовать любой популярный мобильный интернет-мессенджер (Viber, ICQ), а приложение условно назовем «интернет-чат».
Читать дальше →

Тайны кнопок в Android. Часть 1: Основы верстки

Reading time18 min
Views239K
Приветствую, уважаемое сообщество.

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

Первая часть предназначена для начинающих разработчиков. Я покажу, как сделать достаточно сложную кнопку исключительно версткой, не применяя Java-кода, ни тем более собственных компонентов. Знание этих приемов верстки пригодится и при работе с другими компонентами Android. По ходу статьи я буду подробно пояснять, что означают те или иные константы, атрибуты, команды и тому подобное. Но я также буду давать ссылки на официальную документацию Google, где вы можете подробно изучить каждую тему. Данная статья обзорная, я не ставлю цели привести здесь всю документацию, переведенную на русский язык. Поэтому я рекомендую изучать официальные источники, в частности те статьи, ссылки на которые я привожу здесь.

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

Об опасностях беспроводных клавиатур и мышей

Reading time4 min
Views93K


Изображение: home thods, Flickr

Компьютерные мыши и клавиатуры с радиоинтерфейсом и USB-трансивером стоят немногим дороже обычных проводных моделей и пользуются популярностью. Но такие устройства не защищены от взлома: собрать набор для проведения атаки можно всего за 300 рублей, а вестись она может с расстояния до 1 км.

Мы протестировали безопасность устройств Logitech, A4Tech и Microsoft. В ходе тестов нам удалось перехватить данные, передаваемые клавиатурами и мышами, дешифровать трафик и осуществить ряд других атак. Обнаруженные уязвимости могут привести к утечке паролей, платежных реквизитов, персональных данных и другой важной информации.
Читать дальше →

Как я создаю базу данных для своих приложений

Reading time7 min
Views129K
Всем привет! Меня зовут Олег и я программист-любитель под Android. Любитель потому что в данный момент я зарабатываю деньги программированием в совсем другом направлении. А это хобби, которому я посвящаю свое свободное время. К сожалению у меня нет знакомых программистов под Android и все свои базовые знания я черпаю либо из книг, либо из интернета. Во всех тех книжках и статьях в интернете, которые я читал, созданию базы данных для приложения отводится крайне мало места и по сути все описание сводится к созданию класса являющегося наследником SQLiteOpenHelper и последующему внедрению SQL кода в Java код. Если не считать, что мы получаем плохо читаемый код (а если в нашем приложении появляется больше 10 таблиц, то вспоминать все эти взаимосвязи между таблицами тот еще ад), то в принципе жить можно конечно, но как-то совершенно не хочется.
Забыл сказать самое главное, можно сказать что это моя проба пера тут. И так поехали.
Читать дальше →

7 методик оптимизации рабочего процесса, о которых вы, возможно, не слышали

Reading time5 min
Views45K
Времени всегда в обрез, а дел всегда невпроворот – это аксиома двадцать первого века. Неудивительно, что человечество находится в непрерывном поиске магического ритуала (или же методики организации рабочего процесса, как их принято называть), который спасет нас всех от цейтнота, дедлайнов, прокрастинации и прочих темпоральных ловушек. Самые действенные из них вам, безусловно, уже известны, однако мы, усилиями своей команды, составили небольшой хит-парад чуть менее распространенных техник, которые нам доводилось успешно применять в работе.


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

Дайджест интересных материалов для мобильного разработчика #195 (13-19 марта)

Reading time3 min
Views12K
С помощью этого дайджеста вы сможете узнать как аутентифировать пользователей по голосу, как собирать кубик Рубика с помощью приложения, как переводить приложение с помощью Google Sheets, какие технологии ищут работодатели на Stack Overflow и много других интересных вещей!

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

Через MVP к VIPER. Часть первая: MVP

Reading time3 min
Views15K

Не так давно я публиковал перевод Почему VIPER это плохой выбор для вашего следующего приложения. И, как это часто бывает, мнение переводчика не совпало с мнением автора оригинальной статьи. Поэтому в этом посте я коротко расскажу как я пытаюсь (пока еще пытаюсь) внедрить VIPER в свои проекты.


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


Естественно, iOS версия создавалась на классическом, рекомендуемом самим Apple, паттерне MVC.


У меня была View: "любимый" сториборд, в котором было over9000 довольно много экранов, и который был похож на это:

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

Вносите изменения в код понемногу

Reading time4 min
Views26K


Всегда было любопытно узнать, что и как думают кодеры за океаном? Логично предположить, что техническое мышление и основные процессы должны быть схожими с российскими разработчиками. Под катом возможность сравнить наши походы с «тамошними». Если у вас все хорошо с английским, оригинал публикации и самого автора можно найти по ссылке
Читать дальше →

Архитектура Android-приложений. Часть I — истоки

Reading time8 min
Views110K
В этой статье мы рассмотрим архитектуру Android-приложений.

Откровенно говоря, официальную статью Google по этой теме я считаю не очень полезной. Детально отвечая на вопрос «как», она совсем не объясняет «что» и «почему». Итак, вот моя версия, и, я надеюсь, она внесёт некоторую ясность. Да, кстати, я полностью одобряю чтение статей Google, поскольку они содержат полезную информацию, повторять которую я не собираюсь.
Читать дальше →

Некоторые “подводные камни” разработки под Android

Reading time9 min
Views69K
Недавно наша команда завершила разработку приложения под Android. В процессе разработки и затем поддержки мы столкнулись с некоторыми проблемами технического характера. Часть из них — это наши баги, которых мы могли бы избежать, другая часть — это совсем неочевидные особенности Android, которые либо плохо описаны в документации, либо не описаны вообще.

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

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

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

Настоящая проблема Android

Reading time9 min
Views14K
… не пиратство. Даже близко не пиратство.

Мне сложно рассуждать, используя неточные термины, такие как «большая», «сильная» или как в данном случае: «невероятно высокая». Если вы утверждаете, что проблема Android — это большая доля пиратства на основе субъективного высказывания одного разработчика или на основе общего мнения, то это не аргумент.
Читать дальше →

Почему Kotlin отстой

Reading time12 min
Views76K

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

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

Как «пробить» человека в Интернет: используем операторы Google и логику

Reading time9 min
Views961K

В очередной статье нашего цикла публикаций, посвященного интернет-разведке, рассмотрим, как операторы продвинутого поиска Google (advanced search operators) позволяют быстро находить необходимую информацию о конкретном человеке.


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


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

Создаём развивающее приложение при помощи Android Studio

Reading time15 min
Views25K

Введение


Добрый день, господа! Я ученик 11 класса и разработкой занимаюсь только от того, что не хочу готовиться к ЕГЭ. Идею приложения можно описать тремя словами — увидел, запомнил, повторил. Перед игроком появляется квадратное поле с определённым число закрашенных элементов. Через некоторое время поле очищается. Надо выбрать какие элементы были закрашены. По мере прохождения уровней игры поле становится всё больше и запоминать приходится больше.
Читать дальше →

Как написать свою клавиатуру для Android

Reading time5 min
Views47K
Здравствуйте. В данной статье я постараюсь рассказать и показать основные моменты написания собственной клавиатуры для Android'а. Статья предназначена для разработчиков, которые с этим не сталкивались, но имеют опыт знакомства с Android'ом.
Клавиатура для самых маленьких

Какая ОС могла бы стать заменой Windows — мнения экспертов

Reading time8 min
Views77K

В августе операционная система Windows 10 заняла почти четверть мирового рынка ОС для настольных компьютеров. Об этом свидетельствуют данные сервиса NetMarketShare аналитической компании Net Application. Аналитики отслеживают активность более 160 миллионов уникальных пользователей, просматривающих свыше 40 тысяч веб-сайтов.

Согласно статистике NetMarketShare, в последнем месяце лета 2016 года Windows 10 была установлена на 23% ПК в мире против соответственно 21,13% и 19,14% в июле и июне. Windows 10 продолжает укреплять позиции, несмотря на произошедшее 29 июля 2016 года прекращение бесплатной установки этой платформы для владельцев компьютеров на базе Windows 7 и 8.1. Стоимость Windows 10 теперь составляет $119 за версию Home Edition и $200 за Pro-модификацию.

Кроме сторонников, у Windows есть ярые противники. Они принципиально не пользуются этой операционной системой. Существенная их часть перешла и продолжает переходить на Mac OS. Вчера, 20 сентября, Apple как раз выпустила новую версию своей ОС – Mac OS Sierra.

Что может вновь объединить всех этих людей? Новая операционная система, которая сочетает в себе лучшие качества Windows, Mac OS и многих других операционных систем.
Возможно ли разработать такую ОС? Какими особенностями она должна обладать?

Мы решили пообщаться с экспертами на эту тему.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity