Как мы две недели охотились на баг NFS в ядре Linux

Автор: admin от 12-12-2018, 12:55, посмотрело: 13

Подробное описание поисков бага из задачи GitLab, которые привели к патчу для ядра Linux



14 сентября служба поддержки GitLab сообщила о критической проблеме, которая возникла у одного из наших клиентов: сначала GitLab работает нормально, а потом у пользователей возникает ошибка. Они пытались клонировать некоторые репозитории через Git, и вдруг появлялось непонятное сообщение об устаревшем файле: Stale file error. Ошибка сохранялась надолго и не давала работать, пока системный администратор вручную не запускал ls в самом каталоге.



Пришлось изучать внутренние механизмы Git и сетевой файловой системы NFS. В итоге мы нашли баг в клиенте Linux v4.0 NFS, Тронд Мюклебуст (Trond Myklebust) написал патч для ядра, и с 26 октября этот патч входит в основное ядро Linux.



В этом посте я расскажу, как мы изучали проблему, в каком направлении думали и какие инструменты использовали, чтобы отследить баг. Мы вдохновлялись отличной детективной работой Олега Дашевского, описанной в посте «Как я две недели охотился за утечкой памяти в Ruby».



Как мы две недели охотились на баг NFS в ядре Linux

Категория: Linux

 

19 декабря, Москва — OpsFormations

Автор: admin от 12-12-2018, 12:05, посмотрело: 8

Приглашаем вас на последний в этом году митап. В этот раз — для разработчиков ПО, инженеров инфраструктуры и администраторов.



Локация — Corporate Innovations Hub (Москва, ул. Большая Полянка, д.2/10, стр. 1).

Время — 19 декабря (среда), 19.00.



19 декабря, Москва — OpsFormations



Вход, как всегда, бесплатный (после регистрации).



Доклады и ссылка на мероприятие — под катом.

Категория: Системное администрирование, Веб-разработка

 

Явные возможности JavaScript

Автор: admin от 12-12-2018, 11:10, посмотрело: 11

Явные возможности JavaScript



Начитывая очередную статью про малоизвестные фичи языка javascript и втихую пописывая какие-то невменяемые решения в консоли браузера, я часто проговариваю в голове мол ну на проде то конечно все не так!? Ведь язык давно обзавелся огромнейшим комьюнити и имеет удивительно широкий охват промышленной разработки. Раз так, то почему же мы часто забываем про его возможность быть понятным для каждого и буквально пропагандируем все эти специфичные и "запоминаемые" конструкции? Just make it Obvious!

Категория: Microsoft

 

Иерархическое внедрение зависимостей в React и MobX State Tree в качестве доменной модели

Автор: admin от 12-12-2018, 11:10, посмотрело: 10

Иерархическое внедрение зависимостей в React и MobX State Tree в качестве доменной модели Довелось мне как-то после нескольких проектов на React поработать над приложением под Angular 2. Прямо скажем, не впечатлило. Но один момент запомнился — управление логикой и состоянием приложения с помощью Dependency Injection. И я задался вопросом, удобно ли управлять состоянием в React используя DDD, многослойную архитектуру, и внедрение зависимостей?



Если интересно, как это сделать, а главное, зачем — добро пожаловать под кат!

Категория: Microsoft

 

Microsoft Connect(); 2018: все анонсы конференции

Автор: admin от 12-12-2018, 11:10, посмотрело: 14

Привет, Хабр! Совсем недавно прошла конференция Connect(); 2018, на которой было сделано много интересных анонсов в областях мобильной разработки, веб-разработки, интернета вещей, искусственного интеллекта, машинного обучения, когнитивных сервисов, аналитики, вычислений, контейнеров, баз данных и интеграции. Под катом вы найдете список этих анонсов!



Microsoft Connect(); 2018: все анонсы конференции

Категория: Microsoft

 

Подборка @pythonetc, ноябрь 2018

Автор: admin от 12-12-2018, 10:55, посмотрело: 13

Подборка @pythonetc, ноябрь 2018


Это шестая подборка советов про Python и программирование из моего авторского канала @pythonetc.



Предыдущие подборки:




  • Октябрь 2018

  • Сентябрь 2018

  • Август 2018

  • Июль 2018

  • Июнь 2018

Категория: iOS

 

Обзор пяти HTTP-библиотек для веб-разработки

Автор: admin от 12-12-2018, 10:55, посмотрело: 9

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



Обзор пяти HTTP-библиотек для веб-разработки



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



Материал, перевод которого мы сегодня публикуем, посвящён анализу пяти популярных инструментов для работы с HTTP: Axios, Request, Superagent, Fetch и Supertest.

Категория: Веб-разработка, iOS

 

Как написать отличную ленту новостей ВКонтакте за 20 часов

Автор: admin от 12-12-2018, 09:50, посмотрело: 13

Всем привет! Недавно прошёл конкурс от ВКонтакте Mobile Challenge, и моя работа заняла призовое место. По заданию второго этапа необходимо было разработать ленту новостей для мобильных устройств, а главными критериям оценки были плавность скроллинга и загрузки постов. Ещё когда участвовал решил, что вне зависимости от конечного результата, попробую написать статью о подходе к реализации ленты и о своих эмоциях и переживаниях во время конкурса. Что я и сделал. Под катом советы и рекомендации по разработке новостной ленты в режиме сторителлинга.



Как написать отличную ленту новостей ВКонтакте за 20 часов

Категория: Веб-разработка, iOS

 

PlayStation Classic взломали, теперь игры можно запускать с флешки

Автор: admin от 12-12-2018, 00:35, посмотрело: 18

PlayStation Classic взломали, теперь игры можно запускать с флешки
Фрагмент материнской платы включенной консоли



На Хабре уже писали о PlayStation Classic, представляющую собой аппаратный эмулятор PlayStation One. К сожалению, количество игр, вшитое разработчиками приставки в ее память, ограничено 20 тайтлами. Но уже нашлись умельцы, которые убрали этот лимит и научили приставку работать с флешкой — игры можно загружать прямо с накопителя.



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

Категория: Железо

 

Прототипы: как создать успешный продукт и сэкономить

Автор: admin от 11-12-2018, 18:15, посмотрело: 22

Прототипы: как создать успешный продукт и сэкономить


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



Недавно, прогуливаясь по Москве, вспомнил о стартапе и решил проверить его лично. Но уже через 15 минут понял, что шансов взять самокат в аренду нет, а рейтинг 1.5 в AppStore полностью оправдан и подтверждает, что сложности не только у меня.



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



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



Из статьи вы узнаете:




  • Что такое прототипы

  • Как сделать первоклассный прототип

  • Как отличить хороший прототип от плохого

  • Как сэкономить бизнесу $25 000

Категория: Программирование