Настроить права на смену директории сервисом, chroot, просто прямая настройка сервиса… вобщем это я и имел ввиду, когда советовал почитать про ОС во избежание :)
-1. Изучить базовые алгоритмы, теорию алгоритмической сложности, что позволит понимать, как всё написанное будет выполняться, что позволит не писать проверку на ложность преобразованием в строку и т.п… Да, Кнута на полку тоже можно поставить.
0. Изучить строение операционных систем на уровне выше чайника. Иначе даже в веб программировании возможны ляпы, которые поставят под угрозу всю систему (привет ссылкам с ../ и т.п.). На полку поставить можно Таненбаума
Не читал всю статью (и не оценивал её), но у Вас как минимум утверждение «Объект должен быть целиком потокобезопасный, а это значит что все public методы (кроме конструктора и деструктора) нужно синхронизировать.» неверно. Кроме алгоритмов блокирующих, которые требуют безусловной синхронизации, есть ещё неблокирующие алгоритмы и immutable объекты, которые так же потокобезопасны.
Вообще-то переводить часы самому НЕЛЬЗЯ. Половина программ иначе попадёт под глюки времени, т.к. машинное время — это число секунд с какого-то момента, а положение стрелок часов — это только отображение этого времени.
А теперь стоит таки вспомнить Tohou Project, который тоже разрабатывается одним человеком и который захватил половину комикета (Япония).
Потом можно вспомнить про инди игры (и посмотреть соответственный фильм). Ну и потом можно вспомнить, как многие студии начались с первой игры на коленке у первого разработчика.
>>1. Ударостойкие корпуса для внешних дисков
Лет 6-7 назад я давал свой WD диск на хранение друзьям этажом ниже в общаге. После того, как кто-то зацепил ногой провод — мой диск вылетел через переднюю стенку компьютера и драгНдропнулся на пол с высоты метр, попутно отключившись от питания и материнки. Выжил, вроде бы даже живёт в одном из старых компьютеров для родственников.
Не настолько старая, как большинство игр из этого поста, но достаточно интересная тактическая игра.
0. Изучить строение операционных систем на уровне выше чайника. Иначе даже в веб программировании возможны ляпы, которые поставят под угрозу всю систему (привет ссылкам с ../ и т.п.). На полку поставить можно Таненбаума
P.S. Никогда не понимал, зачем сделали загрузку следующих страниц под предыдущими — протестировать, сколько памяти сожрёт браузер из-за одной вкладки?
Потом можно вспомнить про инди игры (и посмотреть соответственный фильм). Ну и потом можно вспомнить, как многие студии начались с первой игры на коленке у первого разработчика.
Лет 6-7 назад я давал свой WD диск на хранение друзьям этажом ниже в общаге. После того, как кто-то зацепил ногой провод — мой диск вылетел через переднюю стенку компьютера и драгНдропнулся на пол с высоты метр, попутно отключившись от питания и материнки. Выжил, вроде бы даже живёт в одном из старых компьютеров для родственников.