[Перевод] Уроки, извлечённые из трёх миллионов загрузок на AppStore

В январе 2011 года у меня были летние каникулы [разработчик из южного полушария, а именно из Новой Зеландии — прим.пер.], но вместо поиска работы на день или общения с людьми я много времени скрывался от всех в своей комнате, где писал первую версию iOS приложения под названием Class Timetable. Годом ранее я искал простое, лёгкое в использовании приложение для учебных расписаний, и ничего в AppStore не подходило под мои нужды — всё было сложно и трудно использовать. Идея состояла в том, чтобы создать простое, без суматохи, прямолинейное решение, нечто более простое и более убедительное, чем бумажное расписание. За несколько месяцев я потратил около 500 часов, проектируя и кодируя его. На сегодня у программы более трёх миллионов загрузок, много положительных отзывов, а временами оно было моим основным источником дохода. Не слышали о приложении? Да, оно ещё не взлетело в США, но довольно популярно в Австралии/Новой Зеландии/Великобритании, по крайней мере, среди студентов колледжей и школьников.


06/23/2017 07:47:36
0

Это вопрос должен решать архитектор. Или нет?

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

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

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

image
06/22/2017 18:21:56
0

Использование музыки вместо лингафонного курса при изучении иностранного языка

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

Далее, для конкретности, везде будет предполагаться изучение английского, однако все это применимо и для любого другого языка.

Целью данного материала  является замена лингафонных курсов на некий более интересный и легкоусваиваемый контент, который бы обеспечивал проработку (разбирание, понимание, проговаривание) примерно такого же объема англоязычного контента (тексты и аудиозаписи), как и лингафонный курс.

Основным требованием к такому контенту является его доступность одновременно в трех вариантах: английская аудиозапись, соответствующий английский текст, соответствующий русский текст (перевод), а также готовность прослушивать его многократно (хотя бы 20-30 раз) и суммарная продолжительность, соответствующая среднему лингафонному курсу (2-3 часа аудио).
06/22/2017 17:13:30
0

«Я не могу просто ходить с флагом «Postgres – наше всё». Нужно руками доказывать, что это работает» – Алексей Лустин

Наш сегодняшний собеседник – Алексей Лустин, IT-евангелист в мире 1С, инженер по инфраструктуре в концепциях DevOps и NoOps для 1С.

Алексей и его коллеги занимаются профессиональным обслуживанием бизнесов, работающих с платформой 1С. Они обучают клиентов, как эффективно использовать 1C на связке PostgreSQL + Linux. Оказывается, что очень часто проблема заключается не в самой платформе, а в неумелой эксплуатации. На PG Day'17 Russia Алексей проведет мастер-класс по переходу на PostgreSQL для 1С под кодовым названием Борьба со страхами.

В рамках сегодняшней публикации, Алексей наглядно покажет, почему методология, которую они предлагают, является успешной. И не менее подробно объяснит, какие именно практические навыки вы приобретете на мастер-классе.


image altPG Day: Алексей, расскажите о себе. Кто вы, чем занимаетесь, как пришли к своей специализации?

Алексей: Я называю себя евангелистом Automation Driven Development. Это такая концепция “от автоматизации деятельности айтишников”, чтобы разработчики и инфраструктурщики избавлялись от рутины и освобождали время для интересной работы. Последние четыре года стараюсь подружить два мира с помощью концепции CICD (Continuous Integration и Continuous Delivery): разработчиков и инфраструктурщиков. Ради этого и была организована наша команда. Причем основной приоритет именно на “мир 1С”, как наименее автоматизированный с точки зрения процесса.
06/22/2017 16:48:58
0

Ставим Selenium Grid на колеса Apache Mesos

Привет, Хабр! Меня зовут Настя, и я не люблю очереди. Поэтому я расскажу вам, на примере Альфа-Лаборатории и наших исследований, каким образом можно организовать инфраструктуру и архитектуру для прогона тестов, чтобы получать результат в разы быстрее. Например, нам удалось добиться такой цифры, как 5 минут суммарного времени прохождения тестов на приложение. Для этого нам пришлось поменять подход к запуску Selenium Grid.



