Pull to refresh
0
0
Send message

Малоизвестные и интересные особенности C и C++

Level of difficultyMedium
Reading time43 min
Views46K

В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.

Целью статьи является не освещение какой-то конкретной особенности языка или подготовка к собеседованиям, и уж тем более нет цели рассказать все потайные смыслы языка, т. к. для этого не хватит одной статьи и даже книги. Напротив, статья нужна для того, чтобы показать малоизвестные и странные решения, принятые в языках C и C++. Своего рода солянка из фактов. Вопрос “что делать с этими знаниями?” я оставляю читателю.

Если вы, как и я, любите и интересуетесь C/C++, и эти языки являются неотъемлемой частью вашей жизни, в том числе и его углубленного изучения, то эта статья для вас. По большей части я надеюсь, что эта статья сможет развлечь и заставить поработать головой. И если получится, рассказать что-то, чего вы, возможно, еще не знали.

Читать далее
Total votes 127: ↑126 and ↓1+159
Comments61

Переезд SRE в Германию. Поиск работы и виза

Reading time10 min
Views17K

Всем привет.

Хочу поделиться историей своего переезда в Берлин на роль site reliability engineer в ковидную эпоху. Дальше я расскажу свои мысли и опыт от принятия решения по поиску работы до переезда в Берлин.

Читать далее
Total votes 21: ↑19 and ↓2+22
Comments22

Что читать DevOps-инженеру: 7 полезных книг

Reading time4 min
Views25K

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

Читать далее
Total votes 50: ↑49 and ↓1+51
Comments17

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

Reading time52 min
Views60K

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

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

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...
Total votes 119: ↑114 and ↓5+134
Comments153

Заблуждения программистов о картах

Reading time12 min
Views54K


Дизайн систем быстро выявляет ошибки в восприятии закономерностей функционирования мира. Те правила, которые кажутся непреложными истинами, могут ими не оказаться.

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

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Total votes 240: ↑236 and ↓4+306
Comments114

А почему? Часть 5. Что делать?

Reading time3 min
Views19K

А почему? Часть 1. Вводная / Хабр (habr.com)
А почему? Часть 2. Вот раньше… / Хабр (habr.com)
А почему? Часть 3. Втюхай или сдохни / Хабр (habr.com)
А почему? Часть 4. Денежки / Хабр (habr.com)

Кто виноват - определились. Да все тут кругом виноваты. От денежных источников, у которых деньги стали какой то сраной самоцелью, до конечника. Нихрена он не белый и пушистый, которому реклама очки надела и выпустила на природу "теперь ты большой, беги в мир". Да, реклама эксплуатирует низменные чувства, и делает это настолько успешно, что большинству проще согласиться, чем задуматься. У меня новая тачка, у меня новый айфон. У меня гучи и чтоТамЕщёНеРазбираюсьВЭтойПижне.

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

Мы все стали помазаны этой дрянью.

Уф. До этого старался держаться рамок логики и только логики, в конце, уж простите, немного поэмоционировал.

Так что же мы можем сделать? К огромному счастью, я не Мишустин. И слава Богу, не Путин. Спаси господь от такой ответственности и необходимости принимать решения.

Но на своем уровне, я могу что то сделать. Как мне кажется.

Читать далее
Total votes 59: ↑43 and ↓16+45
Comments191

Проверяем Архитектурные стили на движке Factorio (часть 1)

Reading time28 min
Views43K

Добрый день всем, дорогие читатели!

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

Если вы хотя бы чуть-чуть имели неудачу пообщаться с Архитекторами, то знаете, что в их понимании не существует идеальной архитектуры ПО и вся их работа состоит во взвешивании плюсов и минусов того или иного Архитектурного стиля. И поскольку Архитектурных стилей много и каждый имеет свои преимущества (даже Монолит) и недостатки (даже Микросервисы) - работа архитектора состоит в попытках применения данных стилей на конкретный продукт и попыток предугадать, что из этого получит в итоге для бизнес-части.

Как сказал мой добрый друг-программист про Factorio: "Эту игру создали программисты для программистов" и эти слова плотно въелись в мою память. И реально игра в эту игру очень сильно напоминает процесс разработки ПО: можно просто строить как попало и прийти к полностью запутанной и сложнообслуживаемой системе, а можно подойти к вопросу с умом изначально и в итоге получить производительную и легкую в обслуживании систему (Прям как в жизни!)

Читать далее...
Total votes 25: ↑25 and ↓0+25
Comments24

Самого быстрого GIF не существует

Reading time8 min
Views32K

В чём проблема GIF?


Допустим, вы ради шутки хотите создать дико трясущийся GIF (ссылка). Редактор GIF позволяет задать длительность/задержку кадра, поэтому для максимальной тряски вы указываете самое маленькое значение. Но при просмотре получившегося GIF оказывается, что она проигрывается гораздо медленнее, чем задумано, и вы точно видели более быстрые GIF. Что же происходит?

Если вы читаете эту статью, чтобы исправить свой GIF и вам нужен чёткий ответ, то вот решение: установите задержку кадра не на 10 мс, а на 20 мс. Если вы хотите чуть больше узнать о GIF и о том, почему возникает этот пограничный случай, а также о том, как улучшить ситуацию, то продолжайте чтение!

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


Я, когда мои GIF слишком медленные
Читать дальше →
Total votes 141: ↑141 and ↓0+141
Comments45

Малые АЭС и зачем они нужны

Reading time22 min
Views41K
Атомная станция – это огромное сооружение из бетона и стали, способное обеспечить энергией большой город или даже небольшую страну. Но в последние годы все больше интереса вызывают проекты малых АЭС, мощностью до 300 МВт. В мире насчитывается уже более 70 проектов компактных, многоцелевых реакторов самых разных типов и конструкций, называемых SMR — Small Modular Reactor. А некоторые из них уже успешно работают. В этой статье я расскажу о том, что такое малые АЭС, зачем они нужны, в чем их отличия, преимущества и недостатки по сравнению с классическими АЭС, а также пройдусь по основным типам малых реакторов с конкретными примерами. Ну и конечно, посмотрим на позиции России на рынке малых АЭС и их перспективы с учетом текущей международной обстановки.


На фото первая малая АЭС. Российская. Фото: «Страна Росатом»
Читать дальше →
Total votes 114: ↑114 and ↓0+114
Comments108

Теория графов. Термины и определения в картинках

Reading time5 min
Views177K

В этой статье мы познакомимся с основными терминами и определениями Теории графов. Каждый термин схематично показан на картинках.

Граф - это топологичекая модель, которая состоит из множества вершин и множества соединяющих их рёбер. При этом значение имеет только сам факт, какая вершина с какой соединена.

Теория графов
Total votes 17: ↑15 and ↓2+16
Comments8

Привлекательные структуры данных

Reading time7 min
Views26K

В процессе изучения разных алгоритмов и структур данных приходит понимание, что не все они применимы в прикладных задачах (в отличие от задач про Васю и Петю/Алису и Боба). Но тот факт, что алгоритм/структура данных не является полезной на практике не означает, что идеи в них содержащиеся не привлекают пытливые умы даже из чистого любопытства. Потому речь пойдёт о красивых (субъективно) и, что важно, простых с точки зрения концепции структурах данных. 

Помните: если что-то не компилируется, это псевдокод. 

Привлечься!
Total votes 78: ↑78 and ↓0+78
Comments16

Как работают snap, flatpak, appimage

Reading time13 min
Views66K

Распространение приложений в линуксе - это боль. Причем в наше время цикл обновлений приложений все уменьшается и эта боль чувствуется все сильнее. В связи с этим появляются технологии вроде snap, flatpak, которые декларируют решение этих проблем. Некоторые дистрибутивы (я смотрю на тебя, Ubuntu) даже начинают довольно агрессивную политику по их внедрению. Однако, несмотря на то, что про сами эти технологии много говорят (и ещё больше жалуются), про то, как они работают написано довольно мало. Попробуем исправить это.

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

Читать далее
Total votes 52: ↑50 and ↓2+67
Comments60

Искусственный интеллект в DOOM

Reading time11 min
Views39K

DOOM — прародитель шутеров от первого лица, определивший целое поколение игр 90-х. Хоть это и не первая игра такого рода, и даже не первая игра id Software, но именно она изменила индустрию. Проект до сих пор изучают не только из-за его известности, но и потому, что он достиг высот в условиях сильных технических ограничений, задолго до появления большинства современных инструментов и стандартов. Под катом перевод статьи о работе искусственного интеллекта в Doom и трюках, которые использовали разработчики для создания интересных боевых ситуаций.

Читать далее
Total votes 98: ↑96 and ↓2+118
Comments23

Ошибка в коде, стоившая целой АЭС

Reading time9 min
Views60K
Иногда аварии, чтобы она запомнилась надолго, не надо быть техногенкой с кучей жертв. Именно так случилось в январе 2012 года, когда на калифорнийской АЭС Сан-Онофре произошла утечка радиоактивной воды из первого контура в парогенераторе. Авария неприятная, но она не привела к значимому повышению радиационного фона и если бы не её косвенные последствия, то прошла бы в отчётах МАГАТЭ и NRC (американский атомный регулятор), как незначительное происшествие. Проблема была в том, что устранить её быстро было невозможно, а без парогенератора энергоблок требовалось отправить в простой. И это лишь начало истории.


