Wild Russian GameDev Mentor
98 subscribers
116 photos
5 videos
60 links
Обучаю созданию игр на Unity и программированию на C#.

Запись на занятия – сообщения канала
Лайвкодинг/игры – twitch.tv/ko1ba5er
Бустануть канал – t.me/boost/WRGDM

Please, be patient, я не умею пользоваться отложкой.
Download Telegram
Дорогие товарищи🥰, раз вы сюда подписаны✍️, смею предположить, что вам нравится канал😍, а от админа вы вообще без ума😩! А раз вы работаете/увлекаетесь программированием🎹, то у вас должны быть и друзья-программисты⌨️.
К чему это я🤔? Чтобы я и дальше мог радовать вас полезной информацией😌 в увлекательной подаче🤹, порадуйте и вы меня репостиком➡️.

Отправляйте понравившиеся посты❤️ или ссылку на канал🔗 в рабочий чат, коллегам в Slack'е, бабушке в домовой чат, любимым в лс📇!

А если вы шейх🤠, то можете и закинуть копеечку🤑!
Please open Telegram to view this post
VIEW IN TELEGRAM
💅421
ТВОЙ ПЕРВЫЙ РАЗ #2

По долгу службы мне приходится видеть довольно много первых проектов начинающих разработчиков🧑‍💻, и.. они все неправильные. Не в смысле кода, там понятно, что ошибка на ошибке🪲, и это нормально. А в смысле как ступенька🪜 на пути к становлению настоящим разработчиком🧑‍💻.

Поясняю в следующем порядке:
Размер имеет значение
• Важно кончить
📍
Первый раз всегда неловкий
Каждый раз как в первый

📯Важно кончить

Главная ошибка начинающих разработчиков – думать, что целая игра равна сумме ее механик👎.


На самом же деле все совсем не так😔.

📯Изолента в помощь

Первое препятствие, которое нас встретит – это то, что сдружить между собой разные части нашей игры👩‍❤️‍💋‍👨 - та еще задачка🤔.

Мерой готовности механики👩‍🍳 является не только то, как она работает отдельно🤩, но и то, как она работает в общем в игре. Она не должна🤩 мешать остальным, как по части кода🔤, так и по части дизайна🌹.


Ведь когда мы делаем полоску хп босса😈, красиво анимированную и с вылетающими частицами, мы не думаем, что она будет закрывать миникарту📍. Приходится двигать полоску➡️. А все анимации основаны на позиции🤷‍♀️... В общем, все хуйня, давай по новой🔄.

По опыту, в среднем, вот это связывание всего занимает еще половину времени🌕. Получается, срок разработки уже увеличился на 150%.


Кстати открою секрет, бОльшая часть болтовни💭 про модульность архитектуры, диаграммы классов, SOLIDы и прочее🤓 как раз направлена на упрощение этого действа.

📯Правило 80-20

Все вы слышали эту опопсевшую фразу про то, что в каждом проекте первые 20% работы дают 80% результата, а последние 80% работы дают 20% результата. Так вот, это правда👍.


Наверняка ведь вы даже не думаете перед стартом👉, а как там мне прописать выбор языка и настройки звука🤔. Однако для статуса "готовый проект" это просто необходимо☝️. Туда же отладка, лечение некритичных багов🏥, оптимизация, работа с разрешениями📞 и много чего еще.

Вся эта душная часть😜, кстати, дает не меньше ценного опыта🧪, чем сама разработка, потому что прокачивает понимание целостности продукта и business-value👍.


📯3, 2, 1... Пуск!

Окей, мы сделали цельный готовый игросодержащий продукт по ГОСТу, все как положено🌟. На этом-то все?
Почти))

После создания самогО проекта, мы же не будем распространять его в виде exe-шки или apk-шки⬇️. Надо его куда-то выпустить🧑‍🎓. В больших мегакорпорациях этим занимаются специально обученные люди🤓, но у нас первый проект, поэтому ситуация другая🤕.


Коротко скажу, там нигде не просто🙅‍♂️. А еще и санкции всякие не добавляют радости😔. Времени это займет немало, я бы рассчитывал на месяц-полтора минимум🕖. И это только если считать, что оптимизацию под платформу мы сделали на ранних этапах🌅. А также всякий маркетинг за скобками, но, надеюсь, вы понимаете, что это не менее важно, чем сама игра☝️.

📯Столько работы.. может, ну его?

Я те щас как дам, ну его👹!
Полировка проекта, конечно, не самая веселая часть, однако дырявая🕳 игра еще менее веселая😢. По сути, недоделанная игра ничем не лучше, даже не начатой игры. Ее невозможно распространять📇, и поиграют в нее исключительно люди, которым вы сами насильно ее установите👊. И то, только до момента, как вы отвернетесь👀.

К тому же, в пункте 📯, помните, написано "много ценного опыта"🌡. И он, к сожалению, ключевой, так что едва ли вас возьмут на работу без него.


