При чем тут Дарвин?!
Годами рассуждая об Объектно Ориентированном Программировании, я рассказывал о том, что идея ООП не только не нова, но и берет свои истоки из античности. Хотя тогда о программировани еще ничего не знали.
Зато знали про классификацию и наследственные признаки и пытались ситематизировать мир, чтобы лучше понять как он устроен.
В 18 веке жил ученый Карл Линней, который был "ООП программистом" больше и лучше чем многие из ныне живущих.
Ученый создал систему классификации и наследования для описания живой природы. Да вы все встречали эту систему на уроках биологии.
Странно. Но моя память заменила имя ученого Карла Линея ("узнал" это имя только сегодня) на имя Дарвина. Почему на Дарвина? Не знаю. Он же из другой истории.
Прости меня Линней, Дарвин тут совсем ни при чем.
А ты, Линней, крутой! Тебе бы ООП программы на C++ писать с твоим то системным мышлением.
ООП — это про подход, а не про код.
Годами рассуждая об Объектно Ориентированном Программировании, я рассказывал о том, что идея ООП не только не нова, но и берет свои истоки из античности. Хотя тогда о программировани еще ничего не знали.
Зато знали про классификацию и наследственные признаки и пытались ситематизировать мир, чтобы лучше понять как он устроен.
В 18 веке жил ученый Карл Линней, который был "ООП программистом" больше и лучше чем многие из ныне живущих.
Ученый создал систему классификации и наследования для описания живой природы. Да вы все встречали эту систему на уроках биологии.
Странно. Но моя память заменила имя ученого Карла Линея ("узнал" это имя только сегодня) на имя Дарвина. Почему на Дарвина? Не знаю. Он же из другой истории.
Прости меня Линней, Дарвин тут совсем ни при чем.
А ты, Линней, крутой! Тебе бы ООП программы на C++ писать с твоим то системным мышлением.
ООП — это про подход, а не про код.
👍2
Media is too big
VIEW IN TELEGRAM
Учеба
В этом году я уже прохожу обучение по 3-м довольно разным направлениям. Получается довольно увлекательно.
Поймал себя на мысли, что пора придержать коней. Начинаю не успевать.
В этом году я уже прохожу обучение по 3-м довольно разным направлениям. Получается довольно увлекательно.
Поймал себя на мысли, что пора придержать коней. Начинаю не успевать.
👍2
Полиморфизм
Наверное и вы иногда что-то кушаете. Я, например, обычно придерживаюсь 3-х разового питания.
Есть — это базовая потребность и очень привычная функция человека.
Если задуматься, когда я ем мороженное, я ем его маленькой ложечкой, маленькими кусочками. Оно ведь холодное. И челюсти в этом процессе мне совсем не нужны.
Когда я ем стейк — я использую нож и вилку, и активно напрягаю челюсти, чтобы разжевать мясо.
Пиццу я ем обычно руками, и так сильно челюсти не напрягаю.
А еще можно есть орехи. Там зубы и челюсти работают довольно активно.
Как по разному можно есть! Функция одна, но в зависимости от ситуации реализуется совершенно по разному.
В программировании есть понятие полиморфизма. Обычно, это когда одну и туже функцию можно выполнять по разному в зависимости от вводных данных или контекста.
Полиморфизм это всего лишь один из инструментов в программировании, который позволяет отображать процессы реального мира в виде кода.
Есть вопросы про полиморфизм? Пишите в комментариях. Обсудим
Наверное и вы иногда что-то кушаете. Я, например, обычно придерживаюсь 3-х разового питания.
Есть — это базовая потребность и очень привычная функция человека.
Если задуматься, когда я ем мороженное, я ем его маленькой ложечкой, маленькими кусочками. Оно ведь холодное. И челюсти в этом процессе мне совсем не нужны.
Когда я ем стейк — я использую нож и вилку, и активно напрягаю челюсти, чтобы разжевать мясо.
Пиццу я ем обычно руками, и так сильно челюсти не напрягаю.
А еще можно есть орехи. Там зубы и челюсти работают довольно активно.
Как по разному можно есть! Функция одна, но в зависимости от ситуации реализуется совершенно по разному.
В программировании есть понятие полиморфизма. Обычно, это когда одну и туже функцию можно выполнять по разному в зависимости от вводных данных или контекста.
Полиморфизм это всего лишь один из инструментов в программировании, который позволяет отображать процессы реального мира в виде кода.
Есть вопросы про полиморфизм? Пишите в комментариях. Обсудим
👍2
Почему программирование это трудно
Задача. Есть картинки в формате PNG. Хочется их все оптимизировать по размеру.
Часть картинок имеют вокруг себя пустой прозрачный фон. Который совершенно бесполезен, но раздувает размер картинки. Хочется обрезать этот ненужный фон.
Решение. Существует самая мощная и известная программа/библиотека ImageMagic — это такой фотошоп для программистов. Команды из этой библиотеки позволяют обрабатывать картинки как только твоей душе угодно.
Есть в этой библиотеке команда
Именно эту команду рекомендуют как способ удалить ненужную прозрачность вокруг картинок.
Однако, первый же эксперимент показывает, что эта команда удаляет не только прозрачность, а любой другой однородный фон вокруг картинки. Что неприемлемо в общем случае.
В документации, оказывается, что это написано прямо, но никто же не читает документацию. 👍
Продолжение в треде ⬇️
Задача. Есть картинки в формате PNG. Хочется их все оптимизировать по размеру.
Часть картинок имеют вокруг себя пустой прозрачный фон. Который совершенно бесполезен, но раздувает размер картинки. Хочется обрезать этот ненужный фон.
Решение. Существует самая мощная и известная программа/библиотека ImageMagic — это такой фотошоп для программистов. Команды из этой библиотеки позволяют обрабатывать картинки как только твоей душе угодно.
Есть в этой библиотеке команда
convert с опцией -trim которая специально для того и создана, чтобы удалять бесполезное пространство вокруг основного контента картинок.Именно эту команду рекомендуют как способ удалить ненужную прозрачность вокруг картинок.
Однако, первый же эксперимент показывает, что эта команда удаляет не только прозрачность, а любой другой однородный фон вокруг картинки. Что неприемлемо в общем случае.
В документации, оказывается, что это написано прямо, но никто же не читает документацию. 👍
Продолжение в треде ⬇️
👍3
Я не решил задачу заказчика. Заказчик остался доволен и меня поблагодарил
Сейчас я работаю над проектом одного из крупнейших ВУЗов США. Со стороны заказчика ребята там не глупые, прямо скажем.
Работаю напрямую со своим заказчиком. Мы проектируем часть функционала под его прямые запросы.
На прошлой неделе меня просят сделать то и то, чтобы потом можно было так и сяк. Я сразу накидываю идею как это сделать и беру паузу.
Думаю, собираю идеи от команды. Приходим к выводу, что лучшее решение отказать заказчику в требуемой функции. Это не наша зона ответственности. И даем пачку причин и кейсов, которые это подтверждают.
Но при этом я соглашаюсь помочь с разработкой аналога нужной функции в другой части проекта.
Заказчик выслушал, а потом и говорит, Илья, а вы правы! Какое неожиданное решение! Вы мне отказываете и это многое улучшает! Спасибо!
Вдогонку я рассказал ему историю о собаке ко хвосту которой привязаны банки. С какой скоростью должна двигаться собака, чтобы не слышать шума банок?
Сейчас я работаю над проектом одного из крупнейших ВУЗов США. Со стороны заказчика ребята там не глупые, прямо скажем.
Работаю напрямую со своим заказчиком. Мы проектируем часть функционала под его прямые запросы.
На прошлой неделе меня просят сделать то и то, чтобы потом можно было так и сяк. Я сразу накидываю идею как это сделать и беру паузу.
Думаю, собираю идеи от команды. Приходим к выводу, что лучшее решение отказать заказчику в требуемой функции. Это не наша зона ответственности. И даем пачку причин и кейсов, которые это подтверждают.
Но при этом я соглашаюсь помочь с разработкой аналога нужной функции в другой части проекта.
Заказчик выслушал, а потом и говорит, Илья, а вы правы! Какое неожиданное решение! Вы мне отказываете и это многое улучшает! Спасибо!
Вдогонку я рассказал ему историю о собаке ко хвосту которой привязаны банки. С какой скоростью должна двигаться собака, чтобы не слышать шума банок?
🔥3👍1
Ох, ну и денек.
Конечно, классно, что есть возможность наблюдаться всей семьей в крупнейшем международном госпитале Турции. Но я бы предпочел бывать в больницах пореже.
Конечно, классно, что есть возможность наблюдаться всей семьей в крупнейшем международном госпитале Турции. Но я бы предпочел бывать в больницах пореже.
👍2
О процессе
К каждому интервью, менторской или коучинговой сессии я готовлюсь заранее. Думаю над планом встречи, какие вопросы задать, что подсветить и что можно рассказать человеку, чтобы после встречи он получил важную для себя информацию или нашел новые идеи и пути развития.
Если информации достаточно, обычно это занимает минут 30. Иногда, если запрос необычный или амбициозный — приходится готовиться дольше.
После каждой встречи еще какое-то время думаешь над тем, что ты услышал или рассказал или как проходила встреча. Если это интервью — надо еще отчет написать. Все это время. Все это индивидуальный подход к каждому кейсу.
Вот так и получается, что часовая видео сессия, на самом деле, легко занимает 2-3 часа времени, которые уходят на организационные моменты.
К каждому интервью, менторской или коучинговой сессии я готовлюсь заранее. Думаю над планом встречи, какие вопросы задать, что подсветить и что можно рассказать человеку, чтобы после встречи он получил важную для себя информацию или нашел новые идеи и пути развития.
Если информации достаточно, обычно это занимает минут 30. Иногда, если запрос необычный или амбициозный — приходится готовиться дольше.
После каждой встречи еще какое-то время думаешь над тем, что ты услышал или рассказал или как проходила встреча. Если это интервью — надо еще отчет написать. Все это время. Все это индивидуальный подход к каждому кейсу.
Вот так и получается, что часовая видео сессия, на самом деле, легко занимает 2-3 часа времени, которые уходят на организационные моменты.
👍3
Искусственный интеллект победил
Надо признаться и зафиксировать. Я довольно поздно заскакиваю в этот поезд. Некоторые из моих коллег уже минимум год лихо используют разные формы AI для решения задач.
По прежнему AI совершенно бездумный усреднитель. Который еще и выдумывает несуществующее и не может валидировать.
Но при этом это замечательный помощник в решении рутинных задач.
Наверное именно сегодня я полностью принял, что для меня AI стал новым этапом развития программирования.
Я и раньше мог писать на дюжине языков программирования, но теперь я не только могу, но и могу это делать быстро. Мне не надо искать синтаксис и конструкции языков в документации. Мне подскажут это почти мгновенно. За мной только творческо-созидательная часть. Рутина на AI.
Блин. Классно!
А конфеты ты тоже за меня есть будешь?
Надо признаться и зафиксировать. Я довольно поздно заскакиваю в этот поезд. Некоторые из моих коллег уже минимум год лихо используют разные формы AI для решения задач.
По прежнему AI совершенно бездумный усреднитель. Который еще и выдумывает несуществующее и не может валидировать.
Но при этом это замечательный помощник в решении рутинных задач.
Наверное именно сегодня я полностью принял, что для меня AI стал новым этапом развития программирования.
Я и раньше мог писать на дюжине языков программирования, но теперь я не только могу, но и могу это делать быстро. Мне не надо искать синтаксис и конструкции языков в документации. Мне подскажут это почти мгновенно. За мной только творческо-созидательная часть. Рутина на AI.
Блин. Классно!
А конфеты ты тоже за меня есть будешь?
👍2
На грани разумного
Множество инструментов позволяют тебе узнать насколько ты, человек, преуспел в достижении технического совершенства.
Но есть опасность.
Для людей с неподготовленной психикой, желание достичь абсолютного идеала и каких-то там условных значений может стать навязчивой идеей. Самоцелью.
Реализуя проекты и задачи нужно прежде всего руководствоваться здравым смыслом, балансом между результатом и затраченными ресурсами, реальной потребностью бизнеса.
Я постоянно опасаюсь, что могу потерять берега и заиграться. Начать достигать цифр ради оценки бездушной машины или оценочного алгоритма, а не ради реальной потребности.
Порою приходится себя намеренно останавливать. Это тоже один из навыков, который я выработал за годы в профессии.
Решайте реальные задачи бизнеса — это полезнее всем.
Множество инструментов позволяют тебе узнать насколько ты, человек, преуспел в достижении технического совершенства.
Но есть опасность.
Для людей с неподготовленной психикой, желание достичь абсолютного идеала и каких-то там условных значений может стать навязчивой идеей. Самоцелью.
Реализуя проекты и задачи нужно прежде всего руководствоваться здравым смыслом, балансом между результатом и затраченными ресурсами, реальной потребностью бизнеса.
Я постоянно опасаюсь, что могу потерять берега и заиграться. Начать достигать цифр ради оценки бездушной машины или оценочного алгоритма, а не ради реальной потребности.
Порою приходится себя намеренно останавливать. Это тоже один из навыков, который я выработал за годы в профессии.
Решайте реальные задачи бизнеса — это полезнее всем.
👍4
Поздравляю! 🎉
Пришли радостные для меня новости.
Еще один человек с которым я работал в индивидуальном формате в этом году получил оффер на работу.
Как я понял, сбалансированный вариант с учетом современных реалий рынка — нормально денег, нормально перспектив, нормально по времени с момента начала поиска до момента выхода на работу.
Хотя я и услышал приятные слова благодарности, но не могу не отметить — большая часть самой сложной работы мне не доступна.
Люди с которыми мне приходится работать невероятно талантливые, усердные, трудолюбивые и настойчивые. Они двигаются вперед и прикладывают максимум своих сил, чтобы добиться успеха.
Классно, что я могу помогать им на их пути. Иногда напоминать что они классные, иногда подсвечивать те сильные стороны, которые для них кажутся естественными и никому не интересными. Иногда рассказывать об особенностях профессии или о тонкостях восприятия специалиста со стороны. Да, взгляд со стороны и правда сильно помогает, когда ты ищешь новые направления.
В добрый путь!
Пришли радостные для меня новости.
Еще один человек с которым я работал в индивидуальном формате в этом году получил оффер на работу.
Как я понял, сбалансированный вариант с учетом современных реалий рынка — нормально денег, нормально перспектив, нормально по времени с момента начала поиска до момента выхода на работу.
Хотя я и услышал приятные слова благодарности, но не могу не отметить — большая часть самой сложной работы мне не доступна.
Люди с которыми мне приходится работать невероятно талантливые, усердные, трудолюбивые и настойчивые. Они двигаются вперед и прикладывают максимум своих сил, чтобы добиться успеха.
Классно, что я могу помогать им на их пути. Иногда напоминать что они классные, иногда подсвечивать те сильные стороны, которые для них кажутся естественными и никому не интересными. Иногда рассказывать об особенностях профессии или о тонкостях восприятия специалиста со стороны. Да, взгляд со стороны и правда сильно помогает, когда ты ищешь новые направления.
В добрый путь!
👍8🔥1
CSS хинт
Решения, которые надо сохранить в своем бложике.
В 2024 году HTML/CSS по прежнему не умеет самостоятельно обрезать и ставить троеточие в конце блоков текста, когда в блоке больше 1 строки и у блока задан фиксированный максимальный размер.
В первом приближении можно использовать вот такой трюк, который в целом рабочий для большей части браузеров и устройств.
Решения, которые надо сохранить в своем бложике.
В 2024 году HTML/CSS по прежнему не умеет самостоятельно обрезать и ставить троеточие в конце блоков текста, когда в блоке больше 1 строки и у блока задан фиксированный максимальный размер.
В первом приближении можно использовать вот такой трюк, который в целом рабочий для большей части браузеров и устройств.
🔥3
CSS хинт
Мой любимчик. Сделать у блока на странице задник нужного цвета во всю ширину страницы.
Это типа когда ширина контента ограничена, а надо сделать сплошную заливку на всю ширину страницы.
Например задник хедера и футера может занимать всю доступную ширину страницы, а контент будет центрирован и ограничен по ширине.
Делать через обертки не так приятно, как использовать это решение.
Мой любимчик. Сделать у блока на странице задник нужного цвета во всю ширину страницы.
Это типа когда ширина контента ограничена, а надо сделать сплошную заливку на всю ширину страницы.
Например задник хедера и футера может занимать всю доступную ширину страницы, а контент будет центрирован и ограничен по ширине.
Делать через обертки не так приятно, как использовать это решение.
🔥5
Можно ли добиться 100%?
Работаю над новым лендингом для проекта. Переодически надо поглядывать не стали ли результаты технического аудита хуже.
Анализируя результаты можно придти к выводу, что где-то правки могут быть или невозможны в принципе или занимать неоправданное кол-во времени. И такие вещи следует просто пропускать. Конечно, всегда хочется идеала, но далеко не всегда он достижим.
Например, на странице могут использоваться картинки, загруженные в проект через админуку, и которые не до конца оптимизированы. Сделать доп. обработку картинок и, допустим, разработать систему массовой оптимизации — задача возможная, но экономически бессмысленная.
Или в проекте используются внешние скрипты аналитики, или платежных систем — они далеко не все оптимизированы, и из-за них еще снимают баллы. А без них нельзя.
Или размер шрифта где-то не достаточно большой, или не достаточно контрастного цвета — дизайнер не хочет ничего менять. Тк это рушит общую картинку. Держите минус пару пунктов.
Работаю над новым лендингом для проекта. Переодически надо поглядывать не стали ли результаты технического аудита хуже.
Анализируя результаты можно придти к выводу, что где-то правки могут быть или невозможны в принципе или занимать неоправданное кол-во времени. И такие вещи следует просто пропускать. Конечно, всегда хочется идеала, но далеко не всегда он достижим.
Например, на странице могут использоваться картинки, загруженные в проект через админуку, и которые не до конца оптимизированы. Сделать доп. обработку картинок и, допустим, разработать систему массовой оптимизации — задача возможная, но экономически бессмысленная.
Или в проекте используются внешние скрипты аналитики, или платежных систем — они далеко не все оптимизированы, и из-за них еще снимают баллы. А без них нельзя.
Или размер шрифта где-то не достаточно большой, или не достаточно контрастного цвета — дизайнер не хочет ничего менять. Тк это рушит общую картинку. Держите минус пару пунктов.
👍2
Кажется, будут выходные
Ближайшие дни, до 1 мая, будут без основной работы. Будет мини отдых и микро отпуск.
Постараюсь сфокусироваться только на себе и своих делах и проектах.
Те ребята, с кем я сейчас общаюсь —если я временно не отвечаю — прошу понять и простить. Встретимся после 1 мая.
Если и у вас планируются майские праздники — самое время подумать над тем, что хочется закончить или наоборот сделать только для себя.
Славных и теплых вам денечков!
Ближайшие дни, до 1 мая, будут без основной работы. Будет мини отдых и микро отпуск.
Постараюсь сфокусироваться только на себе и своих делах и проектах.
Те ребята, с кем я сейчас общаюсь —если я временно не отвечаю — прошу понять и простить. Встретимся после 1 мая.
Если и у вас планируются майские праздники — самое время подумать над тем, что хочется закончить или наоборот сделать только для себя.
Славных и теплых вам денечков!
👍4
Нет, спасибо
На этих выходных надо закончить очередную часть курса по коучингу. Потом еще прочитать лекции по ИТ тимлидерству.
Разбраться с несколькими техническими вопросами. Написать пару писем и начать оформлять документы для миграционного отдела, на продление визы.
Глаз дергается. Хочется просто валяться на диване и смотреть какой-нибудь тупой сериал, а не вот это вот все.
Не, я не жалуюсь. Ни в коем случае. Это классно, что есть много дел.
Надо просто как-то разобраться со всеми текущими делами, и поставить запрет на взятие в работу новых задач.
На этих выходных надо закончить очередную часть курса по коучингу. Потом еще прочитать лекции по ИТ тимлидерству.
Разбраться с несколькими техническими вопросами. Написать пару писем и начать оформлять документы для миграционного отдела, на продление визы.
Глаз дергается. Хочется просто валяться на диване и смотреть какой-нибудь тупой сериал, а не вот это вот все.
Не, я не жалуюсь. Ни в коем случае. Это классно, что есть много дел.
Надо просто как-то разобраться со всеми текущими делами, и поставить запрет на взятие в работу новых задач.
👍4
Самые отвратительные инструменты в моей профессиональной жизни, это Active Admin и Redmine.
Нет, я практически не работал с ними. Я всегда был достаточно смелым, чтобы сказать - ну его нафиг, делайте сами. Или. Достаточно умным, чтобы сказать, - любые прихоти за ваши деньги, но я буду заниматься этим в спокойном режиме неделю, а то и две. Оно вам точно надо?! Не разоритесь?
2 инструмента, которые на входе обещают быть простыми и ускорять процессы, а очень скоро, обычно, становятся пожирателями времени и денег.
С одной стороны, программисты, которые соглашаются на работу с AA и RM гарантируют себе вечную в себе потребность и защиту от увольнения. Тк эту дрянь поддерживать и развивать никто не хочет.
С другой стороны, они соглашаются на стагнацию и отсутствие профессионального роста. Пока другие будут двигаться вперед, они будут копаться в кишках устаревшего кода и искать по стеку вызовов место, куда надо применить манкипатч.
Каждый делает свой выбор. Я бы не стал ввязываться.
Может я ошибаюсь?
Нет, я практически не работал с ними. Я всегда был достаточно смелым, чтобы сказать - ну его нафиг, делайте сами. Или. Достаточно умным, чтобы сказать, - любые прихоти за ваши деньги, но я буду заниматься этим в спокойном режиме неделю, а то и две. Оно вам точно надо?! Не разоритесь?
2 инструмента, которые на входе обещают быть простыми и ускорять процессы, а очень скоро, обычно, становятся пожирателями времени и денег.
С одной стороны, программисты, которые соглашаются на работу с AA и RM гарантируют себе вечную в себе потребность и защиту от увольнения. Тк эту дрянь поддерживать и развивать никто не хочет.
С другой стороны, они соглашаются на стагнацию и отсутствие профессионального роста. Пока другие будут двигаться вперед, они будут копаться в кишках устаревшего кода и искать по стеку вызовов место, куда надо применить манкипатч.
Каждый делает свой выбор. Я бы не стал ввязываться.
Может я ошибаюсь?
👍4
В ближайшую неделю провожу 2 технических интервью на позицию тимлидов.
Одно интервью в российскую компанию. Там интересная особенность, что вместе с интервью на позицию надо сразу дать менторские указания по развитию специалиста, тк собеседование для действующего сотрудника компании, который идет на повышение.
Второе на позицию тимлида в одну из крупнейших технологических компаний США (больше сказать не могу и не хочу).
Зачем пишу? А потому что забуду потом. А такие вещи пригождаются, когда в начале нового сезона повышаешь ценник на свои услуги.
Одно интервью в российскую компанию. Там интересная особенность, что вместе с интервью на позицию надо сразу дать менторские указания по развитию специалиста, тк собеседование для действующего сотрудника компании, который идет на повышение.
Второе на позицию тимлида в одну из крупнейших технологических компаний США (больше сказать не могу и не хочу).
Зачем пишу? А потому что забуду потом. А такие вещи пригождаются, когда в начале нового сезона повышаешь ценник на свои услуги.
👍2🔥1