Файл дескриптор в Linux с примерами

Автор: admin от 10-10-2019, 21:15, посмотрело: 32

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

Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место.

Тогда интервьюер спросил, а что если на разделе нет свободного места, но и файлов, которые бы занимали все место, ты тоже не видишь?

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

Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?

«окей», — ответил я, «мы можем выключить дебаг в конфиге приложения и перезапустить его».

Интервьюер возразил: «Нет, приложение мы перезапустить не можем, у нас в памяти все еще хранятся важные данные, а к самому сервису подключены важные клиенты, которых мы не можем заставлять переподключаться заново».

«ну хорошо», сказал я, «если мы не можем перезапускать приложение и данные нам не важны, то мы можем просто очистить этот открытый файл через файл дескриптор, даже если мы его не видим в команде ls на файловой системе».

Интервьюер остался доволен, а я нет.

Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?

Категория: Linux

 

Интервью с веб-разработчиком Pornhub

Автор: admin от 10-10-2019, 20:30, посмотрело: 27

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



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



Цель: узнать о технологиях и новинках в области работы с веб-API и, конечно же, как все это реализовано в рамках Pornhub. Наслаждайтесь!



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

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

 

F#9: Тип Option

Автор: admin от 10-10-2019, 19:10, посмотрело: 13

Если в C# есть понятие null для ссылочных типов и Nullabe для структур. Это может принять одну из следующих 2 форм (для демонстрации я использую тип int здесь, но тип может быть любой структурой).




  • Nullable

  • int?

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

 

Can I haz? Рассматриваем ФП-паттерн Has

Автор: admin от 10-10-2019, 16:35, посмотрело: 15

Привет, Хабр.



Сегодня мы рассмотрим такой ФП-паттерн, как Has-класс. Это довольно любопытная штука по нескольким причинам: во-первых, мы лишний раз убедимся, что паттерны в ФП таки есть. Во-вторых, оказывается, что реализацию этого паттерна можно поручить машине, что вылилось в довольно любопытный трюк с тайпклассами (и библиотеку на Hackage), который лишний раз демонстрирует практическую полезность расширений системы типов вне Haskell 2010 и ИМХО куда интереснее самого этого паттерна. В-третьих, повод для котиков.



Can I haz? Рассматриваем ФП-паттерн Has



Однако начать, пожалуй, стоит всё же с описания того, что же такое Has-класс, тем более, что какого-то краткого (и, тем более, русскоязычного) описания сходу не нашлось.



Итак, как в хаскеле решается проблема управления некоторым глобальным окружением, доступным только для чтения, которое необходимо нескольким различным функциям? Как, например, выражается глобальная конфигурация приложения?

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

 

Как простой тэг может стать высоким риском для бизнеса?

Автор: admin от 10-10-2019, 16:35, посмотрело: 19

Безопасность на реальных примерах всегда интересна.



Сегодня поговорим об SSRF атаке, когда можно заставить сервер делать произвольные запросы в Интернет через img тэг.



Как простой тэг может стать высоким риском для бизнеса?



Итак, недавно занимался тестированием на проникновение одновременно на двух проектах, сразу на двух эта уязвимость и выявилась. Скриншоты взяты прямо из отчетов, потому вся лишняя информация замазана.



ОПИСАНИЕ АТАКИ

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

 

Задачи, которые решают программные роботы (RPA) в банковском секторе

Автор: admin от 10-10-2019, 16:35, посмотрело: 16

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



По данным консалтинговой компании Gartner, выручка от программного обеспечения RPA в 2018 году выросла на 63 % до 846 млн.$, что делает его самым быстрорастущим рынком корпоративного программного обеспечения. В этом году прогнозируется, что рынок RPA достигнет 1,3 млд. $.

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

 

Рекомендации по запуску Buildah внутри контейнера

Автор: admin от 10-10-2019, 16:35, посмотрело: 17

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



Рекомендации по запуску Buildah внутри контейнера



Многих привлекает идея выполнять сборку контейнерных OCI-образов в рамках Kubernetes или подобной системы. Допустим, у нас есть CI/CD, которая постоянно собирает образы, тогда что-то типа Red Hat OpenShift/Kubernetes было бы весьма полезно с точки зрения распределения нагрузки при сборке. До недавних пор большинство людей просто давали контейнерам доступ к Docker-сокету и разрешали выполнять команду docker build. Мы уже несколько лет назад показывали, что это очень небезопасно, фактически, это даже хуже, чем давать беспарольный root или sudo.
: Рекомендации по запуску Buildah внутри контейнера

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

 

Почему для нового проекта я взял Robot Framework

Автор: admin от 10-10-2019, 16:35, посмотрело: 14

Недавно я сменил проект — пришел в новую разработку, где до меня не было никакого тестирования, ни ручного, ни автоматического. Условий на инструментарий (за исключением того, что это Python) заказчик не накладывал, так что я сделал собственный выбор. В этой статье я расскажу, почему в таких условиях предпочел Robot Framework. А в конце будет немного специально написанных под статью примеров, иллюстрирующих, о чем речь.



Почему для нового проекта я взял Robot Framework

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

 

Facebook ставит на то, что следующим популярным интерфейсом будет разговор

Автор: admin от 10-10-2019, 14:25, посмотрело: 18

Пока боты неспособны беседовать так, как люди. Но исследователи ИИ из Facebook уже активно проникают в эту область; это может серьёзно повлиять на мессенджеры компании, и не только



Facebook ставит на то, что следующим популярным интерфейсом будет разговор


В 2015 году чатботы были очень популярной темой. Одним из наиболее раскрученных был M от Facebook, который, по задумкам компании, должен был стать гибким ботом общего назначения, способным на очень многое – заказ товаров, доставку подарков, резервирование столиков в ресторане и планирование путешествий. Однако шумиха оказалась слишком громкой для полученного результата. Когда Facebook проверила своего М на 2500 человек из области залива Сан-Франциско, программа не справилась с большинством порученных ей задач.

Категория: Facebook

 

Astra Linux «Орел» Common Edition: есть ли жизнь после Windows

Автор: admin от 10-10-2019, 13:10, посмотрело: 30

Astra Linux — дериватив Debian, который был создан в рамках российской инициативы перехода на СПО. Существует несколько версий Astra Linux, одна из которых предназначена для общего, повседневного использования — Astra Linux «Орел» Common Edition. Российская операционка для всех — это по определению интересно, и я хочу рассказать об «Орле» с позиции человека, который ежедневно пользуется тремя операционными системами (Windows 10, Mac OS High Sierra и Fedora) и при этом последние 13 лет был верен Ubuntu. Опираясь на этот опыт, я рассмотрю систему с точки зрения установки, интерфейсов, ПО, базовых возможностей для разработчиков и удобства с разных ракурсов. Как покажет себя Astra Linux в сравнении с более распространенными системами? И сможет ли она заменить Windows дома?



Astra Linux «Орел» Common Edition: есть ли жизнь после Windows

Категория: Linux