🪕 – Взялся за гуж, не говори, что не дюж👨‍🦳
🤡 – Все мои проекты просто конченые
Please open Telegram to view this post
VIEW IN TELEGRAM
4💅2🤷221
У ТВОЕГО КЛАССА ВСЕ ЧЛЕНЫ В ПУБЛИЧНОМ ДОСТУПЕ

Раз вы просили сделать больше вещей лично про C#📱, сегодня поговорим про еще один механизм⚙️ – уровни доступности.

📯А что это?

Уровни доступности (accessibility levels) определяют, кто сможет взаимодействовать🫳 с типом/членом этого типа👦.


Сразу скажу, они никак не повышают защищенность вашего кода от взлома👩‍💻, при желании, все легко обходится⚪️. Так что, пожалуйста, не прячьте там свои пароли от БД🛂 или другую чувствительную информацию❗️.

А нужны они для того, чтобы обеспечить инкапсуляцию, сокрытие и SOLID📦 – короче, чтобы сделать наш код красивым и понятным💖.


Итак, в C# их шесть (настоящих – три):

📯public

Доступ ничем не ограничен, значит любой встречный-поперечный может залезть👁 в твой объект и что-то там наменять🔄.

Подходит для DTO📩 (скоро пост об этом) и методов, которые реально должны быть доступны отовсюду🌐.

Делать же везде public – это ужасный моветон🤦‍♂️, даже когда мы говнокодим на скорую руку💩. Все равно стоит трижды подумать, а так ли нам нужен этот тип/член типа снаружи🤔? Скорее всего, ответ будет "нет"🙅‍♂️.

Является модификатором по умолчанию (используется, если мы не указали другой) для членов интерфейсов😶‍🌫️ и единственным доступным для членов enum'ов🔢.

📯protected

Доступ есть только внутри типа и его наследников👨‍👩‍👦. Требуется довольно редко, но свою пользу приносит🤗.

Так же, как и public, лучше им не бросаться, если не требуется😑.

📯private

Доступ есть только внутри своего типа🔐.

Обязателен к использованию по умолчанию☝️.

Пишите его всегда и везде. И только если вам действительно нужен тип/член типа снаружи📢... С тяжелым сердцем😬 можете поставить свой protected или, не дай Бог, public.


Некоторые говорят🤯, что вообще все поля должны быть private, а доступ к данным должен осуществляться через методы или свойства, но, на мой взгляд👁, это уже перебор🙅‍♂️.

Является модификатором по умолчанию для членов классов👍 и структур🏗.

📯internal (и варианты)

Эти три типа используются для ограничения доступа вне собственной сборки🏃. То есть, уже полезно только для библиотекарей📖. Но давайте их все равно кратко упомянем🤙:

internal – доступ только в своей сборке🏃;
protected internal –доступ в своей сборке🏃 или типах-наследниках🤰;
private protected – доступ только в типах-наследниках своей сборки🐸.

Использовать только если вы пишете библиотеку📚.

Повторяю, от реверс-инжиниринга🔓 это не спасет, но можно скрыть ненужные вещи от чужих глаз🙈.

📯И куда их совать?

Можно добавить по одному модификатору на тип (класс, структура, интерфейс и пр.) или член типа😄 (поле, метод, свойство или вложенный тип).


На корневые типы🌳 – не объявленные внутри других типов – можно наложить🤲 только internal и public (по умолчанию – internal).

На члены структур можно наложить🤲 только те, которые без наследования💊 (public, internal и private).

📯свойства

Есть еще такая штука, как свойства – это методы, которые притворяются полями👨‍🌾. Здесь только надо упомянуть☝️, что мы можем выставлять им модификаторы доступа отдельно💔 для get и set. Например, так:

public int number { get; private set; }


Ограничения следующие: "конкретный"🫵 модификатор (лично для set или get) может быть только один☝️, а также не может быть "больше", чем "общий"📉.

🪕 – Хорошая статья, доступочтенный админ
🤡 – Поставил доступ к жопе админа public
Please open Telegram to view this post
VIEW IN TELEGRAM
5🍓2🤷22
ТВОЙ ПЕРВЫЙ РАЗ #3

По долгу службы мне приходится видеть довольно много первых проектов начинающих разработчиков🧑‍💻, и.. они все неправильные. Не в смысле кода, там понятно, что ошибка на ошибке🪲, и это нормально. А в смысле как ступенька🪜 на пути к становлению настоящим разработчиком🧑‍💻.

Поясняю в следующем порядке:
Размер имеет значение
Важно кончить
• Первый раз всегда неловкий
📍
Каждый раз как в первый

📯Первый раз всегда неловкий

Я надеюсь, вы не думали, что у вас сразу получится не то, что переворот в индустрии✈️, а вообще хотя бы хорошая игра👾?


Да не юлите, знаю, что думали😮‍💨... Сейчас расскажу, почему все не так радужно🌈.

📯Ресурсы

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


Да, все обожают истории успеха про молодого разработчика👶, который с мамкиной шеи продал квадриллион копий своей первой игры😧. Но любят-то их как раз за уникальность. А всем остальным, увы, успехи даются через кучу набитых шишек🌲.

📯Опыт важнее, чем идея

Твое новое видение👁, изобретение доселе невиданного колеса🛞 может действительно быть гейм-ченджером💥, однако оно не взорвет индустрию, если ты не сможешь его реализовать🤪. А даже если и сможешь это, не сможешь достаточно хорошо реализовать все, что вокруг🔎.


Ведь, как мы разбирали в прошлой статье цикла, в каждом проекте бóльшая часть работы❤️ – это связать отдельные механики в полноценную игру🧶. И тут новичок, случайно сделавший отлично🤓 сильно проигрывает профессионалу, стабильно делающему хорошо😎.

К тому же, очень часто мега-идея требует многих тысяч человеко-часов👨‍🦰. В такой ситуации я бы посоветовал на время сохранить ее в сердце❤️ и потренироваться на чем-то попроще🏓. Если мысль действительно стоящая, ничего с ней не случится за пару-тройку лет, но наоборот, она станет выдержанная, как хорошее вино🍷.


А может, твоя идея вообще окажется нежизнеспособной💀. И ты бы знал это, будь у тебя больше опыта🤔.

📯Все простые дороги стоптаны

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

Ты правда думаешь, что никому из них не пришла такая же идея🤔? Тогда доделывай домашку по дробям, и бегом реализовывать👶!


Увы, наш мир так устроен, что если что-то появилось вчера, игру про это сделали позавчера😱.

Но как же, – спросите вы – есть же совершенно уникальные игры и дизайнеры🤯, разве кому-то, кроме Кодзимы🤯 могло прийти в голову сделать игру про хождение пешком по горам🚶‍♂️? Да, и даже пришло, и не один раз👍. Успех именно Кодзимы создан не идеей, но трудом и опытом👨‍💻.

📯И что теперь, делать 3 в ряд ради опыта?

Да нет, конечно🚫. Любить свою игру важно и нужно, иначе вы ее просто забросите😮.

Однако не стоит ожидать, что она будет хорошей. В лучшем случае, "для первого раза норм"🙈. Постарайтесь выразить в ней то, что для вас важно, но не бойтесь отпустить, когда придет время😰. Вас точно ждут более великие свершения🦸‍♀️.


Это мертворожденный уродец😐, который, однако, необходим, чтобы научиться рожать умных и прекрасных💯.

📯Тогда сделаю на отвали, все равно же говно получится

Тоже нет👎, ведь тогда ты не получишь самого главного от первой игры – ценного опыта🧠. И первой у тебя станет уже вторая. А может, и третья, и четвертая🧠...

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


🪕 – Первая игра – колыбель программиста, но нельзя же вечно оставаться в колыбели.
😭 – Блин, а я уже с работы уволился, чтобы делать игры...
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3👀21😭1
НЕ ИСПОЛЬЗУЙ ДРОБИ (ИСПОЛЬЗУЙ БРОНЕБОЙНЫЕ)

📯Постановка проблемы

Вы наверняка слышали анекдот😁, что

Console.WriteLine(0.3f + 0.4f == 0.7f);
//Вывод: False


А дело тут в том, что при записи✍️ наших десятичных дробей в двоичную систему счисления компьютера💾 происходит округление🟢. Разница там крохотная🤏, до 10^(−45), однако в результате мы получаем не 0.7, а 0.6(9)⚠️.


Есть decimal, однако он, во-первых, жутко медленный, а во-вторых, все равно не бесконечный.

📯А что делать?

Если нам нужна определенная точность🎯 (X знаков после запятой), мы храним данные в целых числах, а при выводе добавляем точку в нужном месте👍.
То есть, цену храним в копейках, массу в граммах (или миллиграммах🤙).


📯Но почему же все пользуются этими float, double и др.?

Да потому что всем просто все равно😐. Ну правда, если у тебя, например, положение объекта сдвинется🤪 даже на сотую долю стандартных единиц, ты ведь этого даже не заметишь🤷‍♀️. Так что забей. Только помни🧠, что сравниваем мы через

Mathf.Abs(a - b) <= Mathf.Epsilon


❤️ – Лайк за короткий пост
🤡 – Но читать мне все равно лень
Please open Telegram to view this post
VIEW IN TELEGRAM
6💅11
ТВОЙ ПЕРВЫЙ РАЗ #4

По долгу службы мне приходится видеть довольно много первых проектов начинающих разработчиков🧑‍💻, и.. они все неправильные. Не в смысле кода, там понятно, что ошибка на ошибке🪲, и это нормально. А в смысле как ступенька🪜 на пути к становлению настоящим разработчиком🧑‍💻.

Поясняю в следующем порядке:
Размер имеет значение
Важно кончить
Первый раз всегда неловкий
• Каждый раз как в первый
📍

📯Каждый раз как в первый

Вот ты сделал все как я говорил в первых трех статьях📄. Через боль, маты, выгорание и превозмогание🔥 все-таки выпустил свою первую игру👾. Теперь-то ты готов🦋? Хех, не🤣)

В сообществе индюков🦃 даже существует дискуссия о том, сколько "первых" игр должно быть у разработчика для того, чтобы он начал "нащупал себя🫴". Кто-то говорит, 5, кто-то – 100️⃣.

Это, конечно, зависит от удачи🍀, сообразительности программиста🧠 и многих других факторов. Однако, на мой взгляд, у настоящего программиста каждый проект в каком-то смысле первый👼.


📯Будь в тренде

Современный мир очень быстрый💨, постоянно появляются новые технологии👨‍💻, а нонешние безвозвратно устаревают👵. Особенно, в нашей любимой айтишечке👨‍💻. Буквально за два года можно выпасть из повестки так, что придется делать новую первую игру🤟.


Соответственно, в каждой следующей игре что-то будет по-новому🆕.

📯Век живи – век учись

Есть примерно бесконечное количество знаний🤯, существующих в гейм-деве👾. И если на очередном проекте ты ничему не научился, значит, ты топчешься на месте🧍‍♂️. Это не значит, что нужно выбивать у начальства RTS🗺, когда компания делает три в ряд🧩 или скакать с движка на движок, но ты уверен, что типовые задачи – то, ради чего ты начал заниматься программированием🤔?

Даже создавая ремейк какой-то игры😒 можно пойти другим путем, попробовать превзойти оригинал💯, возможно даже переделать архитектуру всего проекта🏗, при этом не поломав геймплей🏠. Та еще задачка, скажу я вам🎧.


Есть хороший показатель того, что ты завяз в болоте🤔: перед началом задачи ты полностью знаешь, как ее выполнить. В хорошей же задаче тебе понятно около 30%-40%🤨. Это не относится к плохому ТЗ и не относится к плохому программисту☝️. Но если ты точно знаешь, что нужно делать, значит, эта задача уже решена, нечего тратить на нее время💠.

🪕 – Никогда такого не было, и вот опять...
🤓 – Те, кто не помнит прошлого, обречены на его повторение
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤓31💅1🤷1
Channel photo updated
Wild Russian GameDev Mentor
Channel photo updated
Полная картинка авы, если кому вдруг надо.
4💅11
В ЗДОРОВОМ ТЕЛЕ ЗДОРОВЫЙ НОЖ #1

Запела весна, а это значит, что шанс выгнать вас на улицу немного повышен🎉.
Но во мне самом из медицинского только шприцы и таблетки💊, так что этот цикл статей написан совместно с моей дорогой подругой❤️ физическим реабилитологом Судаковой Елизаветой 💉 – врачом, в котором почти в равной степени нуждаются программисты👨‍💻 и дети с врожденными патологиями🩼 (программистам нужнее)...

Оглавление:
• Иди поспи, реально
📍
Спорт – сила, сычевание – могила
Держи осанку, ты же принцесса

📯Иди поспи, реально

Тяжело вставать с утра, а под ночь просыпается жажда жить🌙? Становишься продуктивным только когда уже пора спать🛏? Это нормально, ты просто..
Дурачок со сбитым режимом!
– Аааа, а я думала, сова📷!


📯Не все то сова, что мышей ест

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

Если что, совы🦉 – те люди, которые засыпают после полуночи и встают в 9-10 часов утра☀️. Похоже на "Я провалялся в постели до 15:00, потому что мне было тяжело встать"🤔?
Вот то-то же.


📯Да блин, я буквально Ивакура Лейн(((

Существует стереотип о программистах, мол им лучше всего работается только под покровом темноты🦇. Так вот, это неправда🙅‍♂️.

Мы все обычные люди, нам нужно то же, что и всем🔸. Sex, drugs & rock-n-roll здоровый режим сна, свежий воздух и физическая активность😉.


📯Как уснуть, если ты еще не придумал идеальный ответ в прошлогоднем споре

Во-первых, днем надо устать😮‍💨. Это значит, минимум, 40 минут ходьбы🦖 и 20 минут двигательной активности🤪 (бег, танцы, лыжи и пр.). Подробнее во второй статье. Здесь только скажу, что этот пункт стоит первым, потому что без него вообще ничего не получится❗️.

Во-вторых, трава реально помогает прочистить голову🧠. ДА НЕ ТА🚫!
В смысле, на улицу выйди, траву потрогай🌿. Хотя бы до ларька за пивом🍺. Но лучше в парк или в лес🌳. И обязательно днем, пособирай солнечные лучики🌞.

В-третьих, не тошни своему организму на нервы🫨. Естественно, ты сегодня не уснешь в 22, 24 и даже в 2, если вчера ты только лег в 8 утра🥱. Старайся ложиться в одно время, приближая его к 22:00 или раньше🥱. Уже через пару недель организм начнет привыкать, и будет и позволять тебе поспать, и сам этого просить💚.

Это все помогает нормализовать гормональный фон, повышает настроение, запускает обмен веществ↗️, и даже член растет (но это не точно).

📯Сон для слабаков, а мне некогда

Очень понимаю желание доделать работу побыстрее, хоть и ценой сна🧑‍💻. Однако это работает один, ну два раза в месяц🗓. Далее мы начинаем терять в продуктивности настолько, что сверхурочная работа уже не окупается🥱. Да и здоровье не резиновое. Лучше научись нормально планировать свое время.

Режим сна и спорт увеличили мою продуктивность в разы📈. А мне, как человеку безработному, критически☝️ важно быть максимально далеко от прокрастинации🦥.

🤡 – Хороший пост, пока читал его, уснул
❤️ – Я не спал всю ночь, перечитывал твой канал
Please open Telegram to view this post
VIEW IN TELEGRAM
63💅11
ДОКУМЕНТАЦИЮ ПИШУТ ПОБЕДИТЕЛИ

Ставлю сотку, что никто из вас никогда в жизни не писал документацию🤝. И вот, почему это большая ошибка.

📯Зачем?

Для себя:
Если ты работаешь один, и проект длится больше двух недель, то ты работаешь не один☝️. Вас уже, как минимум трое: ты, ты неделю назад и ты через неделю👯‍♀️. Память программиста не забита кодом, память программиста забита архитектурой и информацией, где прочитать про код😐.


А сам код оттуда очищается сразу, как ты переходишь к другому участку🧹. Так что сэкономь время – напиши пару строчек, чтобы потом не разбираться в своем произведении💩.

Для друзей:
Если же ты работаешь с кем-то, тут количество читающих код в первый раз увеличивается в разы📈. К тому же, это помогает правильно использовать ваши модули другим людям🫂.


Вот, например, написал ты метод, который принимает string. Вася пытается его использовать, и думает: "А что если формат неверный🤔?" И делает проверку на входе. А ты-то тоже об этом подумал🤔, и сделал проверку внутри. Затем Андрей посмотрит, как Вася использовал твой метод, и сделает так же у себя👀. И всего этого можно было избежать, если бы ты написал буквально одну строчку✏️.
А это еще лайтовый вариант, представь, что ты ввел на аргумент какие-то ограничения, неочевидные снаружи🤯.

📯Как?

Пока этого не запросит HR или директор, даже не думай над документацией вне самого кода🙅‍♂️. Она нужна только если ты пишешь API или библиотеку или у вас команда быстро растет👍. Из старой же команды никто ее просто не будет читать добровольно🗝️.


Но как документировать в коде, комментариями, что-ли?
Да👍.

В C# это называется XML doc comment, в остальных JavaDoc или подобные💬.
Все это – форматы комментариев, которые позволяют описывать методы и классы в коде, чтобы IDE потом показывала эти подсказки💡. Почти все, что тебе нужно документировать умещается сюда: описание метода, параметров, ссылки на примеры использования, какие ошибки выкидывает и почему.


Вот ссылочка
для наших, остальные сами ищите🤭.

Выглядит это так:
    /// <summary>
/// This method does things.
/// </summary>
/// <returns>The value of <paramref name="arg"/> </returns>
/// <param name="arg">The argument to the method</param>
int Method(int arg) => arg;


📯Что?

В пункте 📯Зачем? я уже упомянул, что нужно документировать, теперь поподробнее📜:
1. Краткое описание – что за метод, о чем он🤔.
2. Детали параметров. Например, включаются ли крайние значения в диапазон🤔.
3. Возврат – что вообще значит этот Tuple<int, string, char>⬅️?
4. Список исключений и их условия🔴.
5. Примеры использования – да, их можно и так по коду найти, но здесь можно указать лучшие/важнейшие.
6. Прочее – то, что считаете реально важным для понимания🗑.

Исключением будет, конечно, то, что реально очевидно☀️: истинная цель документирования – позволить разработчику при взаимодействии с вашим методом не залезать в него и не разбираться, как он работает в деталях👨‍💻.


Вряд ли у вас будут вопросы по методу
int sum(int a, int b)


Все вышеописанное касается, естественно, только случаев работы над настоящим большим проектом😂. В жопогорящем стартапе🔥 у вас не будет времени не то, что документацию писать – фичи не все будут допилены. Но стараться все равно надо😉.


Кстати, если вы новичок, и вас посадили писать документацию, это плюс. Так документация становится лучше (синьеру "и так все понятно"), а джун быстрее вкатывается в продукт🛼.


✍️ – Документирую: пост прочитан, выводы не сделаны.
🤡 – Принципиально не документирую код, а то он станет понятным, и меня смогут уволить.
Please open Telegram to view this post
VIEW IN TELEGRAM
86💅2
В ЗДОРОВОМ ТЕЛЕ ЗДОРОВЫЙ НОЖ #2

Запела весна, а это значит, что шанс выгнать вас на улицу немного повышен🎉.
Но во мне самом из медицинского только шприцы и таблетки💊, так что этот цикл статей написан совместно с моей дорогой подругой❤️ физическим реабилитологом Судаковой Елизаветой 💉 – врачом, в котором почти в равной степени нуждаются программисты👨‍💻 и дети с врожденными патологиями🩼 (программистам нужнее)...

Оглавление:
Иди поспи, реально
• Спорт – сила, сычевание – могила📍
Держи осанку, ты же принцесса

📯Спорт – сила, сычевание – могила

Интенсивная физическая активность должна происходить не менее 3 раз в неделю. Не очень интенсивная (ходьба, зарядка) – каждый день☝️.


Это помогает тебе крепче спать💤, улучшает самочувствие✌️, облегчает повседневные задачи🪜 (подняться по лестнице или добежать до автобуса) и продлевает активную жизнь💪.

📯Спорт все хотят, не выдумывай

Всем людям в естественном порядке нравится спорт🏃‍♂️. Адреналины, эндорфины и все прочее🧬. Для того, чтобы сопротивляться ленивому энергосберегающему мозгу, в нас генетически заложено получать удовольствие от физических нагрузок❤️. И это касается всех без исключения, ты просто привык жить по-другому. Но, уверяю тебя, стоит немного перестроить свой быт, и ты начнешь радоваться спорту🥹.

📯Ахаха, ищи себя

Спорт есть разный. Не всем (даже мало кому) нравится просто бегать или тягать штангу🥱. Зато есть много других видов активности, и уж один из них тебе точно подойдет🤩.


Есть коньки и велосипед, есть бассейн, есть гребля🚣 (спортивная и туристическая), есть теннис🏓 (большой и настольный), есть танцы и лыжи💃, есть ориентирование, есть хайкинг🏕. В общем-то список можно продолжать очень долго📜, и все, что в нем (кроме киберспорта и литрбола), прибавит тебе 130-150 лет жизни👵. Даже если ты толстый вонючий любитель ДнД, попробуй ролевое фехтование🧝. Уверен, тебе понравится.

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


📯Вкатывание в спорт

Если ты только начинаешь, обязательно занимайся с инструктором👨‍🏫, который расскажет тебе, что можно, а что неможно🚭. Он поставит твою технику, составит план, предостережет от травм🩼 и немного посплетничает.


Если ты все же выбрал заниматься самостоятельно с помощью онлайн-программ или домашних тренировок, то внимательно следи за самочувствием👁‍🗨. И все-таки сначала хоть немного позанимайся в зале😂. Там тебе расскажут базу, какие вообще есть группы мышц и какие на них бывают упражнения✍️. А еще там страхуют и подсказывают🆘.

📯Постоянство – залог успеха

Спорт – это не стометровка, спорт – это марафон🏃. И тут важнее не результат за одну-две недели взрывной мотивации, а постоянство🚉.


Если ты будешь заниматься через силу, ты не добьешься лучших результатов. Потому что забьешь просто🏳️.

Выдели для себя несколько режимов активности и меняй их по настроению. У меня, например, так☺️:
1. 20-минутная йога🧘‍♀️ – когда мне плохо, и лень, и тяжесть бытия невыносима. Она не слишком активная, зато ее я могу делать почти в любом состоянии.

2. Бег + силовые🏃‍♂️ – стандартная нагрузка, бóльшую часть времени я делаю ее. Позволяет расти и развиваться, но требует сил и времени.

Список выше не является индивидуальной спортивной рекомендацией🙅‍♂️. Вам скорее всего не подойдет это, а подойдет что-то немного (или много) другое.

Но то, что вам нужно – это найти себе легкий вариант нагрузки для плохих дней🫁 и нормальный вариант нагрузки для хороших дней🫁. Возможно, разные варианты для каждого, чтобы менять когда надоест или добавить еще ступеней. А еще легкий вариант необходим после болезни, травмы, отпуска и вообще любого перерыва♻️.
Please open Telegram to view this post
VIEW IN TELEGRAM
📯Не забивай на свое тело

Человек – не мозг в баночке🧠. Личность составляет не только головной мозг, но и все тело🧍‍♂️. Не работает желудок –> мозг не получает питания –> высший разум весь скукоживается до "хочу кушац(("🪢.

Если взять шире, гормоны, напрямую влияющие на наше поведение, производятся во всех частях организма💼. А тот, кто не верит в силу гормонов, пусть спросит у товарища женщины – им досталось от природы разного👩.


Помни, что твой организм приспособлен гонять антилопу в саванне🐐, а не сидеть за комплюхтером👨‍💻. А вся ваша хваленая высшая нервная деятельность – лишь вариант приспособления к беганью за антилопой.

Слабая плоть питает разум, она же его родитель и воплощение, так что береги плоть💖. Сделай для нее что-то сегодня.



P.S. Если вы мужчина призывного возраста, в период призывной кампании ходите в зал на свой страх и риск🔫.

⬆️ В начало поста ⬆️

🤡 – Да, я качаюсь. На качели.
❤️ – Не знаю, что тяжелее: пожать соточку или прожить два дня до следующей статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
85💅211
451 ГРАДУС ПО KO1BA5ER'У

📯Книги, которые сделают тебя глупее

Пожалуйста, не читайте книг по программированию👎. Вас на курсах от Яндекса большему научат (хаха, научат на курсах😂).

📯Чернила на бумаге, мы что, в 18 веке?

Вопреки распространенному мнению, информация в книге📖 не всегда качественнее информации в интернете🌐.
Во-первых, что главное, книга пишется кучу времени, а публикуется еще дольше📖. Выйдет три новых версии языка, пока тебе этот кирпич только доставят🧱.
Во-вторых, книги пишут люди, а не ангелы👼. Да, у них есть редакторы и корректоры, но это не делает мнение писателей автоматически верным. Возьмите Капитал – вроде, и автор ученый немец, и тираж огромный, а все равно бред внутри😐.

📯Теория < практика

Язык , тем более, письменный – не самый легко усваиваемый материал📖. А лучший – практика🔨. Ведь из чего состоит работа программиста? Получаем задачу, пытаемся решить в лоб, определяем, чего нам не хватает, ищем информацию, решаем задачу👨‍💻. Книга же говорит: "Вот так ты можешь сделать это"🧑‍🏫. Но в настоящей работе, как назло, потребуется сделать чуть-чуть другое🙂. И ты все равно пойдешь смотреть ютуб документацию📄.

📯Архивы неполны

В IT есть огромное количество знаний🧠. Они не влезут ни в одну книгу, ни на одну полку, ни даже в целую домашнюю библиотеку📚. Не пугайтесь, это все не придется зубрить, но надо знать, как и где искать🔍. Точно не в книгах🙅‍♂️.

📯А как же...

Единственная книга, которую я разрешаю – это Clean Code Роберта <наше все> Мартина👍. И то, только как дань уважения, вообще-то, и ее читать не стоит😎.

🤡 – Я не умею читать.
🪕 – кНига – лучший подарок😂.
Please open Telegram to view this post
VIEW IN TELEGRAM
96💅21
ГАЙД ПО РЕАКЦИЯМ

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

🤡 – Ну это просто, это когда вы считаете, что автор, хоть и волк, но в цирке выступает.
👌 – И так сойдет, тут тоже несложно.
🩼 – Костыль, если решение, упомянутое в статье, временное, "уродливое" и используется для обхода проблемы, требующей более сложного и долгосрочного исправления.
😀 – Реакция для Майнкрафта и для 🗿.
🎸 – Когда душа поет или нужно сказать ЯРУССКИЙ.
😐 – Пиксельный Ленин, означает коммунизм или небольшой шок.
🦖 – Динозаврик из моего проекта по нейросетям. Используется для указания на глупость нейросетей, автора или кого-то еще.
🗿 – Жаренные окурки. Значит все, и одновременно ничего не значит. Делайте с этим что хотите.
Please open Telegram to view this post
VIEW IN TELEGRAM
1042🤔1💅11
В ЗДОРОВОМ ТЕЛЕ ЗДОРОВЫЙ НОЖ #3

Запела весна, а это значит, что шанс выгнать вас на улицу немного повышен🎉.
Но во мне самом из медицинского только шприцы и таблетки💊, так что этот цикл статей написан совместно с моей дорогой подругой❤️ физическим реабилитологом Судаковой Елизаветой 💉 – врачом, в котором почти в равной степени нуждаются программисты👨‍💻 и дети с врожденными патологиями🩼 (программистам нужнее)...

Оглавление:
Иди поспи, реально
Спорт – сила, сычевание – могила
• Держи осанку, ты же принцесса
📍

📯Держи осанку, ты же принцесса

Сидячий образ жизни ведет к вполне однозначным последствиям, и все они давно изучены👨‍⚕️: гиподинамия, кривая спина и повышенные риски многих заболеваний💀.

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

📯Делай это упражнение три раза в день, и спина болеть не будет

И так, четыре непростых шага, которые не сделают вас полностью здоровым, но хоть немного отсрочат ваше превращение в шахматного коня:

1. Следи за осанкой.
Твоя спина должна быть прямая все время♾️. Сиди прямо, ходи прямо, спи в планке💪. Сначала будет тяжело, зато потом будет совсем чуть-чуть полегче👍.


Я когда начал следить за осанкой, моя спина после трех часов уже изнывала от боли😫. А сейчас, по прошествии нескольких месяцев, я могу сидеть прямо целых шесть часов, и даже не заплакать😭! Это дело не быстрое, и растянется на многие месяцы. Но, выработав привычку, ты сможешь держать осанку практически без усилий, и оно того стоит🥇!

А еще, поставь монитор на уровне глаз, чтобы не приходилось смотреть на свой код сверху вниз😀.

2. Перерывы с разминкой.
Каждые 30-60 минут ты обязан делать короткий перерыв на разминку🔋. Подрыгай руками и ногами в разные стороны, убедись, что твои суставы еще не заржавели🕸.


Важно регулярно напоминать своему организму о том, что он все еще мягкий и подвижный🤸, иначе он легко об этом забывает😶‍🌫️. Здесь нужно покрутить шеей, свести лопатки, поднять руки к небу и проклясть его за 5/2🏃‍♂️. Также важно дать отдохнуть глазам: отвести их от монитора, посмотреть близко-далеко, ну вы знаете👁.

3. Спорт.
Подробно уже говорили в прошлой статье, здесь добавлю, что спорт хорошо бы направить на спину и/или растяжку💪. То есть, плавание, йога, воркаут, вот это все🏊‍♂️.


Конечно, полезной будет любая двигательная активность, но выбирая определенные ее виды, мы сможем убить двух зайцев одновременно🐇: и от гиподинамии спастись🏃‍♂️, и спину выпрямить📏.

4. Массаж.
Это не только приятно, но и единственное, что по-настоящему расслабит зажатые мышцы😌. А зажатые мышцы – это твоя главная проблема❗️.


Да, это даже хуже, чем кофе на коровьем молоке вместо миндального☕️. По-сути, твои мышцы так напряженно удерживают спину в согнутом положении, что уже не могут расслабиться🥵. Для того, чтобы это исправить, требуется сначала их размять🛤, а потом заставить работать в правильном направлении🔙. Только, ходить нужно к специалисту, а не в дрочильни спа-салоны🧖. Да, удовольствие не из дешевых, но тут же все айтишники с зп $300к/наносекунду – переживете💰.

📯Почему это важно?

Как стержень, держащий все тело💀, спина влияет на все, и проблемы с ней тебе точно не нужны🙅‍♂️. Так что, если будешь придерживаться рекомендаций, в старости тебе придется меньше времени тратить на очереди в поликлинике🏥, а значит больше времени ты сможешь отдавать сидению на лавке и ругани в ЖЭКе👵.

Люби свое тело, и оно ответит тебе взаимностью🍃.

🔝 В начало поста 🔝

😭 – Я уже хожу буквой Г(((
👌 – Йа криветко🦐! главное, чтоб к пиву не зохавали...
Please open Telegram to view this post
VIEW IN TELEGRAM
7💅3🔥1😭11
This media is not supported in your browser
VIEW IN TELEGRAM
🍓31
Корова чешется, спасибо за внимание
4🔥1🍓1
ЗАБУДЬТЕ GRASP

Хочу с вами открыть разговор про паттерны проектирования с такого любимого дедами👨‍🦳 набора как GRASP.

📯Это что за покемон?

Во-первых, что, вашу мать, такое этот ваш GRASP🤷‍♀️? Википедия пишет:
— шаблоны ПО для назначения главных ответственностей

, однако это просто неправда🤥!

Чтобы вы составили представление, вот типичные "паттерны" GRASP📜:
– Низкое зацепление⛓️‍💥 – ну это, короче, когда подпрограммы/модули слабо связаны друг с другом.
– Высокая связность🧶 – это когда в одном модуле содержится только то, что непосредственно с ним связано.
– Полиморфизм🐏 – Нет, ну это уже ни в какие ворота...

Ну вы поняли, это больше похоже на жизненные советы от пьяного бати🍷, чем ясные☀️ паттерны, которые вообще хоть что-то означают🤨.

📯Цель была упростить программирование

Я до этого GRASP не смотрел внимательно, а так, издалека посмеивался👉. Но для статьи должен был вникнуть👩‍🎓. И мне пришлось вникать🧐... То есть, вместо 5 минут, я потратил около часа на прочтение нескольких статей📖, выяснил, что каждая о чем-то своем, добрался до первоисточника, и наконец разобрался💡. И результат не то, чтобы стоил усилий.

Там никакой мудрости предков😺, никакого космического озарения🧘, только немного воды💦 и сложносочиненный пятикратно переваренный SOLID😅.


📯О чем на самом деле GRASP

В книге Крейга Лармана «Применение UML и шаблонов проектирования», где они впервые появились, прямым текстом об этом написано🫳:
Что такое шаблоны GRASP?
– Это шаблоны, описывающие фундаментальные принципы распределения обязанностей между объектами.


Уберите отсюда совершенно не к месту использованное слово "шаблоны"🚜, и станет ясно, что хотел сказать автор🤔:
Сейчас я вас научу распихивать отношения между классами на основании их ответственностей.


Если прочитать главу целиком📖, дополнительно откроется, что уважаемый учитель👨‍🏫 пытается объяснить, как так из предметной области🚢 нарисовать красивую UML-диаграмму 🚤, чтобы потом, может быть, это спрограммировать🛳️.

Резюмируя📦, GRASP – список принципов, имеющих довольно узкую сферу применения🤏, и неоправданно сложных для понимания🧐.


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

🤡 – Я репер, я умею только грррясп.
👌 – Нельзя забыть то, чего не знал.
Please open Telegram to view this post
VIEW IN TELEGRAM
72💅1
Вот и закончился мой отпуск в солнечной Карелии☀️
Болота радостно встретили бесконечными комарами и неожиданно хорошей погодой (обещали дождь на все эти дни)🪷
Но как только появился интернет, на душе как кошки заскребли😩.. и вдруг я осознал, что хорошо понимаю, тех людей, которые сбегают из IT и открывают свою пасеку🐝...

Темой сегодняшней статьи могло быть выгорание🔥, но вместо того, чтобы ее писать я решил позволить себе отдохнуть😁.
И вы тоже отдыхайте почаще🏖️.

А спросить подробнее, как там Карелия, вы можете на
📱 стриме по Майнкрафту, уже онлайн 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73211