Pull to refresh
3
0
Стас Денисов @nxrighthere

Разработчик

Send message

Какие вопросы задать работодателю на собеседовании?

Reading time 3 min
Views 167K

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

Я составил 50 самых важных вопросов будущему работодателю, которые ты обязан задать на собеседовании.

Читать далее
Total votes 26: ↑24 and ↓2 +22
Comments 18

Epic Games раздаёт разработчикам $100 млн

Reading time 3 min
Views 9.1K


Аттракцион невиданной щедрости устроила компания Epic Games, объявив о раздаче грантов на рекордную сумму $100 млн. На безвозмездное финансирование по программе Epic MegaGrants могут претендовать разработчики, цифровые художники, студенты, преподаватели, школы и т. д. Формально даже необязательно использовать набор инструментов Unreal Engine 4, достаточно участвовать в 3D-проектах open source.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 9

Связь между C# и C#: REST, gRPC и все, что между

Reading time 10 min
Views 32K
Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняшний день технологии и почему они так широко используются. Мы поговорим о REST, gRPC и всем, что между ними.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 11

F# меня испортил, или почему я больше не хочу писать на C#

Reading time 13 min
Views 65K

Раньше я очень любил C#


Это был мой основной язык программирования, и каждый раз, когда я сравнивал его с другими, я радовался тому, что в свое время случайно выбрал именно его. Python и Javascript сразу проигрывают динамической типизацией (если к джаваскрипту понятие типизации вообще имеет смысл применять), Java уступает дженериками, отстутствием ивентов, value-типов, вытекающей из этого карусели с разделением примитивов и объектов на два лагеря и зеркальными классами-обертками вроде Integer, отсутствием пропертей и так далее. Одним словом — C# клевый.


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


А потом я из любопытства попробовал F#.

Читать дальше →
Total votes 82: ↑79 and ↓3 +76
Comments 327

Спецификаторы, квалификаторы и шаблоны

Reading time 15 min
Views 24K
template<class T>
static inline thread_local constexpr const volatile T x = {};

Такое количество ключевых слов введет в ступор любого неподготовленного разработчика. Но на C++ Russia 2019 Piter Михаил Матросов (mmatrosov) разложил по полочкам квалификаторы и спецификаторы при объявлении переменных и функций.

Мы подготовили для вас текстовую версию доклада, чтобы вы могли в любой момент вернуться и изучить шпаргалки Михаила.
Total votes 31: ↑29 and ↓2 +27
Comments 9

Все нововведения Windows 10 2004 (20H1)

Reading time 8 min
Views 226K
Сегодня вечером был выпущен финальный ISO-образ Windows 10 2004 (20H1). Им стал билд за номером 19041.208.vb_release_svc_im.200416-2050. Образы для разработчиков уже доступны на MSDN как вскоре и сами знаете где.


Читать дальше →
Total votes 112: ↑110 and ↓2 +108
Comments 420

Небольшой обзор SIMD в .NET/C#

Reading time 11 min
Views 24K

Вашему вниманию предлагается небольшой обзор возможностей векторизации алгоритмов в .NET Framework и .NETCORE. Цель статьи познакомить с этими приёмами тех, кто их вообще не знал и показать, что .NET не сильно отстаёт от "настоящих, компилируемых" языков для нативной
разработки.

Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Comments 50

Высшее образование в Германии стало бесплатным. Для иностранных студентов тоже

Reading time 2 min
Views 531K
Прекрасная возможность учиться в Германии появилась у желающих со всего мира. С нового учебного года 2014/2015 высшее образование в Германии стало бесплатным на всей территории страны. Последней из семи федеральных земель об отмене платы за обучение распорядилась Нижняя Саксония в декабре 2013 года. Доротея Штапельфельдт, сенатор Комитета по науке в Гамбурге, назвала платное образование «социальной несправедливостью», пишет «Таймс» (via). Сенатор по науке считает, что ключевой задачей политики является предоставление молодёжи в Германии возможности учиться и получать качественное высшее образование бесплатно.


Фото Шона Гэллапа, Getty Images
Читать дальше →
Total votes 131: ↑121 and ↓10 +111
Comments 165

Как программисту переехать в Нидерланды

Reading time 26 min
Views 68K
Disclaimer: Эта статья была начата еще летом. Не так давно на хабре был всплеск статей на тему поиска работы за рубежом и переезда. Каждая из них придавала моей пятой точке некоторое ускорение. Что в итоге заставило меня перебороть свою лень и сесть написать, а точнее дописать, очередную статью. Часть материала может повторять статьи других авторов, но с другой стороны, у каждого свои фломастеры.



