Search
Write a publication
Pull to refresh
0
0
Send message

Как это собрать приложение на android за 15 минут

Reading time13 min
Views20K


Для многих создание приложение — это что-то сверх силы. Но это приложение можно написать и за пару минут. Давно уже известно про написание приложений на HTML5. Последний раз, когда делал подобное, производилось множество манипуляций подключения различных библиотек и сборки на Eclipse. Сейчас приложение можно собрать из консоли одной командой cordova build.

Наша задача


За пару минут до прихода любимой сделать ей приятный сюрприз. Хорошо, когда ваши фото лежат с подписями к датам и тегами, описавшими дату. Подбираем нужные фото и начинаем делать приложение… но времени у нас мало и опыта в мобильной разработки нет, поэтому сделаем на html5 и упакуем cordova.

Для удобства у нас есть IDEA, которая нам поможет скомпилировать и сверстать приложение. Именно сверстать, потому что это единственная работа, которую предстоит сделать.
Читать дальше →

Ошибка в формуле проверки условия Делоне

Reading time3 min
Views24K

Введение


Ранним воскресным утром я уже третий день сидел за отладкой программы для триангуляции результата лазерного сканирования. Лазерный скан представляет из себя набор трехмерных точек. В результате работы программы нужно объединить точки в непересекающиеся полигоны, таким образом создав модель поверхности. Функцию за функцией я пересчитывал на листочке и, наконец, добрался до функции проверки выполнения условия Делоне. По всей видимости, ошибка затаилась где-то в ней. При детальном разборе оказалось, что формула, указанная в огромном количестве книг про триангуляцию Делоне, не всегда дает верный результат. Подробности под катом.


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

Вышел Open-source мессенджер для детей-аутистов

Reading time2 min
Views32K
скриншот диалога
Сразу исходники на GitHub.

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

Браузеры от российских ИТ-компаний: попытка непредвзятого обзора

Reading time10 min
Views153K
Как заставить человека использовать именно свои сервисы: поиск, карты, почту?.. Все мы знаем, большинство людей никогда не меняют настройки программ по умолчанию — не могут или не хотят заморачиваться и браузер не исключение, поэтому установить свой поиск приоритетным (с ведома пользователя или без него) зачастую означает получить в свои дьявольские сети еще одну ничего не подозревающую душу. А если установить пользователю браузер, который уже правильно сконфигурирован, то… мечта прямо! С появлением открытого проекта Chromium мечты многих поставщиков веб-сервисов стали реальностью, и его сборки стали появляться, как грибы после дождя.

Я никогда не использовал ни одну сборку Хромиум кроме собственно Хрома и новой Оперы, но недавно разобрало любопытство: а что же там можно наделать и стоит ли обращать на это внимание или это просто продолжение славного дела Дениса Попова? Сказано-сделано, я порылся в Сети и выбрал участников для обзора. Рассматривал я только российские сборки и только от крупных поставщиков веб-сервисов, потому что в противном случае, мне не хватило бы на мой обзор и жизни.

Интересно? Тогда начнем.

Под катом много скриншотов, общий объем ~3 мб.
Читать дальше →

Material Design: на Луну и обратно

Reading time11 min
Views391K
“Это унылое диалоговое окно действительно нужно?”



В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

Все стало меняться в 2011 году, когда в Google начали усиленно работать над унификацией визуальной части экосистемы своих продуктов и назвали все это Project Kennedy.

При чем тут Кеннеди?
Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% — они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.

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

Разработка javascript приложений на базе Rx.js и React.js (RxReact)

Reading time10 min
Views40K
rxreactlogo

React.js позволяет очень эффективно и быстро работать с DOM-ом, активно развивается и с каждым днем набирает все больше популярности. Недавно открыл для себя концепцию реактивного программирования, в частности, не менее популярную библиотеку Rx.js. Данная библиотека выводит на новый уровень работу с событиями и асинхронным кодом, которого в UI логике javascript приложений предостаточно. Пришла идея объединить мощь данных библиотек в одно целое и посмотреть что из этого выйдет. В этой статье вы узнаете о том как удалось подружить Rx.js и React.js.
Читать дальше →