Прежде чем начну рассказывать про сам selenium grid и все, что связано с ним, я хочу пояснить суть проблемы, которую мы пытались решить.

В прошлом году мы внедряли DevOps как процесс. И в один момент, автоматизируя все и вся, мы поняли, что time to market для каждого артефакта на этапе тестирования не должен превышать 30 минут. Концептуально мы хотели, чтобы некоторые релизы проходили автоверификацию, если приемочное тестирование им не нужно. Для тех артефактов, которые нужно проверять руками, 30 минут — это время, за которое тестировщик получает результаты прогона автотестов, анализирует их, а также делает приемочное тестирование. При этом автотесты должны автоматически запускаться в рамках нашего pipeline.
06/22/2017 16:44:34
0

Как написать максимально хреновый бэкенд для мобильного приложения


Известно, что практически ни одно мобильное приложение не обходится без бэкенда.


Если вы мобильный разработчик, то наверняка сталкивались с такими бородатыми дядями, которые меланхолично тянут логику на перле и вечно что-то пишут в консоли. Или может это был сутулый анимешник с длинными волосами, всосавший php с молоком матери.
Так или иначе, большинство из них ни разу не сталкивалось с мобильной разработкой, а кое-кто считает себя при этом гуру.


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


Приятного чтения.

06/22/2017 16:19:40
0

[Из песочницы] Ненормальный GraphQL в Electron или как я писал десктопный клиент для Tinder

Предыстория


фрустрация и решение


Привет, Хабр. В начале зимы 2016 года я снова стал одинок. Спустя какое-то время я решил завести себе профиль в Tinder. Всё бы ничего, но постепенно стала накапливаться усталость из-за невозможности нормально печатать на физической клавиатуре. Мне виделось несколько решений этой проблемы:


  • Смириться и продолжать использовать официальное приложение для смартфона
  • Использовать BlueStacks с официальным приложением на Android
  • Использовать существующие клиенты для десктопа (Tinder++)
  • Написать свой

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

Что из этого вышло
06/22/2017 15:38:53
0

Динамическое создание кластера Apache NiFi

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

image Рис. 1. GUI Apache NiFi.

Особенности:

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

Подробнее тут
06/22/2017 15:25:13
0

[Из песочницы] Эффект Медичи или можно ли скрестить персик и дыню или Windows и iOs

Во Флоренции XV века семья Медичи собрала самых образованных и талантливых людей своего времени. Скульпторы и поэты, художники и учёные, воины и философы учились друг у друга, разрушая границы между дисциплинами и культурами, создавая на их стыке истинные шедевры. Феномен креативного сочетания несочетаемого Франс Йоханссон назвал «эффектом Медичи». Суть в том, чтобы создавать новое на пересечении разных идей, разрушая ассоциативные барьеры и выявляя неожиданные на первый взгляд связи.

Подробно «Эффект Медичи» описан в книге Йоханнсона. Тем же, кому лень читать книгу, рекомендую посмотреть этот минутный ролик. Вся суть «Эффекта» там достаточно доходчиво и, главное, лаконично, передана.

Сегодня мы живем в эпоху, в которой объектов для пересечений и скрещивания на порядки больше, чем во времена Медичи. На лицо очевидное ускорение динамики размножения скрещиваемых сущностей, а темп такого размножения усиливается с каждым днем. Отсюда и сегодняшний разгул стартаперства. Еще совсем недавно телефон был скрещен с фотоаппаратом, а теперь уже речь идет о скрещивании «фототелефоноаппарата» с блендером, который, в свою очередь уже был скрещен с микроволновкой.
06/22/2017 14:52:24
0

Финал конкурса SAP Кодер 2017 пройдёт в прямом эфире

В начале апреля мы анонсировали конкурс «SAP Кодер». Участники должны были предложить свои проекты по заданным направлениям, сделанные на базе SAP Cloud Platform. Всё это время участники готовили свои решения — и вот настало время их презентовать. Решения получились интересные, поэтому мы предлагаем вам присоединиться к просмотру. Кроме презентации участников, вы услышите два доклада о SAP, которые обозначат передовые тренды в разработке. Узнайте подробности под катом и не забудьте присоединиться!

image

 
06/22/2017 14:44:53
0