Search
Write a publication
Pull to refresh
78
0
Роман @RomeoGolf

инженер-программист

Send message

Будни техпода. Ошибки при подключении по RDP

Level of difficultyEasy
Reading time8 min
Views74K


Для доступа удалённому Windows-серверу из Windows-системы большинство администраторов используют протокол удалённого рабочего стола (Remote Desktop Protocol — RDP). Есть, конечно, и существенная доля тех, кто оперирует более обширным перечнем вариантов подключения — Microsoft Remote Assistance, VNC, Radmin и много чего ещё, но мы поговорим про RDP. Вернее, не о самом RDP, а о проблемах, которые могут возникнуть при подключении к удалённому серверу при помощи этого протокола.

Для многих, вероятно, не составляет труда решить внезапно возникшее затруднение, когда почему-то не получается подключиться к виртуалке, вдобавок практически каждый, не сходя с места, подкинет пару-тройку советов, где и что следует глянуть, чтобы исправить проблему. И всё же, вдруг кто-то чего-то не знает. На этот случай под катом несколько способов выхода из ситуации — по большей части самых простых.
Читать дальше →

Чистый код

Reading time19 min
Views13K

Чистый код — это не просто стиль программирования, это философия, которая делает ваш код понятным, поддерживаемым и эффективным. В этой статье мы разбираем ключевые принципы написания чистого кода: от правильного использования уровней абстракции и разделения функций до борьбы с глубокой вложенностью и неожиданными побочными эффектами. Вы узнаете, как избегать распространённых ошибок, таких как смешение уровней абстракции, избыточные проверки и сложные управляющие структуры. Мы также рассмотрим, как полиморфизм, фабричные функции и обработка ошибок могут помочь вам писать более чистый и читаемый код. Статья подойдёт как начинающим, так и опытным разработчикам, которые хотят улучшить свои навыки и сделать свой код более профессиональным.

Далее

Математика электромобилей и их заряда

Level of difficultyEasy
Reading time13 min
Views20K

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

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

Читать далее

История о самодисциплине и погоне за новым собой

Level of difficultyEasy
Reading time7 min
Views12K

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

Читать далее

Домашний робот-полотёр

Reading time5 min
Views8.7K

Робот в уборке использует самую обычную ручную «человеческую» швабру с губкой и выжимающим механизмом. Проект робота‑полотёра вначале задумывался как
сложный антропоморфный робот с руками‑манипуляторами, который полностью бы копировал технику мойки человека такой шваброй. Но со временем пришло понимание о возможности достижения цели гораздо более простым способом манипулирования шваброй. В результате на данный момент робот оснащён всего двумя мотор колёсами и одним линейным актуатором привод которого выполняет все необходимые операции со шваброй: поднятие и опускание швабры в ведро, полоскание, отжим, переворачивание губки швабры с одной стороны на другую после загрязнение первой и парковка.

Участие человека в процессе это поставить ёмкость‑ведро с чистой водой до мойки, а после мойки вылить грязную воду из него.

Читать далее

Программисту нужна математика?

Level of difficultyEasy
Reading time3 min
Views19K

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

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

Давайте разберём смысл каждого слова

C++ и кризис стандартизации

Level of difficultyMedium
Reading time6 min
Views11K

У меня на ладони лежит очень горячий сотовый телефон, который разогрелся из‑за того, что мессенджер отображает статичное сообщение с пузырем и текстом на экране при помощи браузерного движка и безумного количества сторонних библиотек. При этом я отлично помню время, когда десктоп был в 10 раз менее производительным, чем этот сотовый, а не‑кроссплатформенные мессенджеры тех времен, написанные на С++, отображали текст не нагружая эти допотопные процессоры и на 10%. Я считаю, что в такой деградации виноват в первую очередь комитет по стандартизации C++. Их близорукие решения и неспособность адаптироваться к реальным потребностям разработчиков привели к парадоксальной ситуации: несмотря на постоянное увеличение мощности компьютеров, программы работают медленнее и потребляют больше ресурсов, чем их аналоги десятилетней давности, а С++‑разработчики не могут создать даже простой мессенджер, который будет работать на 2–3 распространенных операционных системах, не используя массы сторонних библиотек.

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

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

