Geekbrains программист android 2015

Содержание
  1. Уязвимости GeekBrains: Зачем платить деньги за курсы если их можно просто скачать?
  2. Предыстория
  3. Идём дальше
  4. Итоги
  5. Бесплатный курс «Android. Быстрый старт»
  6. Базовые ценности никто не отменял
  7. Открытость как важнейший фактор
  8. Выбор мобильного оператора
  9. Интеграция с сервисами Google
  10. Индивидуализация и поддержка продуктов третьих сторон
  11. Ресурсы для программистов
  12. Язык разработки: Java. Начинать надо с него
  13. 16 актуальных блогов для Android разработчиков
  14. Официальный блог разработчиков Android
  15. Android Weekly
  16. Официальный блог Android-разработчиков на Youtube
  17. Android Police
  18. CommonsWare
  19. Styling Android
  20. Surviving w/ Android
  21. Android Niceties
  22. Android-er
  23. Jake Wharton
  24. Cyril Mottier
  25. На кого подписаться в Google+ и Twitter?
  26. Chris Banes
  27. Romain Guy
  28. Roman Nurik
  29. Chet Haas
  30. Tor Norbye
  31. Официальный блог разработчиков Android
  32. Android Weekly
  33. Официальный блог Android-разработчиков на Youtube
  34. Android Police
  35. CommonsWare
  36. Styling Android
  37. Surviving w/ Android
  38. Android Niceties
  39. Android-er
  40. Jake Wharton
  41. Cyril Mottier
  42. На кого подписаться в Google+ и Twitter?
  43. Chris Banes
  44. Romain Guy
  45. Roman Nurik
  46. Chet Haas
  47. Tor Norbye

Уязвимости GeekBrains: Зачем платить деньги за курсы если их можно просто скачать?

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

Предыстория

Вечерами, в перерывах между чтением школьной литературы на лето, я участвовал в bug bounty программе от Mail.ru Group.

Я искал новые поддомены и сервисы которыми владеют Mail.ru, на них довольно часто встречаются разного рода уязвимости.

На тот момент я уже знал об образовательном IT проекте GeekBrains, не думал что смогу выцепить там что-то интересное, но я ошибался.

Углубившись в тестирование личного кабинета пользователя, я сразу наткнулся на API сервиса.

С помощью DIRB я вышел на метод projects, перебирая id проектов я выпал на любопытный URL.

Это открытый Amazon S3 bucket. На нём в «свободном доступе» лежат материалы и учебная литература практически ко всем курсам ресурса.

Вот например презентация к курсу «Информационная Безопасность»

Или вот, домашняя работа ученика курса «Java developer»

Здесь так же присутствует большое количество приватной информации на каждого участника курса.

Идём дальше

Рассуждая логически, если у них есть один S3 бакет значит, возможно, есть и другие!

На этом этапе воспользовался lazys3. Довольно удобный инструмент для поиска S3 бакетов.

После перебора я обнаружил еще один бакет, это был geekbrains-uploads.s3.amazonaws.com

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

С помощью стандартной AWS утилиты заливаем на сервер TXT файл.

aws s3 mv xalerafera.txt s3://geekbrains-uploads

Сюда можно залить исполняемый файл или другую гадость.

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

Помимо этих двух дыр, я обнаружил еще XSS в личных сообщениях.

Есть еще одна уязвимость, о которой хотелось бы рассказать, но она всё ещё Triaged.

Итоги

Закрывайте ваши S3 бакеты, это может привести к серьезным потерям.

Хочу поблагодарить AlexShmel, за помощь в написании статьи.

Источник

Бесплатный курс «Android. Быстрый старт»

Урок курса «Android. Быстрый старт»

Операционная система Android, начиная с момента первого релиза, всегда притягивала к себе внимание людей из самых разных сфер бизнеса, программирования и академической среды. Сам факт ее появления на свет принес ее создателям, калифорнийскому стартапу из четырех друзей-программистов, кругленькую сумму в 130 млн. долларов.

История течет так быстро, что уже только убелённые сединами хипстеры начала этого века помнят, что в одном из гаражей города Пало Альто совсем недалеко от стен альма-матери множества IT-корпораций, в том числе, Sun Microsystems – Стэнфордского Университета, в 2003 году во время товарищеской вечеринки были сформулированы основные идеи программного продукта, который позже стал мировым хитом.

Базовые ценности никто не отменял

Почему мы упомянули Стэнфорд и Sun? Не только для того, чтобы передать тот дух свободы и творчества, который царил в это время в Кремниевой Долине, но и для того, чтобы с момента своего знакомства с Android, начинающие программисты понимали – эта ОС не появилась как бы сама собой на клочке бумаги и не была написана вот так «на коленке» юным дарованием.

За ней стояли люди, которые прекрасно понимали, что и зачем они делают. А заработанные ими 130 млн. долларов в 2005 году от продажи своего продукта корпорации Google только это доказывают.

Стэндфорд заложил академическую базу под эту ОС, Sun подарила язык программирования Java, как базовую среду для разработки прикладных программ. А «друзья-соседи» из Oracle (купившей Sun вместе с языком Java) своими многочисленными неудачными судебными исками помогли-таки Google доказать юридическую чистоту своей покупки.

Читайте также:  Топ лучших геймпадов для андроид

Открытость как важнейший фактор

Примерно с этого момента (победы в суде на Oracle) аналитики признали огромные рыночные перспективы операционной системы. Всем вдруг стало понятно ее фундаментальное преимущество над большинством конкурентов. Android – это открытая операционная система для мобильных устройств, не связанная ни с какими (почти) лицензионными ограничениями, в том числе по использованию Java. А поскольку ядром самой ОС является Linux, то, в общем, на эту тему и говорить особенно нечего.

Это обстоятельство позволяет разработчикам свободно распространять своё ПО и приложения, не будучи ограниченными законом о защите авторских прав. В отличие от iOS, где приложения можно загрузить исключительно через AppStore, Android может и поддерживает более гибкую политику.

Заканчивая разговор об открытости, необходимо еще раз отметить то, с чего с начиналась статья – Linux, Java и сам Android стали тем, чем они есть, лишь благодаря усилиям сообществ единомышленников, которые образуют полноценные открытые экосистемы для всех разработчиков. Поэтому изучать в одиночку Android – значит, идти против ветра, против идеи свободного ПО. Полноценное обучение давно подразумевает лишь коллективное погружение в тему, что возможно исключительно на курсах под руководством опытных наставников.

Но не только открытый код является достоинством Android. Давайте коротко остановимся на нескольких ключевых ее особенностях:

Выбор мобильного оператора

Этот пункт «выстрелил» в полную силу еще в самом начале покорения Android мира. Apple со своей iOS, пользуясь монопольным положением на рынке в то время, взял курс на жесткую привязку своих пользователей к ограниченному набору мобильных операторов связи. Это, может быть, и неплохо с коммерческой точки зрения, но в корне противоречит свободолюбивой политике корпорации Google.

Обладая колоссальными доходами от рекламы и лицензионными отчислениями от производителей «железа», господа Ларри Пэйдж и Сергей Брин (основатели и основные акционеры Google) сдержали своё слово, данное при покупке Android, – сама операционная система и способы ее распространения остались весьма демократичны с точки зрения выбора партнёров. Стоит ли удивляться взрывному росту популярности этой платформы?

Для справки, сегодня, по данным аналитиков Gartner, четыре из пяти смартфонов работают на Android разных версий, всё остальное делят между собой 3 или 4 вендора.


Данные исследовательской и консалтинговой компании Gartner

Интеграция с сервисами Google

Положа руку на сердце, надо сказать, что и Google приложил немало усилий по продвижению Android. Этот поисковый гигант имеет миллиарды пользователей, привыкших к множеству его веб-сервисов: почта, соцсети, облачные хранилища – всего перечислять нет смысла. Есть среди них и «бриллиант» – сервис «документы», который стал занозой для еще одного конкурента – Microsoft. И всё это если изначально не работает на стандартном мобильном устройстве, то требует минимальных усилий разработчиков.

Как известно, детище Билла Гейтса «проспало» мобильную революцию, сконцентрировавшись на офисных и серверных продуктах. А когда примерно у половины населения планеты появились на руках смартфоны и планшеты с Android, выяснилось, что бесплатные «Документы» (и другие конкурирующие продукты) расходятся, как горячие пирожки. Microsoft бросилась в погоню, купив по дороге бывшего супергероя мобильного рынка Nokia. Но пока они далеко позади…

Стартовав несколько позже своего основного конкурента iOS, Google активно наращивает список технологических решений для интеграции их и в Android, и в Chrome OS – еще одной операционной системы корпорации на базе технологий терминального доступа. Наступает на пятки Apple с его голосовой системой управления Siri новейшие технологии Google Now.

Перечислять можно долго, прорывных достижений много. Единственное, что сдерживает: недостаток квалифицированных программистов. Поэтому Google имеет внушительную систему поощрений для мотивации обучающихся технологиям Android. Например, в 2007 году Google объявила первый конкурс Android Developer Challenge с призовым фондом в 5 млн. долларов. Кризис немного подкосил призовой фонд 2009 года — 2 млн. долл., что, согласитесь, тоже прилично.

Такие мероприятия стали традиционными и проводятся регулярно: толковые люди корпорации нужны сейчас и будут востребованы еще многие годы. Но при всём при этом отмечается: программировать на базе платформы Android относительно просто, не требуется такого серьезного старта, как, например, с Haskell.