Angular 2: Построенный на TypeScript

Reading time2 min
Views51K
Мы рады представить результат долгомесячного партнерства с командой Angular.

Это партнерство было очень продуктивным и одарило нас полезным опытом, а так же в рамках этого сотрудничества, мы рады объявить что Angular 2 с сего момента будет построен на TypeScript. Мы с нетерпением ожидаем того что-бы увидеть, что будут способны делать люди с этими новыми инструментами и продолжать работу с командой Angular для того что бы улучшить аспекты использования продукта, разработчиками Angular.
Подробности

Визуализируй это

Reading time10 min
Views83K
Несколько лет назад я делал сайт о рыбалке и публиковал на нём карту окресностей города, отмечая интересные места. Я так увлёкся картами, что и сегодня занимаюсь дизайном геосервисов, а на досуге экспериментирую с картографическими визуализациями. Недавно я визуализировал статистику работы московского велопроката, а ранее опубликовал высотную модель города в виде разноцветной сетки улиц.

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


Дома в центре Москвы разного цвета в зависимости от площади здания.
Данные: © Участники OpenStreetMap


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

Я задумал собрать что знаю про картографические визуализации и рассказать об этом. В итоге, у меня получился онлайн-курс «Визуализация геоданных»  —  серия мини-лекций об общих принципах и инструментах для работы с геоданными. К каждой части я собрал ссылки на дополнительные материалы и примеры рабочих файлов, чтобы можно было погрузиться в детали и попробовать что-то сделать самостоятельно. Этот пост собран из материалов курса.
Читать дальше →

Очередной способ организации ООП в JS

Reading time5 min
Views5K

Введение


Как недавно было сказано в публикации в «Честные приватные свойства в прототипе», существует два лагеря JavaScript-разработчиков:
  • те, что готовы терпеть префиксы, как обозначение сокрытия свойств\методов;
  • те, что не готовы терпеть псевдо-инкапсуляцию.


Я отношу себя ко второму лагерю и решаю проблему объявлением всего класса в его конструкторе, что позволяет использовать private/public в любой комбинации с static.
Читать дальше →

Программа курса и материалы по Scala

Reading time14 min
Views49K
Добрый день.

Меня зовут Головач Иван, я практикующий Java Tech Lead с опытом в программировании 10+ лет (Java EE, J2ME, C, C++, M-language, Delphi), который перешел на Scala.

Я подготовил и прочитал как обычные курсы по программированию (Java Core + Junior Java Developer), так и спецкурсы (Multicore Programming for JVM (раз и два)).

В данный момент я стартую спецкурс по Scala и в этом топике хочу поделиться материалами, которые я нашел наиболее интересными/информативными (курс готовился более года).
Читать дальше →

Сжатие изображений без потерь

Reading time7 min
Views38K
Как я уже обещал постом ранее, представляю вашему вниманию вторую часть большого рассказа о сжатии изображений. На этот раз речь пойдёт о методах сжатия изображений без потерь.
Читать дальше →

Реализация универсального аквариумного контроллера

Reading time9 min
Views97K
image

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

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 1. теоретическая)

Reading time5 min
Views327K


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

image
Как все начиналось

16 месяцев функционального программирования

Reading time16 min
Views67K
Предлагаю читателям «Хабрахабра» перевод статьи «16 Months of Functional Programming». Все мои замечания будут выделены курсивом.

В этой статье я хочу поделиться с вами моим опытом в функциональном программировании. Я чувствую, что в целом за прошедшие 16 месяцев стал лучше разбираться в информатике и компьютерах, чем за предыдущие 10 лет и всё это благодаря моему погружению в Scala и мир функционального программирования. Причина по которой функциональное программирование побуждает вас к постоянному развитию заключается в том, что каждую задачу необходимо переосмысливать заново. Порой невозможно поверить в то, что большинство стандартных задач могут быть решены иным путём и — бум! — функциональный подход предлагает лучшее решение и это шокирует.
Читать дальше →

Самые нужные плагины для Grunt

Reading time6 min
Views49K


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

У веб-разработчиков есть прекрасный инструмент для автоматизации массы задач, который называется Grunt. И моя страсть к таксономии заставила себя собрать огромную коллекцию почти из 100 ценных плагинов для этого сборщика. Думаю многие кто уже использует Grunt найдут для себя что-то нужное, а кто нет, глядя на возможности, получит хорошую мотивацию установить его и понять как эта штука работает.

А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.

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

JBrainfuck — Пишем компилятор Brainfuck под Java VM

Reading time13 min
Views22K
Меня давно интересовал вопрос написания своего компилятора под Java VM, но было недостаточно опыта, дабы сделать это. Да и как-то руки не доходили, а недавно все же решил разобраться в этой теме и заодно рассказать о своем опыте создания компилятора под эту VM.

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

JBrainfuck — оптимизирующий интерпретатор и компилятор Brainfuck под Java VM. Благодаря JIT обладает высокой производительностью.


Ну что, приступим?

Эмуляция банковской карты на телефоне

Reading time10 min
Views100K


HCE (Host-based Card Emulation) – это технология, которая дает возможность писать софт, не требующий для исполнения выделенного криптопроцессора, чтобы обеспечить сеанс связи с платежным терминалом. Приложение исполняется на основном процессоре мобильного устройства, в окружении операционной системы телефона.

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

Мы сделали такой HC-эмулятор в своём приложении. До появления технологии HCE информацию для осуществления NFC-транзакций в мобильных устройствах можно было хранить тремя способами: либо на SIM-карте (принцип SIM centric NFC), либо в специальном элементе на телефоне (Embeded Secure Elements, eSE), либо на специальной MicroSD.
Читать дальше →

Немного о каррировании в Haskell

Reading time2 min
Views16K
Читая М. Липовача «Изучай Haskell во имя добра!», я поначалу не понимал, чем частичное применение отличается от каррирования. Потратил некоторое время на разбор данного вопроса и набросал себе «шпаргалку» по обозначенной теме.
Читать дальше →

От React до Riot 2.0

Reading time3 min
Views21K


Эта популярная запись в блоге была отправной точкой в наших исследованиях минимализма. Мы начали с того, что Muut не должен использовать популярные фреймворки: Backbone, Angular или Ember.

Наша мотивация:

1) малый размер клиентского приложения. Неприемлемо, когда фреймворк гораздо больше самого приложения;
2) небольшой фреймворк, работа которого полностью понятна и прозрачна. Все популярные фреймворки поставляются со очень большим количеством методов API, свойств и других плюшек. Полное понимание было особенно важно, так как у нас было встраиваемое на сторонние сайты приложение.

Мы задались вопросом, а нужен ли фреймворк вообще? Пока API отделен от UI, проблем нет никаких. С помощью системы событий можно построить автономные компоненты, а «нативный» pushState позволяет подружить приложение с кнопкой «Back» браузера.

С этимы мыслями мы начали работу над Riot 1.0.
Читать дальше →

Чисто-функциональный REST API на Finagle/Finch

Reading time6 min
Views11K
Finch


История библиотеки Finch началась около года назад «в подвалах» Конфеттина, где мы пытались сделать REST API на Finagle. Не смотря на то, что finagle-http сам по себе очень хороший инструмент, мы стали ощущать острую нехватку более богатых абстракциий. Кроме того, у нас были особые требования к этим самым абстракциям. Они должны были быть неизменяемыми (immutable), легко композируемыми (composable) и в тоже время очень простыми. Простыми как функции. Так появилась библиотека Finch, которая представляет собой очень тонкий слой функций и типов поверх finagle-http, который делает разработку HTTP (micro|nano)-сервисов на finagle-http более приятной и простой.

Шесть месяцев назад вышла первая стабильная версия библиотеки, а буквально на днях вышла версия 0.5.0, которую я лично считаю pre-alpha 1.0.0. За это время 6 компаний (три из них еще не в официальном списке: Mesosphere, Shponic и Globo.com) начали использовать Finch в production, а некоторые из них даже стали активными контрибьюторами.

Этот пост рассказывает о трех китах на которых построен Finch: Router, RequestReader и ResponseBuilder.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity