Так себе программист
98 subscribers
185 photos
7 videos
1 file
183 links
Меня зовут Александр Троценко. Разработчик, преподаватель, к.т.н. Пишу о программировании и профессии.

10 лет в разработке desktop на C/С++

Контент: https://taplink.cc/atrotsenko
Download Telegram
Как работают ветки в Git

Тезисы по относительно простой, новичковской статье про механизм веток в Git.
🎄5
Хочешь идти на работу?

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

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

Хорошо, что это время прошло 😅

Отсюда у меня для вас соцопрос: бывает ли у вас такое, что вам не хочется идти на работу или учебу?
Не потому что лень, не потому что погода плохая, не потому что пробки. А потому что не нравится. Не нравится само дело, сама работа.
Бывает ли у вас такое, что вам не хочется идти на работу/учебу?
Anonymous Poll
18%
Всегда бывает
11%
Бывает часто
57%
Бывает иногда
11%
Бывает редко
4%
Не бывает
Два раза в год или раз в 6 месяцев?

Цитата из инструкции к фильтру для воды:
Внимание! Замену фильтрующих модулей необходимо производить не реже двух раз в год...


И буквально на следующей же странице, но к другому модулю:
Внимание! Замену постфильтра необходимо производить не реже одного раза в 6 месяцев...


Складывается ощущение, что периодичность замены разная... Или одинаковая? Или все таки разная? Нужно менять модули вместе или раздельно?

Пока что я все делаю по инструкции: один модуль меняю два раза в год, а другой - раз в шесть месяцев. Но всякий раз получается, что меняются они одновременно. Мистика.

Мистика, которая заставляет пользователя сомневаться и тратить время.

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

Да, удержать согласованность сложно. Очень сложно. Нужен навык. Но даже элементарная самопроверка и повторное прочтение текста позволят в значительной степени исправить недочеты. Тем более сегодня, когда с этой задачей хорошо справляется ИИ.
😁3🤯2👍1
Угадайка!
😁1
Как называется панель, выделенная красным на картинке выше?
Anonymous Quiz
80%
Стек вызовов
3%
Локальные переменные
10%
Точки останова
7%
Список файлов проекта
Skype. Скайп. Скупе. Какая-то мелодия минувших дней...

А ВКонтакте до сих пор надеется, что я заполню это поле)
😁2❤1🙉1
4 миллиарда if-ов

Попалась статья, где автор исключительно с помощью операторов if-else написал программу определения четности числа. Вроде такой, что на картинке.

И здесь интересны циферки.

Если писать программу для обработки 32-битного числа, то:

- Файл исходного кода на Си будет весить 330 Гб. Писать такое руками бессмысленно, поэтому автор сгенерировал код скриптом на питоне.

- Компилятор не сможет прожевать такой большой файл. По крайней мере MSVC. Поэтому придется генерировать бинарь сразу на ассемблере.

- Бинарь на ассемблере получится размером 40 Гб, когда Windows не может запустить exe-шники более 4-х гигабайт. Придется писать собственный загрузчик для отображения бинаря в память.

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

Безудержное веселье)

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

Хотя, помню, как однажды мы уперлись в лимит стека вызовов на одном рекурсивном алгоритме. Я тогда даже не подозревал, что там есть какие-то лимиты)
Поэтому да, всякое может быть.
🔥5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Проект развернул, а базу накатить забыл
😁4
Каждый разработчик рано или поздно столкнется с выбором лицензии, под которой он откроет свету свое уникальное творчество. И выбрать есть из чего. Давайте вспомним, какая лицензия разрешает делать с кодом практически все, что угодно 👇
Какая из этих лицензий является самой разрешительной?
Anonymous Quiz
7%
Проприетарная лицензия
66%
MIT License
24%
GNU GPL (General Public License)
3%
Apache License 2.0
Пожелание в Новый год

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

Драгстеру необходимо "выстрелить" на дистанции в четверть мили, уложившись в несколько секунд. Судьба марафонца - двигаться на пределе в течение 24-х часов.

Конструктивные особенности налицо. У драгстера много элементов редуцировано. "Велосипедные" передние колеса, минимальное рулевое управление, нет кузова, нет крыши, нет зеркал, нет дворников, нет фар. Много чего нет. Зачем, когда гонка длится 4 секунды?

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

Можно подумать, что не будет дождя, и убрать дворники; что ночью будет светло как днем, и убрать фары; что соперники не будут атаковать, и убрать зеркала... Только инженеры марафонца так не думают. Болид всегда выйдет на старт 24-х часов во всеоружии. Подготовленным.

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

Знание - это не драгстер для спринта. Это болид для марафона. Марафона длиною в жизнь. Мелочей здесь нет. Работает каждый кирпичик нашего образования.

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

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

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

Увидимся в новом году!
👏9🎉4
#include <iostream>

int main() {
for ( int i = 0; i < 4; ++i )
std::cout <<
( i == 1 ? 0 :
( i == 3 ? 6 : 2 ) );
return 0;
}
Выше дан код C++. Какой вывод будет у программы?
Anonymous Quiz
85%
2026
4%
0620
4%
0026
8%
0260