Индивидуализация и поддержка продуктов третьих сторон

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

Читайте также:  Зарядка батарейки для андроид

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

При этом всём, в отличие от некоторых конкурирующих платформ, нет зацикленности на каких-то технологиях, которые теоретически могут стать мейнстримом, а могут и не стать. Например, сколько ушатов, сами знаете чего, вылилось на головы программистов под iOS из-за фанатической веры Apple в HTML 5. В результате огромное количество веб-ресурсов, использующих технологию Flash, пролетели мимо браузера Safari. Таких примеров очень много, а причем тут разработчики?

Ресурсы для программистов

Описывать достоинства той или иной программной платформы бессмысленно без наличия поддержки главного ее спонсора и идеолога. Что касается Google, то, повторимся, в этой компании силен опенсорсный дух. На нем она основана и им живет. Это не в качестве рекламы, а про то, что имея основные доходы в сферах, далеких от продажи и лицензирования софта, Google внес колоссальный безвозмездный вклад в популяризацию свободного ПО.

Кроме Android в этом ряду стоит целый ряд первоклассных продуктов: это набор JavaScript фреймворков, движков по распознаванию текстов, звуков, видео (например, Tesseract), решения для Big Data, семейство ОС Chrome т.д.

А какая популяризация операционной системы без детальной документации по ней самой и всему тому стеку прикладного программного обеспечения, которое может работать с ней непосредственно или удаленно через API? Чего-чего, а документации по Android вполне достаточно для разработок на самом серьезном уровне. И никто из этого не делает секретов. Надо только знать, что и где искать.

Язык разработки: Java. Начинать надо с него

Сама по себе операционная система не может покрыть всех потребностей пользователей. Поэтому используется прикладное программное обеспечение, написанное на самых разных языках программирования. Android поддерживает и что-то из семейства C, и Go, и много чего еще. Но базовым как был, так и остается язык программирования Java.

Почему? Описывать не будем, на курсах всё сами узнаете. Скажем лишь, что в известнейшем рейтинге популярности языков программирования Java и JavaScript сражаются за первое и второе места. При этом оба они поддерживаются платформой Android и приложениями на её базе, хотя и предназначены для разных целей и JavaScript «заточен» под работу с веб.


Данные аналитической фирмы RedMonk

Цель нашего курса — погрузить слушателей в мир Android, наполненный интереснейшей историей и философией свободного ПО, окунуться в парадигму объектно-ориентированного программирования на Java, а также оформить «входной билет» в мировое сообщество девелоперов этой мобильной платформы. Поверьте, это того стоит!

Первое занятие — установка и настройка инструментов для разработки игры с комментариями преподавателя. Вам понадобится компьютер с Windows, Mac или Linux вкупе с желанием научиться новым навыкам и приобрести полезные знания. А что будет дальше — смотрите.

Источник

16 актуальных блогов для Android разработчиков

Для знакомства с разработкой под Android можно использовать почти любую книгу по теме. «Как только с основами стало более-менее понятно, нужно как можно больше писать код и углублять знания чтением статей более узкой направленности, узко специализированных блогов» — говорит Android разработчик и Team Lead в E-ligion, Никита Бумаков. Платформа быстро развивается и книги теряют актуальность. Поэтому мы составили список актуальных англоязычных блогов, на которые стоит подписаться.

Официальный блог разработчиков Android

Основной ресурс для получения свежей информации от разработчиков.

Android Weekly

Еженедельное издание — хороший способ всегда быть в курсе, что происходит в сообществе Android-разработчиков.

Официальный блог Android-разработчиков на Youtube

Если вы еще не подписаны, то обязательно это исправьте. Здесь вы в доступной форме узнаете больше о разработке и UX.

Android Police

Абсолютно все, что касается платформы Android: обзоры игр, приложений, девайсов, новинки из мира разработки. Здесь быстрее всего появляются как слухи, так и подтвержденные новости. Основатель ресурса Артем Руссаковский — программист и большой Android-фанат.

CommonsWare

Основатель ресурса — Марк Мерфи, автор книги «The Busy Coder’s Guide to Android Development». Он фокусируется на мелких деталях и подводных камнях,о которых разработчики должны быть в курсе.

Читайте также:  Код активации для android work

Styling Android

«Украшаем Андроид» — блог о UI и UX приложений. Здесь вы найдете советы по улучшению графического интерфейса. Основатель ресурса Марк Эллисон, разработчик программного обеспечения с более чем 30-летним стажем, и 4-летним опытом разработки под Android.

Surviving w/ Android

