Как стать автором
Обновить
0
@DFoozread⁠-⁠only

Пользователь

Отправить сообщение

10 сайтов для поиска работы в Европе

Время на прочтение2 мин
Количество просмотров324K
Поиск работы – задача не из простых, особенно в текущих неблагоприятных экономических условиях. Европейский ресурс Tech.eu в честь запуска своего сервиса по поиску работы подготовил список из десяти сайтов, которые помогут вам подыскать себе место под европейским солнцем, если вы, по какой-либо причине, желаете уехать на заработки в ЕС.
Завожу трактор
Всего голосов 26: ↑23 и ↓3+20
Комментарии35

Плохо документированные особенности Linux

Время на прочтение8 мин
Количество просмотров67K
Привздохнув, произнесла:
«Как же долго я спала!»
image Когда-то, впервые встретив Unix, я был очарован логической стройностью и завершенностью системы. Несколько лет после этого я яростно изучал устройство ядра и системные вызовы, читая все что удавалось достать. Понемногу мое увлечение сошло на нет, нашлись более насущные дела и вот, начиная с какого-то времени, я стал обнаруживать то одну то другую фичу про которые я раньше не знал. Процесс естественный, однако слишком часто такие казусы обьединяет одно — отсутствие авторитетного источника документации. Часто ответ находится в виде третьего сверху комментария на stackoverflow, часто приходится сводить вместе два-три источника чтобы получить ответ на именно тот вопрос который задавал. Я хочу привести здесь небольшую коллекцию таких плохо документированных особенностей. Ни одна из них не нова, некоторые даже очень не новы, но на каждую я убил в свое время несколько часов и часто до сих пор не знаю систематического описания.

Все примеры относятся к Linux, хотя многие из них справедливы для других *nix систем, я просто взял за основу самую активно развивающуюся ОС, к тому же ту, которая у меня перед глазами и где я могу быстро проверить предлагаемый код.

Обратите внимание, в заголовке я написал «плохо документированные» а не «малоизвестные», поэтому тех кто в курсе прошу выкладывать в комментариях ссылки на членораздельную документацию, я с удовольствием добавлю в конце список.
Читать дальше →
Всего голосов 103: ↑102 и ↓1+101
Комментарии104

CxxMock — Mock-объекты в C++

Время на прочтение5 мин
Количество просмотров19K
Если вы верите в Agile и разработка через тестирование для вас является нормой, а не какой-то непонятной практикой, но наверное столкнулись с такой нехорошей проблемой как организацией тестирования объектов которые используют другие объекты через интерфейсы на C++.

Если для .NET есть замечательная библиотека Rhino.Mocks, которой достаточно «скормить» интерфейс и вы получаете возможность программирования поведения методов интерфейса прямо в модульном тесте. То для С++ все сильно сложнее, так как нет замечательного рефлекшена который позволяет строить код во время исполнения. И приходится писать объекты-заглушки вручную. И в случае изменения интерфейса приходится не только обновлять все классы в приложении но обновлять весь набор «одноразовых» классов заглушек реализующих интерфейс которые применяются в тестах.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии6

NGINX изнутри: рожден для производительности и масштабирования

Время на прочтение8 мин
Количество просмотров146K
NGINX вполне заслуженно является одним из лучших по производительности серверов, и всё это благодаря его внутреннему устройству. В то время, как многие веб-серверы и серверы приложений используют простую многопоточную модель, NGINX выделяется из общей массы своей нетривиальной событийной архитектурой, которая позволяет ему с легкостью масштабироваться до сотен тысяч параллельных соединений.

Инфографика Inside NGINX сверху вниз проведет вас по азам устройства процессов к иллюстрации того, как NGINX обрабатывает множество соединений в одном процессе. Данная статья рассмотрит всё это чуть более детально.
Поехали!
Всего голосов 93: ↑93 и ↓0+93
Комментарии32

Добавить системный вызов. Часть 4 и последняя

Время на прочтение10 мин
Количество просмотров9K
                                                                                    - Что-то беспокоит меня Гондурас...
                                                                                    - Беспокоит? А ты его не чеши.


В предыдущих частях обсуждения (1-я, 2-я и 3-я) мы рассматривали как, используя возможность поменять содержимое sys_call_table, изменить поведение того или иного системного вызова Linux. Сейчас мы продолжим эксперименты в сторону того, можно ли (и как) динамически добавить новый системный вызов в целях вашего программного проекта.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии24

Делаем доступным все символы ядра Linux. Часть 1

Время на прочтение11 мин
Количество просмотров30K

Состояние дел


Это обсуждение относится к ядру операционной системы Linux, и представляет интерес для разработчиков модулей ядра, драйверов под эту операционную систему. Для всех прочих эти заметки вряд ли представляют интерес.
Читать дальше →
Всего голосов 31: ↑22 и ↓9+13
Комментарии28

Модификация системного вызова. Часть 2

Время на прочтение6 мин
Количество просмотров16K
В предыдущей части мы договорились до того, что не экспортируемые имена ядра Linux могут использоваться в коде собственных модулей ядра с тем же успехом, что и экспортируемые. Одним из таких имён в ядре является селекторная таблица всех системных вызовов Linux. Собственно, это и есть основной интерфейс любых приложений к сервисам ядра. Теперь мы рассмотрим как можно модифицировать оригинальный обработчик любого системного вызова, подменить его, или внести разнообразие в его выполнение в соответствии с собственным видением.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии32

Сетевые системные вызовы. Часть 3

Время на прочтение11 мин
Количество просмотров21K
Предыдущую часть обсуждения мы завершили на такой вот оптимистической ноте: «Подобным образом мы можем изменить поведение любого системного вызова Linux». И тут я слукавил — любого… да не любого. Исключение составляют (могут составлять) группа сетевых системных вызовов, работающих с BSD сокетами. Когда сталкиваешься с этим артефактом в первый раз — это изрядно озадачивает.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии2
12 ...
53

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность