company_banner
  • В десктопном Linux всё ещё больно

      25 августа 1991-го Линус Торвальдс впервые сообщил миру, что работает над новой ОС. Если отсчитывать от этого, то позавчера Linux исполнилось 30 лет, так что можно подвести какие-то итоги: скоро ли настанет «год линукса на десктопе»?

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

      Я уже почти десять лет не использовал Linux в качестве основной системы, поэтому подумал: может, действительно напраслину возвожу, а всё уже изменилось и с форумами больше никогда не сталкиваешься? Может, наконец можно смело рекомендовать линукс родственникам без личного контроля над установкой?

      Захотелось хотя бы бегло глянуть. Тут ещё и повод подвернулся: помогал другому человеку выбрать ноутбук, и он был не против установки линукса. В общем, глянул. И быстро испытал столько ярких ощущений, что написал этот пост.

      Читать далее
    • Школы юнит-тестирования

        Существуют две основные школы юнит-тестирования: классическая (ее также называют школой Детройта, или Чикаго) и лондонская (ее также называют мокистской школой, от слова mock).

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

        Читать далее
      • Что стоит знать при переходе на Mac

          Вчера на Хабре вызвал шумиху пост об ужасных неудобствах Mac. В комментариях много было сказано о неинтуитивности macOS: мол, зачастую без гугления не поймёшь, как что-то сделать. И даже не узнаешь, что это вообще возможно сделать. И всё это значит, что с UX что-то не так.

          Тут возникает вопрос «а поняли бы мы Windows без гугления, если бы не были знакомы с ней с детства?» Но я хочу не ввязываться в бесконечные споры «какая ОС лучше» а подойти конструктивнее. Действительно, при переходе с Windows возникает ряд неинтуитивных моментов. И чтобы при этом не приходилось гуглить кучу разных вопросов или читать длиннющие пользовательские руководства, я решил описать в одном тексте самые главные вещи, которые приходят мне в голову.

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

          Читать далее
        • Эффективный поиск XSS-уязвимостей


            Про XSS-уязвимости известно давным-давно — казалось бы, нужен ли миру ещё один материал о них? Но когда Иван Румак, занимающийся тестированием безопасности, поделился методологией их поиска на нашей конференции Heisenbug, реакция зрителей оказалась очень положительной.


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


            Под катом — и текст, и видео. Далее повествование идет от лица Ивана.

          • Чистый девопс: как возникло и развивалось понятие «DevOps»

              В интернете есть уже тысячи споров о том, чем является DevOps. Мы решили подойти иначе: не навязывать вам точку зрения «понимайте это слово так-то», а оглянуться в прошлое и проследить историю его возникновения. Что привело к появлению DevOps? Какие люди первыми стали употреблять это слово и что они под ним подразумевали? Что изменилось за это время, а что осталось неизменным? И что там дальше?

              А разобравшись со всем этим, в итоге можно обнаружить, что теперь и на вопрос «что такое DevOps» отвечаешь себе более четко.

              Читать далее
              • +20
              • 8,7k
              • 7
            • Продвинутое руководство по nullable reference types

                Одно из самых больших изменений в C# 8 — это nullable reference types. Ранее Андрей Дятлов (JetBrains) рассказал на конференции DotNext о трудностях и проблемах, которые вы можете встретить при работе с ними. Доклад понравился зрителям, поэтому теперь для Хабра готова его текстовая версия.



                Наиболее полезным пост будет для тех, кто планирует использовать nullable reference types в больших проектах, которые невозможно перевести на использование NRT и проаннотировать целиком за короткое время; проектах, в которых используются собственные решения для ассертов или исключений, либо методы со сложными контрактами, связывающими наличие null во входных и выходных значениях, так как эти методы придется аннотировать для корректной работы компилятора с ними.


                Я оставляю ссылку на оригинальный доклад. Дальше повествование пойдет от лица Андрея Дятлова, а пока что последний момент от меня: мы уже вовсю готовим осенний DotNext, и до 16 августа включительно принимаем заявки на доклады, так что если вам тоже есть о чем поведать дотнетчикам, откликайтесь.

                • +17
                • 5,3k
                • 6
              • Взлом и внедрение своего кода в чужое iOS-приложение


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


                  На нашей конференции Mobius разработчик Мурад Татаев рассказывал о взломе iOS-приложений — и о том, что разработчики могут делать для защиты от него. А теперь мы расшифровали этот доклад (видеозапись также прилагаем). Далее повествование идёт от лица спикера.

                • Обзор технологий хранения больших данных. Плюсы, минусы, кому что подойдет

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

                    На нашей конференции SmartData ведущий разработчик в Яндексе Максим Стаценко рассказал про плюсы и минусы различных решений для хранения данных: облака или железо, Hadoop, Vertica, ClickHouse, Exasol, Greenplum, Teradata и не только.

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

                    Видео и расшифровка доклада — под катом. Далее повествование будет от лица Максима.

                    Читать далее
                  • Отойти от IT: куда расти, когда код ради кода больше не интересен


                      Интернет завален статьями «как войти в IT и начать писать код», но куда реже говорят о том, как перестать его писать. Что делать, если больше не хочется весь день смотреть в IDE, но и в тимлиды не тянет? Конечно, можно освоить свиноводство, но есть ли сферы, где пригодится уже полученный опыт? Куда можно свернуть «в сторону» от разработки, и какие скиллы для этого понадобятся?


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


                      Читать дальше →
                    • Миру нужны фуллстек-крафтсмены


                        Спор «фуллстек против узкой специализации» вечный. Но одно дело — спорить в комментах, а совсем другое — создать собственную компанию и проверить экстремальный подход на практике. Антон Кекс пошел по этому пути: стал сооснователем компании Codeborne, где разработкой занимаются исключительно «фуллстек-крафтсмены» и практикуется экстремальное программирование. И по его словам, там командами из 2-4 человек получается сделать то, на что другим требуется человек 50.


                        Он подробно рассказал об этом на нашей конференции JPoint. Обычно на наших мероприятиях не услышишь слово «agile», потому что о методологиях много пустословия, а мы любим конкретику, код и хардкор. Но поскольку Антон не диванный теоретик, а обладатель большого нестандартного опыта, это как раз хардкор и ценная информация.


                        Можно не соглашаться с его позицией, но как минимум ознакомиться с ней полезно. И хотя доклад сделан еще пару лет назад, в 2021-м он продолжает собирать просмотры, поэтому мы решили сделать для Хабра текстовую версию. Под катом — и видеозапись, и текстовая расшифровка. Дальше повествование ведется от лица Антона.

                        Читать дальше →
                      • Джоэл Спольски — блогер, предприниматель, программист

                          Джоэл Спольски, пожалуй, один из самых известных айтишных блогеров. Переводов статей из его блога Joel on Software на Хабре было множество, и наверняка кто-то из вас читал его книги «Джоэл о программировании», «Лучшие примеры разработки ПО» и «Руководство по UI дизайну для программистов».

                          Может, вы что-то слышали про дырявые абстракции, тест Джоэла и алгоритм маляра. А если нет, то сайт Stack Overflow уж точно знаете — так вот, это дело рук Джоэла Спольски, так же, как и канбан-инструмент Trello и… отчасти MS Excel. Да, Джоэл поработал и над ним. В общем, настоящий человек-оркестр, который поучаствовал во многих проектах, и останавливаться не собирается.

                          IT-сообщество должно знать своих героев, поэтому предлагаем вам окунуться в лихие 2000-е и почитать захватывающую биографию мистера Спольски. А еще в 2020 году Джоэл выступал на нашей конференции JPoint и поведал нам кое-что интересное, о чем расскажем в посте. 

                          Читать далее
                          • +42
                          • 5,7k
                          • 8
                        • IntelliJ productivity tips — Секреты самых быстрых разработчиков планеты


                            Знать свою машину нужно хотя бы для того, чтобы не стрессовать, если на улице пойдет дождь, а вы не умеете включать дворники. С IntelliJ работает тот же принцип: чтобы быстро и удобно работать, оставаясь в потоке, нужно овладеть кое-какой магией. К счастью, JetBrains позаботились о горячих клавишах — осталось только научиться правильно их применять.


                            Виктор Рента в своем докладе на JPoint 2021 рассказал о полезных функциях и горячих клавишах IntelliJ, которые могут заметно ускорить ваш кодинг. Следите за руками! Расшифровка доклада и запись — под катом.

                            Читать дальше →
                            • +19
                            • 7,1k
                            • 8
                          • «Двойной плюс»: биография создателя С++ Бьярне Страуструпа

                              Можно не любить язык C++, можно даже не знать о его существовании, но вот не пользоваться софтом на нём — это, наверное, получится только в пещере. C++ есть в операционных системах и браузерах, автомобилях и банкоматах, сервисах вроде YouTube и программах вроде Photoshop. Получается, всё человечество каждый день взаимодействует с тем, что когда-то создал один конкретный человек.

                              Ранее мы публиковали интервью, которое Бьярне Страуструп дал на нашей конференции C++ Russia. А теперь решили, что и описать биографию такого человека никогда не будет лишним.

                              Читать далее
                              • +21
                              • 8,1k
                              • 3
                            • Первый доклад на конференции: плюсы, минусы, подводные камни? Интервью с ПК HolyJS


                                Сколько раз ты сам, %username%, задумывался о том, чтобы выступить в качестве спикера? Хотя бы раз такое наверняка было. Но что-то тебя тогда остановило.


                                Весь процесс подготовки и подачи доклада со стороны выглядит черным ящиком, куда не каждый решится сунуть руку — а вдруг откусит по локоть? Не откусит, уверяем тебя. На каждой нашей конференции выступает много новичков, которые в какой-то момент решились и таки нажали кнопку «отправить заявку».


                                Основная точка входа — программный комитет: именно они отбирают заявки на участие в конференции, общаются с будущим спикером и вообще отвечают за то, что и в каком виде услышат участники. Поэтому о том, что стоит знать начинающему, мы расспросили участников ПК HolyJS. Они рассказали, что происходит с докладом в процессе обработки, чем они могут помочь спикеру и чего точно НЕ надо делать, когда хочешь выступить на конференции. Где-то их мнения разошлись, но так даже интереснее.

                                Читать дальше →
                              • С++ на практике


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


                                  Антон Полухин (antoshkka), состоящий в комитете по стандартизации C++ и работающий в «Яндекс.Такси», рассказал обо всём этом в докладе «C++ на практике». Сам доклад появился ещё в 2019-м, и с выходом C++20 что-то изменилось, но главные тезисы и вывод остались актуальны. Поэтому теперь, готовя новую конференцию C++ Russia 2021, мы решили сделать для Хабра пост на основе этого доклада. Под катом — и текст, и видеозапись. Далее повествование идёт от лица Антона.

                                  Читать дальше →
                                • Да, опять онлайн: анонс восьми осенних конференций от JUG Ru Group


                                    Пришло время анонсировать 8 наших конференций, уже хорошо знакомых хабравчанам. Мы распределили даты так, чтобы каждую неделю проходило по одной — получился двухмесячный «осенний марафон»:


                                    • Heisenbug (тестирование): 5-7 октября
                                    • SmartData (data engineering): 11-14 октября
                                    • DotNext (.NET): 18-21 октября
                                    • Joker (Java): 25-28 октября
                                    • HolyJS (JavaScript): 2-5 ноября
                                    • DevOops (девопс): 8-11 ноября
                                    • C++ Russia (C++): 15-18 ноября
                                    • Mobius (мобильная разработка): 22-25 ноября

                                    Под катом — ответы на главные вопросы. Почему снова онлайн? Что там будет? Есть ли абонемент на весь сезон? Можно ли выступить с докладом? Что известно о программе и как меняется цена билетов?

                                    Читать дальше →
                                    • +18
                                    • 1,4k
                                    • 6
                                  • Онлайн-конференция KasperskyOS Night: доклады о нестандартных задачах

                                      Во всём мире найдётся немного компаний, разрабатывающих свою ОС с нуля (то есть не просто вариант Linux). Поэтому у каждой из них есть что рассказать: там занимаются задачами, с которыми обычный прикладной разработчик не сталкивается. Слушать их рассказы можно и из теоретического интереса («а как у вас всё внутри устроено?»), и из практического: «а как писать приложения под вашу ОС и что это мне даст?»

                                      В России такой компанией стала «Лаборатория Касперского», где работают над безопасной системой KasperskyOS. Своим опытом команда делится на онлайн-конференции KasperskyOS Night, в предыдущий раз она проходила зимой, а 7-8 июля грядёт летняя версия. Поэтому в этом тексте «два в одном»: сначала видеозаписи зимних выступлений, а затем полная программа нового мероприятия.

                                      Читать далее
                                    • Apache Ignite 3: распределённая БД своими руками, next level

                                        «В теории нет разницы между теорией и практикой. А на практике есть»
                                        Йоги Берра

                                        Распределённые системы — это вообще интересная и непростая тема, мы по ней проводим целую конференцию Hydra. А у опенсорсного проекта Apache Ignite (и его коммерческой версии GridGain) есть ещё и своя интересная специфика: эта база данных добивается производительности с помощью in-memory computing, помещая данные в оперативную память.

                                        Сейчас компания GridGain готовит новые версии Apache Ignite 3 и GridGain 9. А ещё она недавно поучаствовала в Hydra, и в связи с этим мы решили спросить её: как выглядит работа над этими новыми версиями? C какими вопросами приходится сталкиваться, когда делаешь распределённую БД? Ответ компании — под катом.

                                        Читать далее
                                      • Обзор программы Hydra 2021: введение в хардкор


                                          До конференции по распределённым системам Hydra осталось менее трёх недель, программа уже готова, и пришло время рассказать о ней Хабру. Под катом — описания всех докладов, а для начала скажем общее:


                                          • Конференция объединяет IT-индустрию и академический мир: среди спикеров есть и авторы научных статей, и те, у кого результаты этих статей используются в продакшне.
                                          • В этот раз, кроме докладов, в программе три продолжительных воркшопа. Так что будут не только рассуждения со слайдами, но и наглядная практическая работа.
                                          • В программе есть и про distributed, и про concurrency, но перевес в сторону распределённого. Зато все воркшопы актуальны для тех, кто ближе к параллельному программированию.
                                          • Конференция в целом англоязычная, на русском будет только один доклад.
                                          • Такая конференция неизбежно хардкорная, но несколько докладов будут в формате «введения» и не требуют предварительной подготовки. Впрочем, немногие готовы вникать в эти темы даже на поверхностном уровне. Так что это, скажем так, «введение в хардкор»!
                                          Читать дальше →
                                        • Jenkins, покрытие кода, байткод и девопс: что будет на Luxoft TechFest #4

                                            3 июня на онлайн-митапе Luxoft TechFest #4 можно будет послушать три доклада по Java/DevOps. Под катом их полные описания и другая информация о мероприятии, а сначала суть вкратце для тех, кто торопится:

                                            Олег Ненашев разрабатывает Jenkins. И расскажет, как в 2021-м правильнее анализировать code coverage с его помощью.

                                            Евгений Мандриков разрабатывает JaCoCo (инструмент опять же для code coverage). А поговорит о том, как компиляторы Java/Scala/Kotlin преобразуют исходный код и в чём разница полученного от них байткода.

                                            Александр Селезнев уже четыре года вовлечён в DevOps. Есть много докладов о том, как надо применять DevOps, а здесь речь пойдёт о том, как НЕ надо и к каким провалам это может приводить.

                                            Читать далее

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