Блог Android-энтузиаста Франческо Аззола, Senior Software Engineer’a с более чем 15-ти летним опытом в области JEE архитектуры. Франческо имеет сертификацию SCEA (Sun Certified Enterprise Architect), SCWCD, SCJP. Английский не его родной язык, поэтому встречаются небольшие ошибки, но они не мешают пониманию.

Android Niceties

Коллекция скриншотов красивых приложений Android-экосистемы для вдохновения.

Android-er

Масса полезностей и примеров кода.

Jake Wharton

Джейк Вортон — один из самых известных разработчиков со статусом Google Developer Expert. Он создатель ActionBarSherlock, ViewPageIndicator, NineOldAndroid. Джейк сосредоточен на написании компактных, модульных библиотек и инструментов для решения повсеместных проблем, с которыми сталкиваются разработчики.

Cyril Mottier

Отличный блог с глубокими статьями. Его автор Кирилл Мотье — Google Developer Expert, программист Android, user experience/interface engineer и разработчик GreenDroid.

На кого подписаться в Google+ и Twitter?

Chris Banes

Developer Programs Engineer в Android-команде Google.

Romain Guy

Ключевой инженер Android-платформы, работает в Google над неанонисированным проектом. Иногда пишет книги, работает на Open Source проектах. В свободное время занимается фотографией.

Roman Nurik

Android-разработчик и дизайнер в Google. Создатель Muzei.

Chet Haas

Создатель фреймворка анимации в Android.

Tor Norbye

Software engineer Android-команды в Google.

Хотите достигнуть хорошего уровня в разработке под Andoid? Добро пожаловать на профессию «Программист Android».

Для знакомства с разработкой под Android можно использовать почти любую книгу по теме. «Как только с основами стало более-менее понятно, нужно как можно больше писать код и углублять знания чтением статей более узкой направленности, узко специализированных блогов» — говорит Android разработчик и Team Lead в E-ligion, Никита Бумаков. Платформа быстро развивается и книги теряют актуальность. Поэтому мы составили список актуальных англоязычных блогов, на которые стоит подписаться.

Официальный блог разработчиков Android

Основной ресурс для получения свежей информации от разработчиков.

Android Weekly

Еженедельное издание — хороший способ всегда быть в курсе, что происходит в сообществе Android-разработчиков.

Официальный блог Android-разработчиков на Youtube

Если вы еще не подписаны, то обязательно это исправьте. Здесь вы в доступной форме узнаете больше о разработке и UX.

Android Police

Абсолютно все, что касается платформы Android: обзоры игр, приложений, девайсов, новинки из мира разработки. Здесь быстрее всего появляются как слухи, так и подтвержденные новости. Основатель ресурса Артем Руссаковский — программист и большой Android-фанат.

CommonsWare

Основатель ресурса — Марк Мерфи, автор книги «The Busy Coder’s Guide to Android Development». Он фокусируется на мелких деталях и подводных камнях,о которых разработчики должны быть в курсе.

Styling Android

«Украшаем Андроид» — блог о UI и UX приложений. Здесь вы найдете советы по улучшению графического интерфейса. Основатель ресурса Марк Эллисон, разработчик программного обеспечения с более чем 30-летним стажем, и 4-летним опытом разработки под Android.

Surviving w/ Android

Блог Android-энтузиаста Франческо Аззола, Senior Software Engineer’a с более чем 15-ти летним опытом в области JEE архитектуры. Франческо имеет сертификацию SCEA (Sun Certified Enterprise Architect), SCWCD, SCJP. Английский не его родной язык, поэтому встречаются небольшие ошибки, но они не мешают пониманию.

Android Niceties

Коллекция скриншотов красивых приложений Android-экосистемы для вдохновения.

Android-er

Масса полезностей и примеров кода.

Jake Wharton

Джейк Вортон — один из самых известных разработчиков со статусом Google Developer Expert. Он создатель ActionBarSherlock, ViewPageIndicator, NineOldAndroid. Джейк сосредоточен на написании компактных, модульных библиотек и инструментов для решения повсеместных проблем, с которыми сталкиваются разработчики.

Cyril Mottier

Отличный блог с глубокими статьями. Его автор Кирилл Мотье — Google Developer Expert, программист Android, user experience/interface engineer и разработчик GreenDroid.

На кого подписаться в Google+ и Twitter?

Chris Banes

Developer Programs Engineer в Android-команде Google.

Romain Guy

Ключевой инженер Android-платформы, работает в Google над неанонисированным проектом. Иногда пишет книги, работает на Open Source проектах. В свободное время занимается фотографией.

Roman Nurik

Android-разработчик и дизайнер в Google. Создатель Muzei.

Chet Haas

Создатель фреймворка анимации в Android.

Tor Norbye

Software engineer Android-команды в Google.

Хотите достигнуть хорошего уровня в разработке под Andoid? Добро пожаловать на профессию «Программист Android».

Источник

Оцените статью