Читать далее

Код, который вы не поймете. Подборка вымерших языков программирования

Reading time6 min
Views46K

Натыкаясь на очередную подборку в духе «Какой язык программирования учить в 2025 году», я вижу каждый раз плюс-минус одни и те же тезисы. Обычно они сводятся к рассуждениям о количестве открытых вакансий, зарплатной вилке или библиотеках и фреймворках, которые обещают изменить вообще все. Python, JavaScript или C++ живее всех живых, и в ближайшие годы им вряд ли что-то грозит. Но ведь не все языки программирования оказались столь успешными. В этой статье я предлагаю вспомнить те из них, которые либо не дожили до современности, либо остались в полузачаточном состоянии. Я постараюсь не просто перечислить мертвые языки, но и описать их идеи, ошибки и причины, по которым они исчезли из истории программирования через короткое время после рождения.
Читать дальше →

Стать программистом в зрелом возрасте — 10 лет спустя

Level of difficultyEasy
Reading time5 min
Views45K

Более 10 лет прошло с момента публикации моего поста на Хабре, в котором я рассуждал о том можно ли стать программистом после 30-ти. За это время многое изменилось в моей жизни, стране и в мире. Ковид, протесты 2020-го в Беларуси (я родом оттуда), война… Та статья была выдержана в оптимистическом ключе. А сейчас я хочу взглянуть на проблему глазами уже состоявшегося программиста. И более приземлённо что-ли. Если не сказать больше — пессимиста. Ну, возраст всё-таки даёт о себе знать, вы понимаете.

Читать далее

Как оформить профиль в LinkedIn, чтобы к тебе приходили HR от международных компаний

Level of difficultyEasy
Reading time4 min
Views25K

Все началось с того, что мне как программисту, стало интересно посмотреть на свои возможности на международном рынке труда.

При этом я не являюсь outstanding engineer, а скорее обычный прикладной программист, который до этого думал, что на международном рынке, где бОльшая конкуренция, мне делать почти нечего.

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

Читать далее

Стиральная машина позволила мне иначе взглянуть на сроки разработки ПО

Level of difficultyMedium
Reading time5 min
Views32K
Моя недавняя эпопея со стиральной машиной напомнила мне, почему одна из самых страшных и ненавидимых задач в разработке ПО начинается с вопроса:

«Сколько времени вам на это потребуется?»

Привычность этого бытового прибора внушила мне ложное чувство безопасности
Читать дальше →

Закат удалёнки: почему сотрудников возвращают в офис

Reading time3 min
Views109K

В последние два года мы стали свидетелями глобального тренда на возвращение сотрудников в офисы. Крупные компании, такие как Amazon, Google и Meta активно внедряют гибридный формат с обязательными офисными днями. Согласно опросам, для большинства руководителей (79%) эксперименты с удалёнкой завершились, и теперь они хотят присутствия сотрудников в офисе. 

Читать далее

[Перевод] Управление пакетами C ++ с помощью Conan: Введение

Level of difficultyEasy
Reading time5 min
Views4.6K

Прим. пер.: Перевод и примеры исправлены, дополнены и адаптированы с учётом современных версий Conan 2, инструментов сборки и библиотек.

Автор: Ilyas Hamadouche

Управление зависимостями C++ может оказаться непростой задачей. Зачастую разработчику приходится самостоятельно заботиться о загрузке исходных кодов, интеграции готовых к использованию двоичных файлов, сборке, установке и связывании библиотек. В этой статье я расскажу вам о Conan — менеджере пакетов C/C++ с открытым исходным кодом, который отлично справляется с этими задачами.

Conan — это свободный менеджер пакетов с открытым исходным кодом (MIT), разработанный для C и C++. Он похож на NuGet и npm для .NET и JavaScript соответственно. Он может работать в любой операционной системе, поддерживающей Python. К ним относятся Linux, Mac, а также Windows.

Читать далее

Как измерить расстояние с точностью до нанометров или даже пикометров? Берём рулетку и… (нет, всё не так)

Level of difficultyMedium
Reading time8 min
Views9.4K
Картинка Cookie_studio (Freepik), Youtube-канал «Huygens Optics»

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