Читать дальше →
Total votes 118: ↑115 and ↓3+146
Comments116

Некомпетентные компетенции

Reading time44 min
Views59K

Поводом для написания этой статьи послужил случай, когда сотрудники нашего HR-отдела предложили мне взять в нашу проектную группу Департамента разработки программного обеспечения ЛАНИТ на производственную практику выпускника одного из московских техникумов.  Кандидат обучался четвертый год по специальности «Прикладная информатика» и, судя по резюме, претендовал на должность «стажера-разработчика SQL, С#, HTML, CSS». Он уже прошел предварительные собеседования и, по словам наших кадровиков, показал себя наиболее адекватным из 15 других претендентов. Поскольку у меня это был не первый случай руководства практикой у студентов и предыдущие прецеденты имели положительный результат, я согласился.

Читать далее
Total votes 162: ↑149 and ↓13+168
Comments309

Сгорел сарай, гори и хата, или Месть британского сисадмина

Reading time6 min
Views49K

Мы с очередным рассказом из подкаста Darknet Diares – история про британского системного администратора, который решил мстить работодателю. Примечательна она не столько описанием технических аспектов атаки на инфраструктуру, а раскрытием мотивов поведения «диверсанта».

Герой, он же антигерой рассказа, отправился в камеру прямо после интервью, которое дал автору Darknet Diares Джеку Райсайдеру. Выйдет из мест заключения злопамятный сисадмин в 2023 году. О том за что его повязали и как он дошел до жизни такой, мы и расскажем.

Читать далее
Total votes 47: ↑45 and ↓2+57
Comments110

Водопровод в современной квартире

Reading time11 min
Views81K

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

Читать далее
Total votes 147: ↑130 and ↓17+156
Comments366

Как ускорить работу в командной оболочке Bash

Reading time4 min
Views25K

Любому начинающему разработчику необходимо научиться пользоваться командной строкой. При этом для выполнения в ней команд требуется оболочка. В статье речь пойдёт об оболочке Bash, которая популярна в UNIX-подобных системах и в большинстве дистрибутивов Linux используется штатно.
Читать дальше →
Total votes 57: ↑51 and ↓6+65
Comments78

Как писать лёгкие тексты

Reading time2 min
Views22K
Я пишу много текстов, в основном всякую чушь, но, обычно, даже хейтеры говорят, что текст читается легко. Если хотите сделать свои тексты (письма, например) легче, бегом сюда.

Тут я ничего не придумывал, всё из книжки «Слово живое и мёртвое» Норы Галь, советского переводчика, редактора и критика.
Читать дальше →
Total votes 68: ↑56 and ↓12+59
Comments58

Измерение вакуума и история одного изобретения (часть 1)

Reading time10 min
Views12K

В качестве вступления хочу отвергнуть замечания некоторых посетителей этого блога, будто автор слишком хвастается и восхваляет собственное "я". Но из песни слов не выкинешь, и если какие-то достижения мои, то я так и пишу. Если какие-то достижения я сделал совместно с другими людьми, то я тоже это указываю. Более того, стиль изложения автором намеренно основан на рассказах о собственном опыте и включает личные оценочные суждения. Данный блог, не является учебником или сборником научных статей.

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

Дальше был Рязанский радиотехнический институт с 1984 года, кафедра ЭВП и лаборатория в этой кафедре, куда я повадился ходить. Институт тот был старый советский с традициями, заключающимися в том, что преподаватели занимались ещё и прикладными НИОКР, для чего в составе института были лаборатории, до верху напичканные оборудованием, как принадлежащим институту, так и полученным в рамках проведения таких НИОКР от заказчиков.

Маленькое отступление и оценочное суждение: Я считаю, что технические ВУЗы можно разделить по принципу имеющих подобные лаборатории, работники ВУЗов в которых ведут НИОКР, и не имеющие таких лабораторий и таких занятий своих преподавателей. Второй тип ВУЗов в полной мере квалификацию "инженер" дать студенту в принципе не способен, а занимается профанацией обучения. Это без учёта того, что внеаудиторными занятиями даже в хороших ВУЗах занимаются от силы 10-20% учащихся. Остальные, в принципе, = образовательный шлак.

Читать далее
Total votes 43: ↑38 and ↓5+43
Comments53
1
23 ...

Information

Rating
Does not participate
Registered
Activity