• В поисках самого лучшего способа тестирования системы

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



      В основе статьи – выступление Яна на июньской конференции Heisenbug 2017 в Питере. Ян занимается тестированием более двадцати лет. В настоящее время он работает тест-менеджером для приемочных тестов в голландской компании по стандартизации Squerist. Этот доклад о самых разных подходах к тестированию: от детальной проработки сценариев и до исследовательских туров, от сессионного тестирования и до поиска ошибок совместно с пользователями. Его цель – помочь вам повысить профессионализм, обратив внимание на те методы, которые вы до сих пор не использовали.
      Читать дальше →
      • +19
      • 7,7k
      • 9
    • .NET Security — это просто

        Представляем интервью с ведущими экспертами в области безопасности: Владимиром Кочетковым (руководителем отдела исследований анализа защищенности приложений в Positive Technologies) и Михаилом Щербаковым (независимым разработчиком и консультантом в области информационной безопасности).


        О чем эта статья? Процитирую одну из реплик Михаила:


        «Разработка защищенного приложения – это частный случай разработки приложения, не содержащего ошибок вообще. Кроме этого, ваше приложение использует сторонние библиотеки, защищенность которых тоже не гарантируется, далее оно выполняется на ОС и железе. Часто мы даже не можем сказать, на какой именно ОС и на каком железе. И все это со временем изменяется!»


        Читать дальше →
      • Каррирование и частичное применение на C++14

          В этой статье я расскажу об одном из вариантов каррирования и частичного применения функций в любимом мною C++, покажу свою экспериментальную реализацию сего действа и объясню без математики, на пальцах, что такое вообще каррирование и что же под капотом у kari.hpp, с помощью которой мы и будем каррировать функции. Ну и как тут принято: заинтересовавшихся — прошу под кат.

          Читать дальше →
        • Функциональная архитектура — это порты и адаптеры

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

          Чем интересна функциональная архитектура? Она имеет тенденцию попадать в так называемую «яму успеха» («Pit of Success»), в условиях которой разработчики оказываются в ситуации, вынуждающей писать хороший код.


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

          Читать дальше →
        • Бесплатная YouTube-трансляция Joker 2017: Java 9, Concurrency, GC, Spring и, конечно, паззлеры



            Круг замкнулся. Ровно год назад мы провели открытую трансляцию Joker 2016 для всех тех, у кого не было возможности зарегистрироваться. С тех пор мы провели более десятка трансляций с конференций по .NET, JavaScript, DevOps, мобильным технологиям, тестированию и Java, само собой.

            Что стало лучше за год? Мы отработали технологию, пофиксили пару уязвимостей, начали транслировать через YouTube (а не через кастомный интерфейс), научились задавать вопросы от участников трансляции, забанили добрую сотню троллей, научились проводить интервью в перерывах без задержек и проволочек, начали делать трансляцию в 1440р… наверное, есть что-то еще.

            Собственно, уже совсем скоро вы сможете увидеть, что у нас получилось — 3 ноября в 9:30 утра мы начнем двухдневную бесплатную трансляцию главного трека Joker 2017. Трансляция будет идти с одним перерывом «на сон». А еще она будет в разрешении 1440р, так что в кои-то веки вам понадобятся ваши крутые мониторы.

            В программу вошли доклады Cay Horstmann, Алексея Шипилёва, Баруха jbaruch Садогурского, Тагира lany Валеева, Николая xpinjection Алименкова, Евгения EvgenyBorisov Борисова, Сергея Milfgard Абдульманова и еще кое-кого.

            Интересно? Давайте под кат.
            Читать дальше →
          • Money-моноид


            Mark Seeman рассказывает о функциональном программировании просто и быстро. Для этого он начал писать цикл статей, посвященных связи между паттернами проектирования и теорией категорий. Любой ООПшник, у которого есть 15 минут свободного времени, сможет заполучить в свои руки принципиально новый набор идей и инсайтов, касающихся не только функциональщины, но и правильного объектно-ориентированного дизайна. Решающим фактором является то, что все примеры — это реальный код на C#, F# и Haskell.

            Этот хабрапост — вторая статья из цикла статей о моноидах:

            Читать дальше →
          • Обзор докладов конференции Mobius 2017 Moscow — прыжок веры в мобильные технологии



              На этот раз это действительно будет путешествие в прошлое и прыжок в новые технологии, притом одновременно, как, собственно, и в концепте самой игры с перемещением личности во времени. И да, — это отсыл к Assassin's Creed, а не историческому значению термина «прыжок веры».

              И про игры тоже поговорим, но уже про взрослые. Как сделать приложение только для онлайна, без необходимости загрузки, и наоборот, приложение, которое не требует коннекта к сети.

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

              А ещё в этот раз у нас не будет открывающего кейноута, т.е. каждый доклад первого тайм-слота — это маленький кейноут, и времени на раскачку не будет. Сразу в прод!

              Что ждать от докладов на конференции и куда с их помощью можно попасть — под катом. Совпадает ли наше видение с реальностью или нет, решать участникам Mobius 2017 Moscow.
              Читать дальше →
              • +24
              • 4,4k
              • 1
            • DotNext 2017 Moscow: возвращение хардкора


                12-13 ноября (то есть всего через пару недель) состоится DotNext 2017 Moscow, крупнейшая в России конференция, посвященная разработке на платформе .NET. Среди наших докладчиков — ведущие отраслевые эксперты из России, Европы и США. Основные темы конференции — внутренности работы платформы (CLR, GC, JIT), лучшие практики по использованию инструментов, профилирование и оптимизация производительности, многопоточное программирование, нововведения платформы, решения сложных кейсов.


                Под катом — детальный разбор программы, несколько слов о нововведениях этого года и секретный промокод со скидкой.

                Читать дальше →
              • Что общего у разработки программного обеспечения с разработкой настольных игр?

                  Что общего у разработки программного обеспечения с разработкой настольных игр? Об этом лучше всех знает Сергей Milfgard Абдульманов который учился по специальности «математик-системный программист» и владел IT-компанией, а сейчас известен читателям Хабра постами в блоге компании «Мосигра».


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


                  image


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

                  Читать дальше →
                • Числа и буквы: как прошла конференция SmartData



                    Как рассказывать о конференции, где ключевым словом было «данные»? Мы решили, что в тексте о прошедшей в Санкт-Петербурге SmartData интересно сделать подзаголовками конкретные числа. Эти данные получились очень разнородными, нейросеть из них вряд ли что-то полезное извлечёт, а вот вы можете.
                    Читать дальше →
                  • Первый деплой: как прошла конференция DevOops 2017



                      В организации конференций есть свои «dev» и «ops»: для успеха требуется и «разработать» программу из отличных докладов, и «выкатить её на прод». И с любой новой конференцией, как с любым новым софтовым продуктом, многое может пойти не так на обоих этапах. Мы впервые провели DevOops — что там происходило, и не получился ли «упс»? На Хабре уже появился отзыв одного из участников, а теперь мы публикуем свой текст.
                      Читать дальше →
                    • На дворе почти 2018, а мы любим колбэки

                        Если в первый момент идея не кажется абсурдной, она безнадёжна.
                        — Альберт Эйнштейн

                        Мы собрали для вас самые популярные темы из обсуждений Node.js на Хабре, и попросили рассказать о них признанных экспертов: некоммерческого Node-хакера Матиаса Мэдсена и автора множества книг и курсов по Node, Азата Мардана.


                        Вот точный список тем:


                        1. Потоки в Node.js и способы распараллеливания вычислений;
                        2. Асинхронность в Node.js;
                        3. Отладка и логирование в Node.js;
                        4. Проблемы мониторинга производительности на продакшене;
                        5. Инструменты для мониторинга нод.


                          Азат Мардан (Azat Mardan) — Tech Fellow, менеджер в компании Capital One, и эксперт по JavaScript/Node.js с несколькими онлайн-курсами на Udemy и в Node University, а также автор 14 книг по той же тематике, включая «React Quickly» (Manning, 2017), «Full Stack JavaScript» (Apress, 2015), «Practical Node.js» (Apress, 2014) и «Pro Express.js» (Apress, 2014).






                        Читать дальше →
                      • Что такое Spring Cloud и как его готовить – интервью с Евгением Борисовым и Кириллом Толкачёвым

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


                          На эти и другие вопросы ответили в интервью редакции JUG.ru Group спикеры конференции Joker 2017 — Евгений Борисов и Кирилл Толкачёв.


                          Евгений Борисов работает в Naya Technologies. Он разрабатывает на Java с 2001 года, и принял участие в большом количестве Enterprise-проектов. Пройдя путь от простого программиста до архитектора и устав от рутины, он стал свободным художником. Сегодня Женя пишет и проводит курсы, семинары и мастер-классы для различной аудитории: live-курсы по J2EE для офицеров израильской армии, Spring — по WebEx для румын, Hibernate через GoToMeeting для канадцев, Troubleshooting и Design Patterns для украинцев.

                          Кирилл Толкачёв работает в Альфа-Лаборатории. Он разрабатывает различные банковские API. Формирует принципы и наборы инструментов для работы с микросервисной архитектурой. Большой поклонник Groovy, Gradle, Spring и стека технологий Netflix-а. Постоянный резидент подкаста «Разбор Полётов». Методологию DevOps знает не понаслышке и имеет почти двухлетний опыт её применения.

                          Читать дальше →
                        • REST в реальном мире и практика гипермедиа

                            Как правильно построить архитектуру приложения, с учетом специфики REST? Было ли с вами такое, что словом «REST» называют любое HTTP API без разбору — и как донести истинное значение этого термина? Как показать, что преимущества REST проявляются в больших долгосрочных проектах, но для небольшой утилиты лучше взять что-то попроще? Эти и другие животрепещущие вопросы освещает Дилан Битти (Dylan Beattie) в докладе «Real world REST and Hands-On Hypermedia».

                            Дилан — системный архитектор и разрабточик, за жизнь успевший поучаствовать во множестве проектов, от небольших вебсайтов до огромных распределенных систем; от легаси с двадцатилетней историей до самых новейших разработок. Сейчас он работает архитектором в Spotlight и занимается решением сложных задач в современных распределенных системах. Создание правильных, красивых и эффективных HTTP API является частью его работы, и он действительно знает в них толк.

                            Вы сможете встретиться с Диланом вживую на конференции DotNext Moscow 2017, куда он приедет с новым докладом «Life, liberty and the pursuit of APIness: the secret to happy code». Напоминаем, что вы можете купить билеты по вкусной цене вплоть до 31 октября включительно.

                            Эту статью можно либо прочитать в текстовой расшифровке (жмите кнопку «читать дальше» ⇩), либо посмотреть полную видеозапись доклада. Все необходимые для понимания изображения, слайды и диаграммы присутствуют как на видео, так и в текстовой расшифровке, так что вы ничего не потеряете.



                            Комментарии к статье приветствуются и действительно важны — мы постараемся задать ваши лучшие вопросы напрямую Дилану на DotNext Moscow 2017.



                            Читать дальше →
                          • Осенние изменения на Хабре и Geektimes

                              В этой публикации мы хотим рассказать о начавшейся реформе системы категоризации контента на «Хабре» и «Гиктаймс». Процесс изменений будет разбит на два этапа: первый, который мы анонсируем сегодня, и последующий, о котором расскажем далее.


                              Читать дальше →
                            • Как прикрутить нормальный поиск к устаревшему SQL-бэкенду

                                Предположим, нужно собрать персональную информацию, например, дни рождения, имя, пол, количество детей и т.п., а также некоторые маркетинговые данные — как часто пользователи используют кнопки в корзине мобильного приложения и т.п. У нас уже есть приложение на базе SQL, но (как мы увидим дальше) продолжать использовать SQL для поиска — не лучшая идея. Для поиска придется прикрутить какой-то NoSQL движок.

                                Как совместить миры SQL и NoSQL? В этой статье будет несколько живых примеров интеграции продвинутого поискового движка Elasticsearch в устаревшие приложения, работающие с RestX, Hibernate и PostgreSQL/MySQL.

                                Расскажет об этом Дэвид Пилато (David Pilato) — эксперт компании Elastic (это те ребята, что сделали Elasticsearch, Kibana, Beats, and Logstash — то есть, Elastic Stack). У Дэвида есть огромный опыт проведения докладов о продуктах Elastic (конференции Devoxx в Англии, Бельгии и Франции, всевозможные JUG, Web5, Agile France, Mix-IT, Javazone, доклады для конкретных компаний, и так далее). Иначе говоря, излагает Дэвид весьма понятно и доходчиво, а его доклады заменяют тренинги за сотни нефти.

                                В основе этой публикации — доклад Дэвида на конференции Joker 2016, которая прошла в Санкт-Петербурге в минувшем октябре. Тем не менее, обсуждаемые темы за прошедший год никак не потеряли актуальности.

                                Статья доступна в двух вариантах: видеозапись доклада и полная текстовая расшифровка (жмите кнопку «читать дальше»  ⇩). В текстовом варианте все необходимые данные представлены в виде скриншотов, так что вы ничего не потеряете.


                                Читать дальше →
                              • От оптимизаций до Machine Learning: интервью с автором Android High Performance Programming

                                  Почти год назад вышла книга Android High Performance Programming. Книжка классная – но требующая комментариев. Скоро автор прилетит в Россию на конференцию Mobius 2017 Moscow, и с ним можно будет пообщаться вживую. Чтобы скоротать ожидание, давайте пообщаемся с Энрике в формате хабро-интервью.

                                  Java или Kotlin? Как писать быстрый код? Можно ли в мобильном приложении использовать Tensorflow и другое машинное обучение? Срочно жмите кнопку «читать дальше»! ⇩

                                  Итак, в гостях у нас
                                  Enrique López Mañas (Энрике Лопес Маньяс) — независимый IT-консультант и разработчик, обладатель звания Android Google Developer Expert. Занимается мобильными технологиями и программированием более 10 лет, входит в десятку самых активных в Германии участников сообщества Java Open Source. Последнее время «заболел» Big Data и ML-технологиями, о чем мы с ним тоже сейчас кратко поговорим.


                                  Читать дальше →
                                  • +24
                                  • 6,7k
                                  • 7
                                • DevOps в Сбербанк-Технологиях. Инструментальный стандарт

                                    В этой статье пойдет речь об организации инструментального стека DevOps на примере Сбербанк-Технологий и ППРБ. Статья предназначена для инженеров по автоматизации инфраструктуры, которым необходима объективная оценка структуры работ по внедрению DevOps — и для всех, кто хочет ознакомиться с их работой.

                                    Читать дальше →
                                  • Практическое руководство по анализу производительности приложений

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

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



                                      В основе статьи — выступление Саши на конференции DotNext 2017 Piter. Саша работает техническим директором израильской тренинговой и консалтинговой компании Sela и не понаслышке знает, как проводить анализ производительности. Как его лучше начинать, чем завершать, какие инструменты стоит использовать, а каких избегать, читайте под катом.
                                      Читать дальше →
                                    • Моноиды, полугруппы и все-все-все

                                      • Перевод

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


                                      Mark Seeman расскажет о функциональном программировании просто и быстро. Для этого он начал писать цикл статей, посвященных связи между паттернами проектирования и теорией категорий. Любой ООПшник, у которого есть 15 минут свободного времени, сможет заполучить в свои руки принципиально новый набор идей и инсайтов, касающихся не только функциональщины, но и правильного объектно-ориентированного дизайна. Решающим фактором является то, что все примеры — это реальный код на C#, F# и Haskell. Этот хабрапост — перевод самого начала цикла, первых трех статей, слитых воедино для удобства понимания.


                                      Кроме того, с Марком можно пообщаться вживую, посетив конференцию DotNext 2017 Moscow, которая состоится 12-13 ноября 2017 г. в Москве, в «Славянская Рэдиссон». Марк прочитает доклад на тему «From dependency injection to dependency rejection». Билеты можно взять здесь.

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