Итак, перед вами часть третья, и на данный момент последняя, о похождениях блудного попугая программиста. В первой части я уехал жить и работать на Кипр. Во второй части я пытался устроиться в Google и переехать в Швейцарию. В третьей части (вот этой самой) я устроился на работу и переехал в Нидерланды. Сразу скажу, что про поиск работы будет мало, так как его фактически не было. В основном будет про обустройство и жизнь в Нидерландах. В том числе про детей и покупку дома, что не было подробно описано в недавних статьях других авторов.
Так что кому интересно, прошу под кат.
Total votes 85: ↑75 and ↓10 +65
Comments 330

Как правильно раздавать котят

Reading time 1 min
Views 96K

Раздача котят по DHCP


  1. Привязать к котёнку поводок
  2. Запустить котёнка в толпу
  3. Когда хозяин будет найден, он сам отвяжет котёнка от поводка.

Раздача котят по HTTPS


— Вам нужен котёнок?
— А у него есть родословная и сертификат о прививках?
— Есть, вот, смотрите. А у вас паспорт, кстати, не просрочен?
— Нет, он просто молдавский. А это точно котёнок?
— А что?
— А почему у него в родословной немецкая овчарка?

Читать дальше →
Total votes 296: ↑284 and ↓12 +272
Comments 155

Справочник по собеседованиям для тех программистов, которые их не понимают

Reading time 3 min
Views 146K

На Хабре с завидной периодичностью возникают посты от возмущенных программистов, которые справедливо (наверное) негодуют, почему на собеседовании никто не спросил про их прошлые проекты, не посмотрел их код, но задавал шаблонные справочные вопросы или заставлял решать алгоритмические задачи, которые, скорее всего (в 99%), не будут применяться на вакантной работе.

Чтобы уменьшить поток этих публикаций (святая простота), ниже будет краткий, но лаконичный справочник по типам собеседований, которые вам стоит ожидать от конкретного типа компании. Справочник основан на личном многолетнем опыте. Надеюсь, это поможет вам (именно тебе, да) выбрать лучшую стратегию успешного получения работы.
Погнали!
Total votes 267: ↑246 and ↓21 +225
Comments 335

Делаем Windows Server безопаснее

Reading time 5 min
Views 31K
В этой статье автор хотел бы дать пару хороших советов по администрированию серверов на Windows, которые по какой-то причине не нашел в интернете.

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

Читать дальше →
Total votes 30: ↑24 and ↓6 +18
Comments 48

Какие английские слова IT-лексикона мы неправильно произносим чаще всего

Reading time 5 min
Views 170K
Пока пара новых статей на технические темы еще в процессе написания, я решил опубликовать небольшой лингвистический материал. Достаточно часто замечаю, что коллеги, у которых английский язык — не родной, неправильно произносят некоторые характерные для IT сферы слова. И дело здесь не в том, насколько аутентично произносятся отдельные звуки, а именно в транскрипции. Регулярно встречал ситуации при общении с носителями, когда неправильно произносимое слово приводило к недопониманиям.

Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
Читать дальше →
Total votes 309: ↑308 and ↓1 +307
Comments 486

Сколько зарабатывают ИТ-шники в Германии

Reading time 5 min
Views 137K

Я рекрутер в Мюнхене и достаточно часто ищу ИТ специалистов с релокацией в Германию и провожу десятки интервью с кандидатами из пост-советского пространства. Самое распространенное заблуждение, с которым я сталкиваюсь, это, откровенно, завышенные ожидания по зарплате.


Соискатели называют такие цифры, с которыми я, как рекрутер, в реальном мире встречалась несколько раз в жизни. Я решила собрать информацию из открытых источников в немецко-язычном интернете по уровню оплаты и добавить свои комменты по реальному опыту найма ИТ-специалистов из стран СНГ.

Читать дальше →
Total votes 107: ↑101 and ↓6 +95
Comments 720

Самостоятельная диагностика жестких дисков и восстановление данных

Reading time 22 min
Views 239K
В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


Читать дальше →
Total votes 101: ↑99 and ↓2 +97
Comments 114

Захват пакетов в Linux на скорости десятки миллионов пакетов в секунду без использования сторонних библиотек

Reading time 8 min
Views 85K
Моя статья расскажет Вам как принять 10 миллионов пакетов в секунду без использования таких библиотек как Netmap, PF_RING, DPDK и прочие. Делать мы это будем силами обычного Линукс ядра версии 3.16 и некоторого количества кода на С и С++.



Сначала я хотел бы поделиться парой слов о том, как работает pcap — общеизвестный способ захвата пакетов. Он используется в таких популярных утилитах как iftop, tcpdump, arpwatch. Кроме этого, он отличается очень высокой нагрузкой на процессор.

Итак, Вы открыли им интерфейс и ждете пакетов от него используя обычный подход — bind/recv. Ядро в свою очередь получает данные из сетевой карты и сохраняет в пространстве ядра, после этого оно обнаруживает, что пользователь хочет получить его в юзер спейсе и передает через аргумент команды recv, адрес буфера куда эти данные положить. Ядро покорно копирует данные (уже второй раз!). Выходит довольно сложно, но это не все проблемы pcap.

Кроме этого, вспомним, что recv — это системный вызов и вызываем мы его на каждый пакет приходящий на интерфейс, системные вызовы обычно очень быстры, но скорости современных 10GE интерфейсов (до 14.6 миллионов вызовов секунду) приводят к тому, что даже легкий вызов становится очень затратным для системы исключительно по причине частоты вызовов.

Также стоит отметить, что у нас на сервере обычно более 2х логических ядер. И данные могут прилететь на любое их них! А приложение, которое принимает данные силами pcap использует одно ядро. Вот тут у нас включаются блокировки на стороне ядра и кардинально замедляют процесс захвата — теперь мы занимаемся не только копированием памяти/обработкой пакетов, а ждем освобождения блокировок, занятых другими ядрами. Поверьте, на блокировки может зачастую уйти до 90% процессорных ресурсов всего сервера.

Хороший списочек проблем? Итак, мы их все геройски попробуем решить!
Читать дальше →
Total votes 113: ↑112 and ↓1 +111
Comments 77

Расшифровка трассировщика лучей размером с открытку

Reading time 12 min
Views 49K

«Он снова это сделал!», — вот, что первое пришло мне в голову, когда я посмотрел на оборотную сторону флаера Pixar [1], полностью заполненную кодом. Скопление конструкций и выражений была подписана в правом нижнем углу не кем иным, как Эндрю Кенслером. Для тех, кто его не знает, скажу: Эндрю — это программист, придумавший в 2009 году 1337-байтный трассировщик лучей размером с визитку.

На этот раз Эндрю придумал нечто более объёмное, но с гораздо более интересным визуальным результатом. Так как я закончил писать свои Game Engine Black Books про Wolf3D и DOOM, у меня появилось время на изучение внутренностей его загадочного кода. И почти сразу меня буквально очаровали обнаруженные в нём техники. Они сильно отличались от предыдущей работы Эндрю, основанной на «стандартном» трассировщике лучей. Мне было интересно узнать о ray marching, функциях конструктивной объемной геометрии, рендеринге Монте-Карло/трассировкой пути, а также множестве других трюков, которые он использовал, чтобы ужать код в такой небольшой кусок бумаги.

Читать дальше →
Total votes 114: ↑113 and ↓1 +112
Comments 56

Частые ошибки при разработке lockfree-алгоритмов и их решения

Reading time 13 min
Views 59K
На хабре уже было несколько статей про lock-free алгоритмы. Этот пост — это перевод статьи моего коллеги, которую мы планируем публиковать в нашем корпоративном блоге. По роду деятельности мы пишем огромное количество lock-free алгоритмов и структур данных, и этой статьей хочется показать, насколько это интересно и сложно одновременно.



Эта статья во многом похожа на эту статью, но в той статье рассматриваются не все проблемы, с которыми можно столкнуться, разрабатывая lock-free структуры данных, и уделяется очень мало внимания решению этих проблем. В этой статье хочется детально остановиться на некоторых решениях, которые мы используем в реальной реализации lock-free структур данных в нашем продукте, и больше внимания уделить оценке производительности.
Читать дальше →
Total votes 148: ↑147 and ↓1 +146
Comments 52

io_submit: альтернатива epoll, о которой вы никогда не слышали

Reading time 8 min
Views 13K


Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча предлагает использовать Linux AIO API для работы с сетью.

Но постойте! Ведь Linux AIO был создан для работы с асинхронным вводом-выводом с диска / на диск! Файлы на диске — это не то же самое, что сетевые соединения. Возможно ли вообще использовать Linux AIO API для работы с сетью?

Оказывается, да, возможно! В этой статье объясняется, как использовать сильные стороны Linux AIO API для создания более быстрых и лучших сетевых серверов.

Но давайте начнём с разъяснения, что представляет собой Linux AIO.
Читать дальше →
Total votes 77: ↑77 and ↓0 +77
Comments 36

Первый взгляд на FoundationDB, открытую Apple

Reading time 9 min
Views 18K
В прошлой статье мы рассматривали ограничения и препятствия, которые возникают, когда нужно горизонтально масштабировать данные и иметь гарантию ACID-свойств транзакций. В этой статье рассказываем о технологии FoundationDB и разбираемся, как она помогает преодолеть эти ограничения при разработке mission-critical приложений.

FoundationDB — это распределенная NoSQL база данных с ACID-транзакциями уровня Serializable, хранящая отсортированные пары ключ-значение (ordered key-value store). Ключами и значениями могут быть произвольные последовательности байт. У неё нет единой точки падения — все машины кластера равноправны. Она сама распределяет данные по серверам кластера и  масштабируется на лету: когда в кластер нужно добавить ресурсов, ты просто добавляешь адрес новой машины на конфигурационных серверах и база сама подхватывает ее.
Читать дальше →
Total votes 34: ↑34 and ↓0 +34
Comments 15
1

Information

Rating
Does not participate
Date of birth
Registered
Activity