Более продвинутые в инженерном плане вспомнят про штангенциркули, микрометры и концевые меры длин (плитки Иогансона).

Тем не менее, есть ещё один класс способов, который позволяет измерять расстояния со сверхмалым разрешением — вплоть до одного нанометра и менее…
Читать дальше →

Ни одна реализация элементарных функций не соответствует стандарту IEEE 754

Level of difficultyMedium
Reading time9 min
Views17K

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

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

Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности. В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций.

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

В процессе изучения я обнаружил, что ни одна из популярных математических библиотек, используемых во множестве сфер вычислений, на самом деле не выполняет корректное округление в соответствии с требованиями любой версии IEEE 754 после первой редакции 1985 года.
Читать дальше →

Сложно о простом. Как работает интернет. Часть 2. Что такое сеть, маска подсети, сегментация сети с помощью VLAN и маски

Level of difficultyEasy
Reading time12 min
Views73K

Приветствую, коллеги! Меня зовут @ProstoKirReal Мне бы хотелось с вами обсудить как работает интернет от кабелей на витой паре, соединяющие простые локальные сети до подводных коммуникационных кабелей соединяющие между собой континенты и основные операторские сети.

В предыдущей статье я рассказывал о коммутаторах, маршрутизаторах, их основных различиях и назначении, а также разбирал работу простых сетей на примере сетей с сетевым концентратором (хабом) и коммутаторами.

В этом цикле статей я не стану учить вас настраивать оборудование и проектировать сети. Я расскажу об основных (и не только) принципах построения сети, а также о функционировании сети и сетевых протоколов в стеке TCP/IP.

Я буду часто ссылаться к предыдущим статьям, где уже описывал сетевые протоколы. Это позволит мне сократить объемный текст. 

Читать далее

Налоговый вычет в 2025 году: как вернуть часть потраченных денег

Level of difficultyMedium
Reading time14 min
Views9.3K

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

Если за последние три года у вас были крупные (или не очень) траты на покупку недвижимости, образование, медицину, спорт или просто есть дети, пришла пора обращаться за вычетом. 

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

Читать далее

Семь способов выхода из рекурсии

Level of difficultyMedium
Reading time5 min
Views3.3K

Попробуем написать разными способами программу, реализующую циклическое вычисление, заключающееся в печати последовательных чисел от n1 до n2. Предметом нашего внимания будет способ завершения цикла. Поскольку для иллюстрации мы будем использовать язык Scheme, как один из наиболее концептуальных в области теории вычислений, то для реализации цикла используем рекурсию, как единственный циклический механизм в этом языке. Впрочем, для большинства наших способов мы будем указывать на аналоги в других языках, предполагающие использование императивных операторов цикла.

Читать далее

Как AI захватывает Хабр, и почему это всех бесит

Level of difficultyEasy
Reading time3 min
Views13K

Если вы частый гость на Хабре, то, скорее всего, уже сталкивались с этим странным феноменом. Открываете статью, она выглядит вполне прилично: логичная структура, правильные запятые (редкость, кстати), даже мысль какая-то есть. Читаешь, вроде интересно... но что-то не так. Какой-то пластмассовый привкус остаётся после прочтения. А потом ты листаешь комментарии и видишь: «AI-генерат, автор в бан!» И ты такой: «Точно! Вот что меня смутило!»

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

Читать далее

Экономика, вывернутая наизнанку

Level of difficultyEasy
Reading time6 min
Views22K

Всем привет. Эта (полу)шуточная статья родилась из обсуждений с «бородачами» из PRO Hi‑Tech примерно полгода назад. Я тогда осознал важность одного обстоятельства в производстве чипов, которому раньше не придавал значения. А оно, возможно, имеет ключевой смысл для всей истории. Дело в том, что в экономике есть, так сказать, «прямая» логика — максимизация прибыли. А есть «инверсная» — минимизация убытков. В большинстве случаев работает прямая, но вот производства непрерывного цикла, к коим относится и фабрика микроэлектроники, управляются инверсной. Начну с маленькой прелюдии.

Читать далее

Information

Rating
3,887-th
Location
Свердловская обл., Россия
Date of birth
Registered
Activity