Распространено мнение, что программисты - очень замкнутые люди и не любят общаться. В своей статье я постаралась опровергнуть его и рассказать о том, как ребята из сообщества мобильных разработчиков Coffee & Code активно общаются и проводят офлайн-встречи в разных городах и странах. Также я поясняю, как важно быть участником профессионального комьюнити, и почему это участие способствует развитию навыков, необходимых разработчику.
Игорь Гарин @mr_garin
Пользователь
Celestia
5 мин
40KВ свете обострившегося интереса к космонавтике и астрономии на Хабре (спасибо NASA и Curiosity), хотелось бы рассказать о замечательном свободном планетарии, созданным Крисом Лорелом — Celestia (а точнее, о расширенной сборке Celestia Extended Pack).
Кстати, именно с помощью Celestia была создана заставка к всенародно любимому сериалу Теория большого взрыва :)
+63
Dev Story: Crystalux — нюансы разработки и продвижения головоломки под Android
6 мин
15KПривет, Хабр!
Месяц назад на Google Play вышла моя новая игра — Crystalux. Будучи до сих пор обрадованным этим знаменательным событием, я поделюсь с вами кое-какими техническими и маркетинговыми тонкостями, которые узнал в ходе разработки. Ну и заодно немного попиарю мое творение, конечно.
Crystalux — головоломка с цепочкой уровней. Игровой процесс не претендует на уникальность, но вполне неплох и способен затянуть. Вам необходимо собирать узор из кристаллов, расположенных на шестиугольных фишках так, чтобы кристаллы соединялись по цветам. Более подробно описывать нет смысла, проще посмотреть ролик или попробовать.
Месяц назад на Google Play вышла моя новая игра — Crystalux. Будучи до сих пор обрадованным этим знаменательным событием, я поделюсь с вами кое-какими техническими и маркетинговыми тонкостями, которые узнал в ходе разработки. Ну и заодно немного попиарю мое творение, конечно.
Вкратце об игре.
Crystalux — головоломка с цепочкой уровней. Игровой процесс не претендует на уникальность, но вполне неплох и способен затянуть. Вам необходимо собирать узор из кристаллов, расположенных на шестиугольных фишках так, чтобы кристаллы соединялись по цветам. Более подробно описывать нет смысла, проще посмотреть ролик или попробовать.
+25
Custom layout. Выплывающая панель + параллаксный скроллинг
7 мин
19KПривет, коллеги.
Сегодня я хотел рассказать, как можно создать нестандартный менеджер разметки (layout manager) и вдохнуть в него жизнь при помощи анимаций.
Нам в DataArt часто требуется реализовывать нестандартные компоненты для приложений заказчика, поэтому у меня накопился определенный опыт в этом деле, которым решил поделиться.
В качестве примера решил реализовать аналог часто встречающейся в социальных сетях выплывающей снизу панели. Обычно этот прием используется при необходимости показать контент, например, фото, и добавить возможность комментировать на дополнительной панельке, которую пользователь может вытянуть снизу. При этом основной контент обычно тоже уплывает наверх, но немного медленнее, чем основная панель. Это называется «параллаксный скроллинг».
Специально для этой статьи я решил с нуля реализовать подобный компонент. Сразу хочу заметить, что это не полноценный, стабильный и готовый для продакшен код, а всего лишь демонстрация, написанная за пару часов, чтобы показать основные приемы.
Сегодня я хотел рассказать, как можно создать нестандартный менеджер разметки (layout manager) и вдохнуть в него жизнь при помощи анимаций.
Нам в DataArt часто требуется реализовывать нестандартные компоненты для приложений заказчика, поэтому у меня накопился определенный опыт в этом деле, которым решил поделиться.
В качестве примера решил реализовать аналог часто встречающейся в социальных сетях выплывающей снизу панели. Обычно этот прием используется при необходимости показать контент, например, фото, и добавить возможность комментировать на дополнительной панельке, которую пользователь может вытянуть снизу. При этом основной контент обычно тоже уплывает наверх, но немного медленнее, чем основная панель. Это называется «параллаксный скроллинг».
Специально для этой статьи я решил с нуля реализовать подобный компонент. Сразу хочу заметить, что это не полноценный, стабильный и готовый для продакшен код, а всего лишь демонстрация, написанная за пару часов, чтобы показать основные приемы.
+36
Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 2
17 мин
243KТуториал
Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».
Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я делаю перевод второго занятия.
Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
+59
Организация архитектуры взаимодействия Activity и Service
7 мин
34KПриветствую!
Сегодня я решил поведать Вам мой способ организации activity-service interaction в Android приложениях. Мотивирован топик тем, что достаточно часто можно встретить приложения, в которых, скажем, поход на сервер организовывается внутри активити в AsyncTask. При этом часто встречается верная мысль, что это надо делать в сервисах, но нигде в оф. документации нет ни слова об организации правильной архитектуры двустороннего взаимодействия между ними.
Поэтому я методом проб и ошибок пришел к архитектуре, лично для меня покрывающей все необходимые вопросы.
Об этом методе я буду рассказывать далее.
Сегодня я решил поведать Вам мой способ организации activity-service interaction в Android приложениях. Мотивирован топик тем, что достаточно часто можно встретить приложения, в которых, скажем, поход на сервер организовывается внутри активити в AsyncTask. При этом часто встречается верная мысль, что это надо делать в сервисах, но нигде в оф. документации нет ни слова об организации правильной архитектуры двустороннего взаимодействия между ними.
Поэтому я методом проб и ошибок пришел к архитектуре, лично для меня покрывающей все необходимые вопросы.
Об этом методе я буду рассказывать далее.
+27
«Android для программистов: создаём приложения» — новая книга от Дейтелов
3 мин
19KЗавтра у нас выходит прекрасная новинка, которая написана, пожалуй, самым популярным авторским коллективом в мире компьютерной литературы. Встречайте:
«Android для программистов: создаём приложения» от Пола, Эди и Харви Дейтелов из Deitel & Associates, Inc. и примкнувшего к ним Майкла Моргано, который уже отметился в этой команде в книге iPhone for Programmers: An App-Driven Approach.
Фамилии Дейтелов на обложке — это знак качества. Более миллиона программистов во всем мире учили по их книгам Cи, C++, C #, Java for iPhone, веб-программирование на JavaScript, XML, Visual Basic, Visual C++, Perl, Python и т.д. На русском языке уже выпущено около 30 книг этих авторов.
Эта книга даст вам всё, что нужно, для начала разработки приложений под Android и быстрой публикации их на Google Play. В книге используется приложение-ориентированный подход. В каждой из глав, посвященных разработке приложений (главы 3–19), представлено одно приложение, рассмотрены функции приложения, приведены скриншоты выполняющегося приложения, тест-драйв и обзор технологий и архитектуры, используемых при создания приложения. Затем мы строим приложение, представляем его полный исходный код и проводим подробный анализ этого кода; обсуждаем концепции, применяемые в программировании, и демонстрируем функциональные свойства Android API, используемых при создании приложения.
«Android для программистов: создаём приложения» от Пола, Эди и Харви Дейтелов из Deitel & Associates, Inc. и примкнувшего к ним Майкла Моргано, который уже отметился в этой команде в книге iPhone for Programmers: An App-Driven Approach.
Фамилии Дейтелов на обложке — это знак качества. Более миллиона программистов во всем мире учили по их книгам Cи, C++, C #, Java for iPhone, веб-программирование на JavaScript, XML, Visual Basic, Visual C++, Perl, Python и т.д. На русском языке уже выпущено около 30 книг этих авторов.
Особенности книги
Эта книга даст вам всё, что нужно, для начала разработки приложений под Android и быстрой публикации их на Google Play. В книге используется приложение-ориентированный подход. В каждой из глав, посвященных разработке приложений (главы 3–19), представлено одно приложение, рассмотрены функции приложения, приведены скриншоты выполняющегося приложения, тест-драйв и обзор технологий и архитектуры, используемых при создания приложения. Затем мы строим приложение, представляем его полный исходный код и проводим подробный анализ этого кода; обсуждаем концепции, применяемые в программировании, и демонстрируем функциональные свойства Android API, используемых при создании приложения.
+22
Использование MS Project для управления проектами по разработке ПО
10 мин
464KТуториал
Я хочу поделиться своим опытом использования MS Project для управления проектами по разработке программного обеспечения. Я уже лет 10 занимаюсь управлением проектами,
и в результате у меня родилась некоторая методология использования MS Project, которая позволяет получить от него немалую пользу и при этом меньше зависеть от его недостатков.
и в результате у меня родилась некоторая методология использования MS Project, которая позволяет получить от него немалую пользу и при этом меньше зависеть от его недостатков.
+13
Space Engine — Вселенная на ладони
8 мин
98KMy God, it's full of stars!Arthur C. Clarke
Кто из нас в детстве не мечтал «бороздить просторы вселенной», как капитан Пикард, прогуливаться по неизведанным планетам далёких миров, встречать рассветы двойных или тройных звёзд, погружаться в атмосферы газовых гигантов, ронять корабли в чёрные дыры? И я тоже не исключение. Конечно, частично эту мечту воплощали книги, фильмы и «Элит»-ные игры. Но вся романтика в них разрушалась банальными купи-продай и «пиу-пиу» в «жидком» космосе на скоростях самолётов времён первой мировой войны. Да и тем немногим виртуальным миркам не хватало свободы, детальности и масштабов реальной вселенной.
В начале тысячелетия я познакомился с MojoWorld и был шокирован его возможностями. Наконец-то, можно было бродить по другим планетам и фотографировать местные достопримечательности. Он стал первой ласточкой, дававшей надежду на то, что полномасштабные космические миры технически возможны. Но, к сожалению, производительности железа десятилетней давности было не достаточно для передачи всех красот в реальном времени. Да и планеты оставались всего лишь мёртвыми пейзажами.
Но вот, чуть больше года назад, я совершенно случайно наткнулся на вселенную Space Engine, и она просто взорвала мне мозг и размазала его по полу своим масштабом и невероятной детализацией.
+185
Секционный список в Android
6 мин
3.1KСписки, разделённые на секции, встречаются довольно часто как в системных приложениях, так и в сторонних. Но, как ни странно, платформа не предлагает способов для их реализации «из коробки», в отличие от iOS.
+20
Путь с указателями направления на карте с использованием Yandex Map Kit для Android
4 мин
12KЗдравствуйте!
В этом сообщении рассмотрим:
В этом сообщении рассмотрим:
- Встраивание библиотеки Yandex Map Kit Android в проект
- Создание расширения для класса Overlay с целью вывода на карту пути с указателями направления и обработки событий «onClick» по карте
+20
Selloby: как мы делали слонов под Android
3 мин
8.5KSelloby — это сервис частных объявлений в стиле Твиттера и наш самый первый проект под Android. Несмотря на сравнительно небольшой объём кода (чуть более 8 KLOC), в процессе реализации проекта Selloby мы опробовали ряд техник и методологий, которые пригодились в дальнейшей работе. Также Selloby дал нам возможность почувствовать, пускай и в миниатюре, как устроен Твиттер, что, помимо саморазвития, добавило интереса нашей работе.
+13
Внедрение Javascript-кода в страницу через Chrome Extension
2 мин
85KОднажды передо мной встала задача написать расширение для одной браузерной игрушки под Google Chrome.
Для расширения необходимо было использовать javascript окружение непосредственно самой страницы. Проблема оказалась в том, что доступ к этому окружению невозможен из Content-скриптов расширения.
В результате поисковой работы обнаружилось что удачные решения данной проблемы отсутствуют, поэтому изучив имеющийся материал была создана простенькая система, позволяющая внедрить любой код непосредственно в станицу, без дополнительных мучений в процессе разработки. Далее я представлю простой пример расширения, решающего эту задачу.
Для расширения необходимо было использовать javascript окружение непосредственно самой страницы. Проблема оказалась в том, что доступ к этому окружению невозможен из Content-скриптов расширения.
В результате поисковой работы обнаружилось что удачные решения данной проблемы отсутствуют, поэтому изучив имеющийся материал была создана простенькая система, позволяющая внедрить любой код непосредственно в станицу, без дополнительных мучений в процессе разработки. Далее я представлю простой пример расширения, решающего эту задачу.
+5
Создаем RESTful web service на Java с использованием Eclipse + Jersey + Glassfish3
8 мин
71KДобрый вечер всем!
Не так давно (в феврале этого года), я решил заняться программированием. В качестве языка был выбран Java. И с того момента я упорно изучаю все возможности данного языка. Недавно наткнулся на статью про RESTful на хабре. Прочитал и понял, что надо осветить альтернативный способ создания данных сервисов. Ещё меня поразило, насколько некоторые статьи пишутся непонятно для новичков. Я решил написать статью в которой расскажу и о прикладной части создания веб сервиса.
Я не претендую на истину. Я просто хочу показать простой и быстрый способ создать веб сервис.
Самое главное это IDE. Я предпочитаю Eclipse. Данный проект я написал в Eclipse for Java EE Developers Juno. Четно говоря, предыдущий релиз был стабильнее, но этот внешне приятнее. В качестве фреймворка для REST я выбрал Jersey. Его легко найти и скачать. Точно так же как и саму IDE. В качестве сервера я установил GlassFish плагин для эклипса. Инструкцию по его установке точно так же легко найти. Ну на этом и всё.
Итак. У нас есть Eclipse, папка с JAR-файлами Jersey и установленный GlassFish плагин. Теперь запускаем Eclipse и создаем пустой Dynamic Web Project, на последней вкладке не забываем отметить чек-бокс, который отвечает за генерацию web.xml файла.
Не так давно (в феврале этого года), я решил заняться программированием. В качестве языка был выбран Java. И с того момента я упорно изучаю все возможности данного языка. Недавно наткнулся на статью про RESTful на хабре. Прочитал и понял, что надо осветить альтернативный способ создания данных сервисов. Ещё меня поразило, насколько некоторые статьи пишутся непонятно для новичков. Я решил написать статью в которой расскажу и о прикладной части создания веб сервиса.
Я не претендую на истину. Я просто хочу показать простой и быстрый способ создать веб сервис.
Начало
Необходимое ПО
Самое главное это IDE. Я предпочитаю Eclipse. Данный проект я написал в Eclipse for Java EE Developers Juno. Четно говоря, предыдущий релиз был стабильнее, но этот внешне приятнее. В качестве фреймворка для REST я выбрал Jersey. Его легко найти и скачать. Точно так же как и саму IDE. В качестве сервера я установил GlassFish плагин для эклипса. Инструкцию по его установке точно так же легко найти. Ну на этом и всё.
Создание проекта
Итак. У нас есть Eclipse, папка с JAR-файлами Jersey и установленный GlassFish плагин. Теперь запускаем Eclipse и создаем пустой Dynamic Web Project, на последней вкладке не забываем отметить чек-бокс, который отвечает за генерацию web.xml файла.
+6
Защитите свой аккаунт Dropbox с помощью двухэтапной аутентификации
2 мин
11KТеперь вы можете защитить ваш аккаунт используя двухэтапную аутентификацию, это означает, что злоумышленнику понадобиться больше, чем просто знать ваш пароль от аккаунта Dropbox.
+74
Реализация синглтона в многопоточном приложении
14 мин
16KВведение
В настоящий момент сложно себе представить программное обеспечение, работающее в одном потоке. Конечно, существует ряд простых задач, для которых один поток более, чем достаточен. Однако так бывает далеко не всегда и большинство задач средней или высокой сложности так или иначе используют многопоточность. В этой статье я буду говорить об использовании синглтонов в многопоточной среде. Несмотря на кажущуюся простоту эта тема содержит множество нюансов и интересных вопросов, поэтому считаю, что она заслуживает отдельной статьи. Здесь не будет затрагиваться обсуждение того, зачем использовать синглтоны, а также как их правильно использовать. Для прояснения этих вопросов я рекомендую обратиться к моим предыдущим статьям, посвященным разным вопросам, связанным с синглтонами [1], [2], [3]. В этой статье речь будет идти о влиянии многопоточности на реализацию синглтонов и обсуждению вопросов, которые всплывают при разработке.
+49
Unrolled linked list на Java
5 мин
2.7KВсем привет.
Время от времени я, как и большинство программистов, изучаю какие-то новые структуры и алгоритмы.
В этот раз мне на глаза попались статьи по cache oblivious алгоритмам. Это такие алгоритмы, которые изначально более оптимизированы для работы с подсистемой кэширования современных процессоров.
Одним из представителей этой группы является Unrolled linked list.
Что же это такое?
Время от времени я, как и большинство программистов, изучаю какие-то новые структуры и алгоритмы.
В этот раз мне на глаза попались статьи по cache oblivious алгоритмам. Это такие алгоритмы, которые изначально более оптимизированы для работы с подсистемой кэширования современных процессоров.
Одним из представителей этой группы является Unrolled linked list.
Что же это такое?
+32
Как должны выглядеть Android приложения?
7 мин
30KПеревод
Платформа Android не имеет жестких рекомендаций, как должны выглядеть и работать приложения. Google с самого начала дал ясно понять, что у них нет планов начать диктовать, что приемлемо, а что нет. Существует набор UI рекомендаций, но они в основном концентрируются на мелочах вроде значков, виджетов и меню.
+42
+188
Android — Сontinuous Integration. Часть 1
3 мин
20KНе буду описывать в сотый раз что такое CI и зачем это нужно. Выдумщиком данной концепции считается, не безизвестный, Мартин Фаулер, а с его трудом можно ознакомиться здесь.
Я же хочу в серии из нескольких статей рассказать о том, как организовать разработку Android приложений с использованием непрерывной интеграции. Для меня было неожиданностью, что несмотря на всю популярность CI, в интернете до сих пор не существует подробной инструкции, по шагам, для новичков, даже на английском языке, не говоря про русский (ну или я таких попросту не нашел).
В первой статье цикла мы обозрим сложившуюся унылую ситуацию и набросаем план действий по спасению — то что ожидаем получить в конце и ради чего все затеваем. А затем, постепенно, начнем это воплощать в жизнь. Кого заинтересовал, прошу под кат.
Я же хочу в серии из нескольких статей рассказать о том, как организовать разработку Android приложений с использованием непрерывной интеграции. Для меня было неожиданностью, что несмотря на всю популярность CI, в интернете до сих пор не существует подробной инструкции, по шагам, для новичков, даже на английском языке, не говоря про русский (ну или я таких попросту не нашел).
В первой статье цикла мы обозрим сложившуюся унылую ситуацию и набросаем план действий по спасению — то что ожидаем получить в конце и ради чего все затеваем. А затем, постепенно, начнем это воплощать в жизнь. Кого заинтересовал, прошу под кат.
+13
Информация
- В рейтинге
- Не участвует
- Откуда
- Нижний Новгород, Нижегородская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность