• 10 лет Android: вспомнить всё



      Десять лет назад, 23 сентября 2008-го, состоялся релиз Android 1.0 и был представлен самый первый андроидфон HTC Dream. Сейчас Android — ОС с самой большой пользовательской базой в мире, а тогда всё это выглядело проектом, который легко может провалиться.

      По случаю юбилея мы решили вспомнить, как система менялась на протяжении всего этого времени. Поскольку мы проводим конференцию Mobius, Android интересен нам не только как пользователям, но и с точки зрения разработки приложений. Так что вспомнили и важные для разработчиков моменты, в этом нам помог Владимир dzigoro Иванов — участник программного комитета Mobius, пишущий под Android аж с 2009-го.
      Читать дальше →
    • Каково делать Kotlin: интервью с Андреем Бреславом



        Дефицита технических материалов о Kotlin нет, узнать о корутинах или nullability можно много где. Но остаётся куда менее освещённой другая сторона: а как вообще выглядит процесс разработки языка? Как принимаются решения? Каковы задачи у «самого главного человека»? Остаётся ли у него в жизни время на что-либо ещё?

        И сейчас, когда вот-вот выйдет Kotlin 1.3, мы расспросили «самого главного» Андрея Бреслава не про корутины, а про совсем другое: от того, чем он занимался до Kotlin, до того, чем полезна психотерапия.
        Читать дальше →
      • Когда нужны скорость и масштабирование: сервер распределенных iOS-устройств



          Многим разработчикам UI-тестов под iOS наверняка знакома проблема времени тестового прогона. В Badoo прогоняется более 1400 end-to-end тестов для iOS-приложений на каждый запуск регрессии. Это более 40 машинных часов тестов, которые проходят за 30 реальных минут.

          Николай Абалов из Badoo поделился тем, как удалось ускорить выполнение тестов с 1,5 часов до 30 минут; как распутали тесно связанные тесты и инфраструктуру iOS, перейдя к серверу устройств; как это упростило параллельный запуск тестов и сделало тесты и инфраструктуру проще для поддержки и масштабирования.

          Вы узнаете, как легко запускать тесты параллельно с помощью таких инструментов, как fbsimctl, и как разделение тестов и инфраструктуры может упростить принятие, поддержку и масштабирование ваших тестов.
          Читать дальше →
          • +30
          • 1,4k
          • 2
        • Портирование JS на Эльбрус

            Это рассказ про портирование JavaScript на отечественную платформу Эльбрус, выполненное ребятами из компании UniPro. В статье — краткий сравнительный анализ платформ, детали процесса и подводные камни.



            В основе статьи — доклад Дмитрия (dbezheckov) Бежецкова и Владимира (volodyabo) Ануфриенко с HolyJS 2018 Piter. Под катом вы найдете видео и текстовую расшифровку доклада.
            Читать дальше →
          • «Kubernetes во все поля!» – интервью с программным комитетом конференции DevOops

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

              Что же теперь интересно DevOps-инженерам? Команда супергероев — программный комитет конференции DevOops — попалась в дьявольскую ловушку в Hangouts и целый час отвечала на вопросы. (Кто все эти люди — подробно написано по ссылке).

              Под катом — интервью, раскрашенное цветными мелками. У каждого эксперта — свой цвет:



              Читать дальше →
            • Отладка как процесс

                Существует мнение, что разработка занимает около 10% времени, а отладка — 90%. Возможно, это утверждение утрировано, но любой разработчик согласится с тем, что отладка — крайне затратный по ресурсам процесс, особенно в больших многопоточных системах.

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



                Сергей Щегрикович (dotmailer) на конференции DotNext 2018 Piter предложил взглянуть на отладку как на процесс, который может быть описан и оптимизирован. Если вы до сих пор не имеете четкого плана поиска багов — под катом видео и текстовая расшифровка доклада Сергея.

                (А еще в конце поста мы добавили обращение Джона Скита ко всем дотнетчикам, обязательно посмотрите)
                Читать дальше →
                • +48
                • 5,1k
                • 3
              • «Мы все стремимся к сложности, а потом с ней боремся»: интервью с Венкатом Субраманиамом



                  «Сколько зрителей придёт на ваш доклад по Java? Зависит от того, выступает ли в то же время в соседнем зале Венкат».

                  Это шутка с изрядной долей правды: в Java-мире Венкат Субраманиам — один из самых известных спикеров, действительно способный на конференциях оттянуть зрителей из других залов. Он неустанно перемещается по всей планете и недавно поставил впечатляющий рекорд, к своему 50-летию выступив за один год перед 50 разными Java User Groups.

                  Каково это, когда твоя Java-карьера — не «сидеть в офисе», а «постоянно перемещаться»? И что Венкат думает об актуальных Java-вопросах? В октябре он доберётся до Петербурга, и в преддверии этого мы (phillennium, olegchir) взяли у него подробное интервью, где начали с «жизни в самолёте» и советов для начинающих спикеров, а затем перешли к технологиям.

                  Читать дальше →
                  • +24
                  • 4,7k
                  • 9
                • Что представила Apple и что думают об этом iOS-разработчики



                    За презентациями Apple с интересом следят самые разные люди. Но, вероятно, интереснее всех разработчикам iOS-приложений: они видят всё и с ракурса «каково этим пользоваться», и с ракурса «каково нам с этим работать». А когда все массово обновляют iOS, они уже насмотрелись на бета-версии.

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

                    Если не смотрели презентацию — для вас первая половина поста с информацией «что вообще было представлено», если смотрели — можете сразу переходить к части с мнениями. Интересно будет узнать и ваше мнение в комментариях, особенно если вы тоже iOS-разработчик!
                    Читать дальше →
                  • Управление микросервисами с помощью Kubernetes и Istio

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



                      В основе статьи — доклад Крейга Бокса на нашей прошлогодней конференции DevOops 2017. Видео и перевод доклада — под катом.
                      Читать дальше →
                      • +31
                      • 3,9k
                      • 3
                    • Разработка архитектуры проекта, корабли и JavaScript

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

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



                        В основе статьи — доклад Алексея Богачука (solution-архитектора компании EPAM) с конференции HolyJS 2018 Piter. Под катом — видео и расшифровка доклада.

                        Читать дальше →
                        • +39
                        • 8,4k
                        • 8
                      • От Котлина до Гоблина: как прошёл TechTrain



                          Устраивая IT-фестиваль TechTrain, мы сами не до конца понимали, каким он окажется. Конечно, мы знали, о чём будут доклады и какие будут стенды. Но когда собираешь на совершенно новое мероприятие 2000 айтишников с совсем разным бэкграундом, некоторые ответы можешь получить только на практике. Что понравится зрителям больше всего? Что окажется главной проблемой? Найдут ли общий язык люди, пишущие код на разных языках?

                          Теперь с TechTrain прошла неделя, за это время мы собрали отзывы и выложили фотографии, так что можно подвести итоги.
                          Читать дальше →
                        • Раздача халявы: нетормозящие треды в Java. Project Loom

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


                            Объясняем работу Project Loom на коробках с пиццей! Налетай!


                            Состав поставки:


                            • Видеокаст (основная часть). Для тех, кто любит потреблять видео.
                            • Полная текстовая расшифровка статьи. Там есть ссылки!

                            Всё это снимается и пишется специально для Хабра.





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


                            Знаю, что вам ваши лайчики дались нелегким трудом. Неизвестно, какие мерзости вы вообще делаете, чтобы заработать. Возможно, отвечаете на комментарии, которые вам на самом деле не нравятся, людям, которых вы ненавидите, и так зарабатываете себе вожделенные плюсики. Я не хочу об этом знать вообще. Лайки не пахнут. Просто отслюнявьте мне немножко лайчиков, и я сделаю вид, что не знаю, откуда они. Это всё, что имеет значение для продажного блогера типа меня.


                            Все лайчонки пойдут на создание нового контента. Спасибо.

                            Читать дальше →
                          • О сборке JDK 8 на Ubuntu, качестве кода Hotspot и почему всё валят на C++

                              Хотел сегодня поспать, но опять не удалось. В Телеграме появилось сообщение, что у кого-то не собирается Java… и мы очнулись только через пару часов, уставшие и довольные.




                              Кому этот пост может быть полезен? Да, наверное, никому, кроме тех, кто тоже собирает JDK8 или просто любит почитать кошмарные ужасы. В общем, я вас предупредил, закрывайте статью срочно.

                              Проблемы три:


                              • Не собирается (уровень первый)
                                Очень скучная часть, которую можно пропустить. Нужна только для тех, кто хочет полностью восстановить историю событий;
                              • Не собирается (уровень второй)
                                Интересней, потому что там есть пара типичных ошибок, некромантия, некрофилия, в чём BSD лучше GNU/Linux и почему стоит переходить на новые версии JDK.
                              • Даже если собирается, падает в корку
                                Более интересно. Йахууу, JVM упала в корку, давайте пинать её ногами!

                              Под катом показан подробный ход решения проблем, с разными побочными мыслями о жизни.


                              Будет много C++, кода на Java не будет вообще. Любой джавист в конце концов начинает писать только на C++…

                              Читать дальше →
                            • Хватит кормить логгеры! Даешь больше модификаторов! Lazy Static Final Fields. Черновой набросок фичи

                              • Перевод

                              Достало, что в Java логгеры инициализируются в момент инициализации класса, отчего замусоривают весь запуск? Джон Роуз спешит на помощь!


                              Вот как это может выглядеть:


                              lazy private final static Logger LOGGER = Logger.getLogger("com.foo.Bar");

                              Этот документ расширяет поведение final-переменных, позволяя по желанию поддерживать ленивое выполнение — как в самом языке, так и в JVM. Поведение существующих механизмов ленивого вычисления предлагается улучшить, изменив гранулярность: теперь она будет не с точностью до класса, а с точностью до конкретной переменной.


                              Читать дальше →
                            • «Для нас уже нет смысла использовать Retrofit»: об Android-разработке в Сбербанк Онлайн



                                У скольки российских приложений в Google Play написано «50 000 000+ установок»? Очевидно, что каждый такой случай — уникальная история со своей спецификой, так что было бы интересно поговорить с разработчиками. А когда у такого приложения ещё и оценка 4,6, это усиливает интерес.

                                Владимир Теблоев — один из людей, работающих над Android-приложением Сбербанк Онлайн. Весной, когда Сбербанк-Технологии участвовали в нашей конференции Mobius, он выступил там с докладом, а теперь мы решили расспросить Владимира об особенностях его работы.
                                Читать дальше →
                              • SmartData 2018: Первая отменённая конференция JUG.ru Group



                                  Мы множество раз рассказывали на Хабре о том, какие IT-конференции проведём. А теперь впервые за историю этого блога сообщаем, что уже анонсированная конференция не состоится. Несмотря на то, что мы уже пригласили спикеров, забронировали площадку, сделали дизайн и поработали над многим другим, мы были вынуждены принять решение об отмене SmartData 2018.

                                  Для тех, кому SmartData небезразлична, и для тех, кому интересно «почему мероприятие отменяется на такой стадии подготовки», под катом больше подробностей. Например, там можно узнать умное выражение «sunk cost fallacy», получив от печального события хоть какую-то пользу!
                                  Читать дальше →
                                • «Высокий уровень самодисциплины». Джеффри Рихтер о том, как кодить, писать книги и создавать свои компании


                                    Сегодня в нашей виртуальной студии один из самых известных дотнетчиков — Джеффри Рихтер.

                                    В данный момент он — Partner Software Architect в Microsoft, работающий по направлению Distributed Cloud Apps & Storage. Иначе говоря, человек, который знает об Azure Storage всё.

                                    F.A.Q.

                                    Слишком много текста. О чём это всё?
                                    Чтобы вам было веселей читать, для этой статьи мы придумали более интересную вёрстку. Слева будут говорящие головы, а справа — текст. Если вам уныло листать до интересующей части, то в оглавлении есть анкерные ссылки. В ролях:


                                    Евгений phillennium Трифонов (нетехнические вопросы)
                                    • Советы разработчикам по созданию компании
                                    • Комбинирование разных видов деятельности
                                    • Что читать, что изучать, как писать


                                    Олег olegchir Чирухин (технические вопросы)
                                    • Зачем Рихтер изучает JS, Golang и Python
                                    • Стоит ли продолжать писать на C++
                                    • Эволюция и будущее разработки на платформе Windows, .NET и вообще
                                    • Захватит ли JavaScript мир, нужна ли типобезопасность
                                    • Немного о пользе облачных провайдеров
                                    • Что лучше иметь — личный самолет или личный вертолёт
                                    • Как всё успевать



                                    Почему эта статья попала в хаб JavaScript?
                                    Только для тех, кому интересно мнение архитектора Azure относительно JS и его позиция в холиваре о типобезопасности. Этот холивар перетекает у нас из интервью в интервью, и конца ему не видно.


                                    Почему эта статья попала в хаб С++?
                                    Изначально Рихтер писал книги про C++. Только для тех, кому интересно мнение архитектора Azure относительно будущего и применимости C++


                                    Джефф стал известен еще в начале 90-х, когда написал книгу о том, как программировать Windows 3.1. Его книга «Programming Applications for Microsoft Windows» стала классикой, позже выпускалась как «Windows via C/C++» и выдержала несколько изданий.

                                    С появлением .NET он написал «CLR via C#» — тоже получилась классика, тоже несколько изданий. В то время он был одним из основателей компании Wintellect и, формально не будучи частью Microsoft, оказался более свободен в оценках. Чем и заработал репутацию крупного независимого эксперта по Windows. Это человек-легенда уровня Чарльза Петцольда и Дона Бокса.



                                    Читать дальше →
                                  • Make frontend «backend» again

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



                                      Материал подготовлен на основе доклада Николая Рыжикова на весенней конференции HolyJS 2018 Piter.
                                      Читать дальше →
                                    • Зачем айтишнику «знать, чем живут другие»?


                                        Среди разработчиков регулярно всплывает вопрос о непрофильных знаниях: стоит ли тратить время, разбираясь в том, что не используешь ежедневно? Порой в связи с высшим образованием: «действительно ли надо давать теоретические основы в таком объёме, или больше пригодилось бы что-то ближе к продакшну?» Порой в связи с собеседованиями: «зачем там хотят блестящего знания алгоритмов, если вакансия на самом деле этого не требует?»

                                        Про это написано уже добрая сотня постов, но я решил написать сто первый. Почему? Объясняю под катом.
                                        Читать дальше →
                                      • «Крайне мало кто реально пишет бэкенд на Котлине» — интервью с Пашей Финкельштейном

                                          Как стать программистом от безысходности и подняться к вершинам успеха? Сегодня в нашей виртуальной студии на вопросы отвечает Паша asm0dey Финкельштейн. Паша – один из немногих, кто разбирается в создании бэкендов на Kotlin. Кроме того, он пилит опенсорс, активно участвует в жизни сообщества, и, на минуточку, — побывал на почти всех наших московских Java-конференциях.

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

                                        Самое читаемое