вторник, 20 октября 2026 г.

Программирование и книги

Программирование и книги

yurembo

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


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


Однако реальность оказалась ортогонально другой. И это еще было до наступления ИИ. Эйчары не обращали никакого внимания на написанные книги и другие публикации соискателя.

А с приходом ИИ абсолютно всё потеряло ценность. Сейчас совершенно не понятно, чем можно выделиться среди других кандидатов. Никакой пет-проект не может служить доказательством наличия у человека особых знаний, потому что теперь считается, что все можно сделать с помощью ИИ, на самом деле – нет. Раньше – до ИИ, после появления GitHub эйчары считали, что всё скачано.

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

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

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

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

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

четверг, 15 октября 2026 г.

100 ошибок C++ и как их избежать

Рецензия на книгу

«100 ошибок C++ и как их избежать»

yurembo 

«Что нового можно сказать о C++? Оказывается, очень много.» - из предисловия Джона Влиссидеса к книге «Современное проектирование на C++» Андрея Александреску, 2001.

25 лет спустя, можно выразиться точно так же: C++ развивается, появляются новые стандарты языка, новые версии компиляторов, разрабатывается великое множество софта с его помощью, а на поддержание унаследованного C/C++-кода затрачивается неимоверное количество человеко-лет.

Я изучаю C++ более 20 лет, и в связи с причинами, указанными выше, предела в его изучении не наблюдается. Следовательно, по нему будут появляться новые обучающие материалы. Признаться, редкая книга по C++ представляет для меня неподдельный интерес. Пройдены все талмуды.

Между тем летом в издательстве «Питер» на русском языке была издана книга Рича Йонца «100 ошибок C++ и как их избежать». После того, как я впервые пробежался по оглавлению, то решил, что это крайне стоящая книга. А теперь, прочитав её, могу предложить пару рекомендаций относительно нее. Она написана в стиле книг Скотта Майерса: «Эффективное использование C++», «Наиболее эффективное использование C++», etc. В них автор брал проблему или какую-то возможность языка и подробно её описывал.

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

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

Книга состоит из 12 глав, распределенные на три части. Первая глава представляет собой введение в материал. Ошибки, рассматриваемые в первой части связаны с неправильным использованием языка, когда разработчик может улучшить код и подходы к программированию, применяя современные возможности C++ и стандартную библиотеку шаблонов. Глава 2 посвящена классам и типам данных — с акцентом на проектирование классов и использование умных указателей. В главе 3 автор знакомит читателя с подводными камнями программирования в целом, а также с функциями языка, которые, возможно, стоит применять чаще. Глава 4 описывает недавние изменения в языке C++ и методы, облегчающие решение довольно распространенных задач.

Во второй части книги обсуждаются ошибки, унаследованные современным C++ от языка C, с учетом его исторических корней. Многие решения, рассмотренные в этой части, можно успешно адаптировать к современным условиям. Глава 5 посвящена привычкам и практикам, которые по инерции переходят из C в C++, несмотря на наличие более эффективных подходов. Глава 6 описывает устаревшие практики, популярные на заре программирования на C++, которые до сих пор сохраняются в некоторых современных кодовых базах.

Ошибки, приведенные в третьей части, отражают проблемы, часто встречающиеся в унаследованных кодовых базах, где разработчик не может применить современные методы. Некоторые из этих проблем можно решить, а качество кода — повысить. Глава 7 расскажет о правильном проектировании классов и связанных с этим проблемах устойчивости классов. Глава 8 рассматривает дополнительные аспекты проектирования классов и ошибки, которые могут неожиданно привести к архитектурным проблемам. Глава 9 описывает операции классов, которые при неверной реализации могут вызвать трудности. Глава 10 посвящена обработке системных ресурсов и проблемам, возникающим при неправильном управлении ими. Глава 11 анализирует сложности, возникающие при использовании функций и параметров. В главе 12 обсуждаются проблемы, характерные для классического C++, которые по-прежнему встречаются и в современных кодовых базах.

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

четверг, 1 октября 2026 г.

Путь на "Огонёк" и обратно

Путь на "Огонёк" и обратно

Юрий "yurembo" Язев

Последний день сентября. На улице все еще стоит теплая солнечная погода. Мне даже показалось, что сентябрь в этом году выдался на редкость теплым. Провел небольшие исследования за последние 15 лет, оказалось, что нынешний сентябрь выдал средний показатель температуры воздуха. Так, в прошлом году средняя температура в сентябре была на градус ниже, однако в позапрошлом - на три градуса выше. А средний показатель получился с учетом предыдущих лет.

Между тем, день спустя, метеоцентр ПГНИУ выкатил новость о том, что сентябрь 2026-го года вошел в пятерку самых теплых сентябрей за последние 100 лет. Выборка получилось шире, чем у меня. Углубляться в новость я не стал, может быть так и есть, однако даже по моим оценкам этот сентябрь не самый теплый за последние 15 лет.

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

Затем я забрался на площадку строительства новой горнолыжной базы рядом с бывшим стартом санной трассы "Огонька" - 1200 м. Там уже и стартовой эстакады давно нет. Хотя она многие годы стояла там без дела. Потому что после строительства "новой" санной трассы в 1980-м году два верхних виража почти сразу отрезали, так как по причине их некорректной конструкции сани на них не разгонялись, вследствие чего их посчитали ненужными.



Далее по натурбанной трассе, тоже бывшей, я спустился на "большой" Огонек. Завернул в “Парк истории реки Чусовой”, увидел живую работу, новые строения и артефакты - парк продолжает свою жизнь даже без своего создателя, благодаря усилиям последователей. Около пруда дорога была перегорожена, рядом копался миниатюрный, почти карманный, экскаватор. Я посидел на стоящей там лавочке, сделал несколько фото.




После чего я отправился в Новый город, не мудрствуя лукаво, по автомобильной дороге, которая начинается с полуторакилометрового подъема. В любом случае он проще, чем краснопоселковская гора, по которой мне предстоял спуск далее: как же приятно спускаться с горы, в которую ты поднялся! Гоня на велике по шоссе со скоростью 55 км/ч,  можно сказать себе: "Ты молодец!" И, входя в поворот, отклоняешься от него. Но тут счастье заканчивается, перед тобой предстает медленно едующий автомобиль, за ним следует железнодорожный переезд, всё равно приходится сбрасывать скорость.

На часах: "час пик". Народ на автомобилях едет с работы домой - из Старого города в Новый. На бывшем заводском переезде столпотворение машин. Я подождал минут 15 на обочине, машины не собирались кончаться, поэтому я вступил в поток. Сначала проблем не было. Однако на мосту, по которому я ехал, прижавшись к бетонному заграждению справа, меня обгоняли автомобили, тоже следовавшие по обочине. Одна из машин - микроавтобус “Баргузин” проехала вообще вплотную ко мне. "Ни шагу пешком, только верхом". 

четверг, 24 сентября 2026 г.

Новая горнолыжная трасса

Новая горнолыжная трасса

yurembo

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

Вчера была солнечная погода 20*, я решил съездить туда снова, чтобы среди кустарников, травы и другой поросли найти просеку. Для усложнения своей жизни я поехал на "Огонек" не напрямую, а по объездной дороге через Лисики по пермскому шоссе с 90-градусным заворотом на северный широтный коридор у Каспия-2. Через один путепровод, два моста и продолжительный подъем эта дорога пересекается с горнозаводской.

на мосту через Вильву

на мосту через Вильву

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

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

Старт

Новая просека

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

Новая просека

Дальше вниз просеки я спускаться не стал. И так весь вымазался. Зимой здесь будет явно лучше и красивее. Надо только еще подъемник для горнолыжников и сноубордистов поставить.


фото yurembo на память

И фото с видом сверху на гостиничный комплекс, плюс окружающую осеннюю природу:


вторник, 15 сентября 2026 г.

Книжная ярмарка в Чусовом

Книжная ярмарка в Чусовом


Юрий "yurembo" Язев

В прошлый уикенд: 12 - 13 сентября в парке культуры и отдыха им. Ермака во второй раз с исторической точки зрения прошла книжная ярмарка "Смена". Как говорят легенды: год назад на том же месте ярмарка имела место впервые. Мероприятие организуется казанским Центром современной культуры «Смена», фондом «ОМК-Участие» при поддержке ЧМЗ.

В этом году, скрипя сердцем, я посетил данное мероприятие во второй день и, неожиданно для себя, нисколько не пожалел. Было реально интересно, и я долго ходил по ярмарке и рассматривал книги. 

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

Ярмарка была организована на площадке зимнего катка, имеющей форму круга. По его периметру были расставлены прилавки компаний-участниц, среди которых были: крупные книжные магазины и издательства: "Самокат", "Полынь", "Альпина" и другие.




Центр площадки занимали шатры с детскими активностями: мастер-классы по рисованию, раскрашиванию и т.п. 


Уместно подчеркнуть: фестиваль проводится для детской аудитории и в большинстве своем на нем представлена детская литература. Однако имеются исключения.



Во время моего пребывания на фестивале прошло выступление иллюстратора издательства "Самокат" Вари Кендель. Она очень подробно рассказала о двух проиллюстрированных ею и ее сестрой книгах этого издательства: «Смотри: Байкал! Книга-путешествие» и «Смотри: Урал! Книга-путешествие». Ее рассказ был излишне подробен, она рассказала, где и сколько времени училась на художника-иллюстратора, как взаимодействовала с авторами упомянутых выше книг, откуда брала сведения для вдохновения, готовя изображения для книг. Не смотря на явную затянутость выступления, слушать было интересно.


Под конец я еще раз с фотоаппаратом пробежался по прилавкам ярмарки и заснял представленные книги:





Видеоигра "Черная книга" от пермской
студии Мартешка получила новеллизацию,
"Русы против ящеров" тоже

Бессмертная классика в новом исполнении,
но свиней на танках в ней нет

воскресенье, 13 сентября 2026 г.

Мега-вело-загон '26

Мега-вело-загон '26

Велобросок, приуроченный ко Дню программиста '26

Юрий "yurembo" Язев
независимый игродел

9-го сентября, собравшись с мыслями, набрав фляжку воды, я на своем, видавшем горы пепелаце, вырулив из-под моста через Чусовую, по относительно ровной дороге выдвинулся в сторону пгт. Лямино вдоль Чусовой. На улице стояла облачная погода с преобладанием солнечных эпизодов, на термометре было +19*. Дождя не ожидалось - первый день после недели затяжных осадков.

У меня было приподнятое настроение. "До станции Калино я точно доеду" - подумал я. Тем более, что пару недель назад, я налегке доехал до д. Мульково. Правда, в тот день я заплутал в Лямино и сначала уехал в д. Кошково. Но в тот день мне было не суждено поехать дальше Мульково, поскольку пошел сильный дождь.

Планировал доехать до Калино, но вместе с тем размышлял, если к тому моменту буду полон сил, никак не меньше, поеду дальше. Хотелось повторить велозагон 18-го года до д. Вереино. Прочитать о том путешествии можно здесь. По воспоминаниям: я тогда крепко устал. Под конец загона болели мышцы всего тела: не только ноги, но и руки, спина, шея. Хотелось вновь испытать свои силы, спустя восемь лет.

где-то между Мульково и Калино

После Калино до самого Вереино вдоль шоссе нет ни одного населенного пункта, ни одной деревеньки. Поэтому выбор ехать после Калино дальше или нет - ответственное решение. К тому же, Калино - это половина пути от Чусового до Вереино.

Дорожное полотно, восемь лет спустя, выглядит и ощущается получше, чем в прошлый раз. От Калино начинается незаметный глазу подъем. Тут скорость моего пепелаца с привычных 17-20 км/ч просела до 10-13 км/ч.

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


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

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

На часах было 16:00. Я находился в пути уже два часа. Потихоньку стала одолевать усталость. По-прежнему, "абонент был не в сети", было невозможно узнать свое местоположение. Появились мысли о развороте назад, но я их в тот же момент отбросил, не позволив себе слабость, не выполненный план.

За следующим поворотом я покинул лес и поехал в открытом поле. Начался наиболее тяжелый, в плане затраты физических возможностей, участок дороги. Вскоре я вновь попал в дремучий лес, где сначала следует спуск, затем хитрый зигзаг, возведенный в овраге, после него - продолжительный подъем. Когда подъем преодолен, взору открываются пустые поля (урожай уже собран) и дорожный указатель:

д. Вереино достигнута

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

Следуя своей начальной цели я повернул направо и, спустя пол километра, въехал в д. Вереино. Тут появилась связь:

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

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

В 17 часов я покрутил педали обратно.

31 км до указателя "Чусовой", находящемся на выезде из Лямино

Спуск, зигзаг, подъем - всё, как обычно. Дорога под небольшим незаметным глазу уклоном. Таким образом двигаюсь до Калино, где дорога теряет уклон. Далее - по прямой с редкими небольшими подъемами и спусками. 

р. Чусовая в д. Мульково

На выезде из д. Кряж замечаю автобусную остановку. Силы на исходе. Решаю отдохнуть, посидеть на скамейке. Подъезжаю ближе, замечаю там человека. Садясь рядом, говорю: "Автобус ждешь?" Он, указывая на рядом стоящий пепелац, говорит: "Скутер сломался, жду эвакуацию". Спустя некоторое время, подъехал автомобиль и, привязав скутер на трос, вместе с водителем уехал в сторону Лямино. Я тоже вскоре поехал в сторону Нового города.

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

Проезжая мимо АЗС Нефтехимпром, что на дамбе, обнаружил десятки автомобилей, стоящих на обеих обочинах дороги. В связи с текущей ситуацией с бензином очереди из автомобилей около заправок не представляют ничего необычного. Вопрос вызвала причина столь крупного столпотворения: на табло АЗС отображалась цена только на дизельное топливо. Ну, ладно, для меня в данный момент это было не так важно, как на последних силах добраться до дома. Я вывернул на улицу Отдыха, посидел там на лавочке и двинулся к дому. У подъезда был в 20:30.

В итоге: 73 км за 6,5 часа.