С названиями, аватарками канала разобрались, пора и честь знать.
В этот раз говорим про самую мякотку виртуальной машины - Кеш кода
Подробнее в статье.
#demistify_hotspot@machine_head_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
machine-head.ru
Демистификация HotSpot ВМ. Часть 2. Сегментированный кеш кода
Демистифицируем сегментированный кеш кода - важней элемент в виртуальной машине HotSpot. Раберемся как он влияет на производительность приложения и эффективность использования памяти.
А это вообще законно? 🤨 Apple 🍎 делает ход и уничтожает рабочие настольные ПК в крошки. Этой крошкой. У нас эта пушка будет стоить порядка 200К. Но что может предложить мир ПК за эти деньги? Черный гудящий пылесборник, у которого только кулер больше чем всеь Mac mini. Не удивлюсь если кто-то начнет носить его из дома на работу и назад. Рабочая станция на ладошке. Такое нам надо 😺
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Стартап в соло #1
Именно этим я занимаюсь с сентября 2024 и, пожалуй, пришло время начать делиться процессом с миром.
Предыстория.
Я очень люблю учиться. Будучи по профессии программистом, а в душе предпринимателем, я постоянно разнонаправленно учусь, даже вещам напрямую не связанным с деятельностью или хобби.
Первая встреча с онлайн образованием произошла в маленьком стартапе Edera в далеком 2018-м, куда меня пригласили в роли разработчика. Идея меня очень вдохновила, но стартап умер в зародыше, оставив чувство, что можно было сделать что-то классное и по-настоящему востребованное.
Далее я продолжил работу в найме, делая подходы к различным проектам. Набивал руку в ролях: дизайнера, продуктолога и аналитика, моделировал идеи, исследовал рынки, проверял гипотезы с JTBD в живых интервью. Увы, они не продемонстрировали сколько-нибудь уверенного потенциала.
2024 год не стал исключением и оказался полным новых знаний и открытий. И главное открытие пришло из мира Edtech - огромный рынок, на 92% консолидирован в руках десятка компаний, из которых всего пара имеют техническую экспертизу, за счет которой резко вырвались вперед.
Взяв несколько мнений людей, напрямую причастных к обучению онлайн, у меня сложилась картина застоя и запрос на обновление в отрасли. Подсветились множество проблем и болей, которые в упор не хотят замечать мамонты. Так, будто у нас есть комбайны типа MS Word, появляется Notion и рвет текстовые редакторы, как Тузик грелку.
И главная проблема: монетизировав создателей контента и онлайн-школы, платформы кладут болт на тех, для кого это всё это должно работать - людей, идущих за знаниями.
#стартап_в_соло@machine_head_ru
Именно этим я занимаюсь с сентября 2024 и, пожалуй, пришло время начать делиться процессом с миром.
Предыстория.
Я очень люблю учиться. Будучи по профессии программистом, а в душе предпринимателем, я постоянно разнонаправленно учусь, даже вещам напрямую не связанным с деятельностью или хобби.
Первая встреча с онлайн образованием произошла в маленьком стартапе Edera в далеком 2018-м, куда меня пригласили в роли разработчика. Идея меня очень вдохновила, но стартап умер в зародыше, оставив чувство, что можно было сделать что-то классное и по-настоящему востребованное.
Далее я продолжил работу в найме, делая подходы к различным проектам. Набивал руку в ролях: дизайнера, продуктолога и аналитика, моделировал идеи, исследовал рынки, проверял гипотезы с JTBD в живых интервью. Увы, они не продемонстрировали сколько-нибудь уверенного потенциала.
2024 год не стал исключением и оказался полным новых знаний и открытий. И главное открытие пришло из мира Edtech - огромный рынок, на 92% консолидирован в руках десятка компаний, из которых всего пара имеют техническую экспертизу, за счет которой резко вырвались вперед.
Взяв несколько мнений людей, напрямую причастных к обучению онлайн, у меня сложилась картина застоя и запрос на обновление в отрасли. Подсветились множество проблем и болей, которые в упор не хотят замечать мамонты. Так, будто у нас есть комбайны типа MS Word, появляется Notion и рвет текстовые редакторы, как Тузик грелку.
И главная проблема: монетизировав создателей контента и онлайн-школы, платформы кладут болт на тех, для кого это всё это должно работать - людей, идущих за знаниями.
#стартап_в_соло@machine_head_ru
🔥3
Стратегии деоптимизации - самая короткая статья в цикле, но не менее интересная. Многие даже не в курсе, что развитый полиморфизм Java в
#demistify_hotspot@machine_head_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
machine-head.ru
Демистификация HotSpot ВМ. Часть 3. Сценарии деоптимизации кода
Оптимизированный код не всегда остается таковым. Развитый полиморфизм, а также загрузка/выгрузка классов может запустить деоптимизацию...
🔥1
Machine head - Александр О. pinned «🚀 Стартап в соло #1 Именно этим я занимаюсь с сентября 2024 и, пожалуй, пришло время начать делиться процессом с миром. Предыстория. Я очень люблю учиться. Будучи по профессии программистом, а в душе предпринимателем, я постоянно разнонаправленно учусь…»
Теги:
#demistify_hotspot@machine_head_ru
#стартаперские_инсайты@machine_head_ru
Книги:
- Практическое руководство по созданию интеллектуальных систем
Please open Telegram to view this post
VIEW IN TELEGRAM
Machine head - Александр О. pinned «✈️ Навигация по каналу 2025 ✈️ Теги: #demistify_hotspot@machine_head_ru #стартаперские_инсайты@machine_head_ru Книги: - Практическое руководство…»
Все вокруг подводят итоги года 😒 , я тоже не останусь в стороне.
1️⃣ в августе я уволился из найма, чтобы стартовать собственную технологическую компанию🏠 амбиции большие, но начало всегда прозаично
2️⃣ я пришел в edtech с абстрактным понимаем проблем отрасли и идеями решений, с сентября по ноябрь, проделал десятки итераций, чтобы определить, что именно, для кого и как я собираюсь делать. В итерации вошли эксперименты с нейросетями и всевозможными технологиями, созвоны и общение с отраслевыми экспертами,
3️⃣ в декабре случился долгожданный прорыв.😮 Применяя JTBD и тщательные исследования проблем пользователей и конкурентные решения, на свет появился полностью интерактивный дизайн-прототип 😱 мобильного и веб приложения.
Есть конечно и ложка дегтя. Например, я очень мало уделял внимания этому каналу.☹️ Несмотря на наличие тонн весьма полезного программистам материала в заметках, находить время на рерайт в полноценные статьи непросто. Постараюсь исправиться в Новом Году.
Всем желаю пробовать новое🔝 , экспериментировать, притворять идеи в жизнь и не бояться рисковать. Пусть рядом с вами будут люди, которые будут в вас верить и поддерживать. Всем удачи и любви в Новом Году ! ❤️ 💋 С праздником!
1️⃣ в августе я уволился из найма, чтобы стартовать собственную технологическую компанию
2️⃣ я пришел в edtech с абстрактным понимаем проблем отрасли и идеями решений, с сентября по ноябрь, проделал десятки итераций, чтобы определить, что именно, для кого и как я собираюсь делать. В итерации вошли эксперименты с нейросетями и всевозможными технологиями, созвоны и общение с отраслевыми экспертами,
3️⃣ в декабре случился долгожданный прорыв.
Есть конечно и ложка дегтя. Например, я очень мало уделял внимания этому каналу.
Всем желаю пробовать новое
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4 2
Стартапы крутятся, коды мутятся, разве что денег с этого пока нет 😁 классика )
Но речь пойдет не о доходах, а о нюансах процесса. У любого стартапа с мультиплатформенным продуктом всегда встает дилемма - какие технологии применить, чтобы сократить time-to-market. Мне как инженеру должно быть просто, подумаете вы, и ошибетесь. Инженеру-предпринимателю еще сложнее. Как инженер я не боюсь технической сложности, но как предприниматель боюсь быть втянут в решение технических, а не продуктовых проблем
Изначально, я тестировал идею построить стек технологий для бекенда и мобильных приложений вокруг Kotlin - языка JVM в наши дни обросшего компиляторами и инструментарием создания приложений под все необходимые платформы. Использование одного языка, по идее, должно было упростить разработку, меньше разных технологий - меньше проблем.
Опытным путем доказано - Kotlin не является кроссплатформенным решением, экономически выгодным для стартапа. Ниже ряд причин:
- Родная среда для Kotlin - JVM и Android. Понадобятся годы, чтобы инструментарий для разработки под другие среды стал годен к использованию из коробки. Всё, что сейчас есть для разработки под iOS и Desktop предельно сыро - на iOS нет интеропа со Swift, а на десктопе тут и там торчат волосатые уши Java Swing. Тут и там нужны какие-то плагины к компилятору, настройка в Gradle - черная магия.
- Compose Multiplatfrom - безбожно тормозит на прокрутки даже простых списков, а Kotlin Multiplatform в быстрорастущих проектах обрастает такой сложностью, что нужна отдельная команда, вникающая в нюансы сборки и платформенной интеграции
- Единственным местом где можно что-то взять и сделать на Kotlin - это бекенд. Тут правят Spring и Quarkus. Вероятно, их использование было бы оправдано в all-in Kotlin стеке. Но как мы поняли концепция провалилась, а значит и корпоративных тяжеловесов из мира Java в стартап тянуть смысла нет.
Kotlin на беке больше Java чем Koltin: корутинами даже не пахнет, тащить в проект родные Kotlin-зависимости резона нет.
Еще один минус - JVM не для экономных. Даже оптимизированный Dockerfile на выходе дает образ минимум в 250-300 МБ. В рантайме инстанс тоже не мал и не блеснет производительностью. Нативные компиляторы типа GraalVM чтобы удешевить владение инфраструктурой -
лишние приседания, вредные для стартапа.
В итоге весь написанный Kotlin-код был заархивирован. Опыт получен. Бекенд был переписан с кучей новых фич Golang за 1,5 недели. Продуктивность стартаперская, docker-образ 9Мб, производительность чудовищная.
Мобильное приложение будет нативное. На Swift. Потому что я в нем эксперт.
Вывод. Берите то, что хорошо знаете или способны адаптировать в кратчайшие сроки. И если это не Kotlin, то он не станет для вас универсальным решением.
#стартап_в_соло@machine_head_ru
Но речь пойдет не о доходах, а о нюансах процесса. У любого стартапа с мультиплатформенным продуктом всегда встает дилемма - какие технологии применить, чтобы сократить time-to-market. Мне как инженеру должно быть просто, подумаете вы, и ошибетесь. Инженеру-предпринимателю еще сложнее. Как инженер я не боюсь технической сложности, но как предприниматель боюсь быть втянут в решение технических, а не продуктовых проблем
Изначально, я тестировал идею построить стек технологий для бекенда и мобильных приложений вокруг Kotlin - языка JVM в наши дни обросшего компиляторами и инструментарием создания приложений под все необходимые платформы. Использование одного языка, по идее, должно было упростить разработку, меньше разных технологий - меньше проблем.
Опытным путем доказано - Kotlin не является кроссплатформенным решением, экономически выгодным для стартапа. Ниже ряд причин:
- Родная среда для Kotlin - JVM и Android. Понадобятся годы, чтобы инструментарий для разработки под другие среды стал годен к использованию из коробки. Всё, что сейчас есть для разработки под iOS и Desktop предельно сыро - на iOS нет интеропа со Swift, а на десктопе тут и там торчат волосатые уши Java Swing. Тут и там нужны какие-то плагины к компилятору, настройка в Gradle - черная магия.
- Compose Multiplatfrom - безбожно тормозит на прокрутки даже простых списков, а Kotlin Multiplatform в быстрорастущих проектах обрастает такой сложностью, что нужна отдельная команда, вникающая в нюансы сборки и платформенной интеграции
- Единственным местом где можно что-то взять и сделать на Kotlin - это бекенд. Тут правят Spring и Quarkus. Вероятно, их использование было бы оправдано в all-in Kotlin стеке. Но как мы поняли концепция провалилась, а значит и корпоративных тяжеловесов из мира Java в стартап тянуть смысла нет.
Kotlin на беке больше Java чем Koltin: корутинами даже не пахнет, тащить в проект родные Kotlin-зависимости резона нет.
Еще один минус - JVM не для экономных. Даже оптимизированный Dockerfile на выходе дает образ минимум в 250-300 МБ. В рантайме инстанс тоже не мал и не блеснет производительностью. Нативные компиляторы типа GraalVM чтобы удешевить владение инфраструктурой -
лишние приседания, вредные для стартапа.
В итоге весь написанный Kotlin-код был заархивирован. Опыт получен. Бекенд был переписан с кучей новых фич Golang за 1,5 недели. Продуктивность стартаперская, docker-образ 9Мб, производительность чудовищная.
Мобильное приложение будет нативное. На Swift. Потому что я в нем эксперт.
Вывод. Берите то, что хорошо знаете или способны адаптировать в кратчайшие сроки. И если это не Kotlin, то он не станет для вас универсальным решением.
#стартап_в_соло@machine_head_ru
👍6🔥2
Риторической идеи пост
В предпоследнем комментарии, отчаянный борец за кибер-демократию и наш соотечественник Павел Дуров, объявил об эксклюзивном партнерстве с TON Foundation, в качестве финансовой инфраструктуры для экосистемы Телеграм.
Под соусом «защиты от мошенников» и обеспечения пользователей «тем самым» опытом, Павел ловко, даже не переобуваясь, запрыгнул в ряды тех самых капиталистов, которых сам же рьяно критиковал за закрытые экосистемы, чрезмерный контроль и ограничения.
Итак, что же нам предложил Павел в качестве новой альтернативной площадки для приложений и бизнеса:
- прием оплат только звездами где, например, уже заложена 30% комиссия Apple/Google
- 4% административные расходы Телеграм
- шкурный обменный курс из TON в фиатные деньги в официальном кошельке
Я понимаю почему на эту возможность набросились магиналы всех мастей, выпускающие хомяков-тапальщиков - такой полулегальный бизнес в реальном мире терпит гораздо большие издержки, а тут серая зона, без какого-либо регулирования.
Для честного бизнеса, предложение, мягко говоря, не про жизнь. Амбиции построить экосистему не дают Павлу покоя, на с «налогом Apple» бизнес модель не масштабируется дальше хомячьих тапалок. На этом фоне, похоже, родилось решение доить то, что есть не дожидаясь лучших времен, и теперь, все движения только через единственную платежную систему. Где-то такие требования мы уже видели. Ах да, в AppStore и GooglePlay.
Судя по всему, Дуров создает аналогичную копию системы внутри уже существующей, обкладывая конечного потребителя добавочной стоимостью с сомнительной ценностью взамен. Каков лис.
Как сказал John Gall “Системы стремятся провалиться сразу же после своего величайшего триумфа”.
В предпоследнем комментарии, отчаянный борец за кибер-демократию и наш соотечественник Павел Дуров, объявил об эксклюзивном партнерстве с TON Foundation, в качестве финансовой инфраструктуры для экосистемы Телеграм.
Под соусом «защиты от мошенников» и обеспечения пользователей «тем самым» опытом, Павел ловко, даже не переобуваясь, запрыгнул в ряды тех самых капиталистов, которых сам же рьяно критиковал за закрытые экосистемы, чрезмерный контроль и ограничения.
Итак, что же нам предложил Павел в качестве новой альтернативной площадки для приложений и бизнеса:
- прием оплат только звездами где, например, уже заложена 30% комиссия Apple/Google
- 4% административные расходы Телеграм
- шкурный обменный курс из TON в фиатные деньги в официальном кошельке
Я понимаю почему на эту возможность набросились магиналы всех мастей, выпускающие хомяков-тапальщиков - такой полулегальный бизнес в реальном мире терпит гораздо большие издержки, а тут серая зона, без какого-либо регулирования.
Для честного бизнеса, предложение, мягко говоря, не про жизнь. Амбиции построить экосистему не дают Павлу покоя, на с «налогом Apple» бизнес модель не масштабируется дальше хомячьих тапалок. На этом фоне, похоже, родилось решение доить то, что есть не дожидаясь лучших времен, и теперь, все движения только через единственную платежную систему. Где-то такие требования мы уже видели. Ах да, в AppStore и GooglePlay.
Судя по всему, Дуров создает аналогичную копию системы внутри уже существующей, обкладывая конечного потребителя добавочной стоимостью с сомнительной ценностью взамен. Каков лис.
Как сказал John Gall “Системы стремятся провалиться сразу же после своего величайшего триумфа”.
Telegram
Pavel Durov
🤝 We agreed with the TON Foundation to make TON the exclusive blockchain partner of Telegram. TON will be our blockchain infrastructure for tokenization, payouts, mini app integrations, and more 🏆
🙂 This standardization will be great for Telegram users —…
🙂 This standardization will be great for Telegram users —…
👍2🔥2
БДУИ или как мы решали одну проблему, а получили 10 других
Ребята из Авито в этой статье поделились описанием их реализации Backend-driven UI.
Так как у меня уже был опыт работы с такими вещами в одной поисковой компании, решил оставить комментарий на этот счет.
Какую проблему решали в Авито, по версии автора статьи:
- для решения самых тривиальных задач требуется привлечение квалифицированных кадров;
- команда может быть загружена более приоритетными фичами;
- изменения до каждой платформы доедут в разное время.
Перевожу:
- Менеджеры хотят рулить интерфейсом самостоятельно
- Инженеров мало и их фокус нужно сохранять на том, что считается более приоритетным
- Хочется обновляться на входе в приложение, а не когда юзер обновится из стора
Их подход к решению, в целом, аналогичен другим таким же решениям: есть бекенд который хранит JSON с мета-описанием интерфейса, куда умудряются запихнуть описания всех возможных состояний для всех элементов в bdui макете. На выходе получается огромная нечитаемая портянка, которую-то и в ручную не собрать, поэтому команда разработчиков прикручивает к этому всему web-конструктор, в котором можно предварительно посмотреть результат, провалидировать и сгенерировать выходной JSON. Далее он отправляется в бекенд-сервис для раздачи пользователям.
Классно же звучит, не так ли? Кажется, все проблемы решены.
Но не будем радоваться раньше времени. Вот список вытекающих из этого следствий:
- Обучение людей работе с конструктором. Так как внутренние решения не блещут отлаженностью, есть масса нюансов, которые знают кодеры, но очень туго воспринимают менеджеры.
- Бесконечные тикеты на апдейты конструктора и добавление новых фич в БДУИ
- Менеджеры стремятся абстрагивать всё что можно от программистов, в итоге на bdui переезжает столько интерфейса сколько возможно
- Создается отделый цикл релиза, контроля и тестирования где программист уже не имеет необходимого контекста, но должен присутствовать ибо менеджеры всё еще не знают всех нюансов - в итоге упускается масса проблем уходящих в продакшн.
- Менеджеры накручивают А/Б тесты, виджеты интерфейса под сложными условиями отображения, в итоге не ясно какой интерфейс видит пользователь
И самая большая проблема, от которой бежали, но в которую напоролись: BDUI также развивается как любой продукт, который надо обновлять. Его инфраструктура обновляется через сторы: фиксятся баги, добавляются фичи. Через какое-то время возникает чудовищная фрагментация возможностей фреймворка на девайсах юзеров. А JSON-то общий! Как для любого API приходится вводить фолбеки и версионирование. На практике же логгеры сыплют ошибками парсинга, интерфейс на глазах у юзера моргает и откатывается к дефолтному, написанному руками без всяких bdui, ну или к предыдущему стабильному макету, а это уже, напомню, возврат к третьей проблеме доставки фич в разное время.
Но теперь всем не скучно: метрики обогащаются ростом ошибок, беклоги срочными фиксами, менеджеры занимаются тем, что умеют лучше всего - находить решения из «сложившейся ситуации».
BDUI, кто бы его не начал пилить, всегда лежит между нативом и кроссплатформой, вроде React Native, который, к слову, решает те же проблемы примерно тем же подходом. Но вместо объединения преимуществ, объединяются недостатки:
- Новый уровень абстракции и сложности в коде
- Новые процессы и люди там где их раньше не было
- Обновления через сторы не обойти
- Ухудшение стабильности и пользовательского опыта
- Энтропия ранее понятного и оттестированного нативного решения.
- Разработчики фреймворка становятся носителями уникальной экспертизы и создают риски в случае увольнения.
Как говорится, не хотели привлекать 1 разраба для решения тривиальных задач, теперь нужно 10, чтобы решать нетривиальные.
Напомню, что ios приложение Telegram практически полностью написал 1 человек. Это недостижимый уровень доверия и менеджмента, на который многие известные компании просто неспособны. Отсюда и БДУИ.
Ребята из Авито в этой статье поделились описанием их реализации Backend-driven UI.
Так как у меня уже был опыт работы с такими вещами в одной поисковой компании, решил оставить комментарий на этот счет.
Какую проблему решали в Авито, по версии автора статьи:
- для решения самых тривиальных задач требуется привлечение квалифицированных кадров;
- команда может быть загружена более приоритетными фичами;
- изменения до каждой платформы доедут в разное время.
Перевожу:
- Менеджеры хотят рулить интерфейсом самостоятельно
- Инженеров мало и их фокус нужно сохранять на том, что считается более приоритетным
- Хочется обновляться на входе в приложение, а не когда юзер обновится из стора
Их подход к решению, в целом, аналогичен другим таким же решениям: есть бекенд который хранит JSON с мета-описанием интерфейса, куда умудряются запихнуть описания всех возможных состояний для всех элементов в bdui макете. На выходе получается огромная нечитаемая портянка, которую-то и в ручную не собрать, поэтому команда разработчиков прикручивает к этому всему web-конструктор, в котором можно предварительно посмотреть результат, провалидировать и сгенерировать выходной JSON. Далее он отправляется в бекенд-сервис для раздачи пользователям.
Классно же звучит, не так ли? Кажется, все проблемы решены.
Но не будем радоваться раньше времени. Вот список вытекающих из этого следствий:
- Обучение людей работе с конструктором. Так как внутренние решения не блещут отлаженностью, есть масса нюансов, которые знают кодеры, но очень туго воспринимают менеджеры.
- Бесконечные тикеты на апдейты конструктора и добавление новых фич в БДУИ
- Менеджеры стремятся абстрагивать всё что можно от программистов, в итоге на bdui переезжает столько интерфейса сколько возможно
- Создается отделый цикл релиза, контроля и тестирования где программист уже не имеет необходимого контекста, но должен присутствовать ибо менеджеры всё еще не знают всех нюансов - в итоге упускается масса проблем уходящих в продакшн.
- Менеджеры накручивают А/Б тесты, виджеты интерфейса под сложными условиями отображения, в итоге не ясно какой интерфейс видит пользователь
И самая большая проблема, от которой бежали, но в которую напоролись: BDUI также развивается как любой продукт, который надо обновлять. Его инфраструктура обновляется через сторы: фиксятся баги, добавляются фичи. Через какое-то время возникает чудовищная фрагментация возможностей фреймворка на девайсах юзеров. А JSON-то общий! Как для любого API приходится вводить фолбеки и версионирование. На практике же логгеры сыплют ошибками парсинга, интерфейс на глазах у юзера моргает и откатывается к дефолтному, написанному руками без всяких bdui, ну или к предыдущему стабильному макету, а это уже, напомню, возврат к третьей проблеме доставки фич в разное время.
Но теперь всем не скучно: метрики обогащаются ростом ошибок, беклоги срочными фиксами, менеджеры занимаются тем, что умеют лучше всего - находить решения из «сложившейся ситуации».
BDUI, кто бы его не начал пилить, всегда лежит между нативом и кроссплатформой, вроде React Native, который, к слову, решает те же проблемы примерно тем же подходом. Но вместо объединения преимуществ, объединяются недостатки:
- Новый уровень абстракции и сложности в коде
- Новые процессы и люди там где их раньше не было
- Обновления через сторы не обойти
- Ухудшение стабильности и пользовательского опыта
- Энтропия ранее понятного и оттестированного нативного решения.
- Разработчики фреймворка становятся носителями уникальной экспертизы и создают риски в случае увольнения.
Как говорится, не хотели привлекать 1 разраба для решения тривиальных задач, теперь нужно 10, чтобы решать нетривиальные.
Напомню, что ios приложение Telegram практически полностью написал 1 человек. Это недостижимый уровень доверия и менеджмента, на который многие известные компании просто неспособны. Отсюда и БДУИ.
Хабр
Современные подходы к управлению UI: low-сode & Backend-Driven UI
Привет, меня зовут Михаил Шевченко. В Авито я проектирую и разрабатываю backend low-code-платформы Bricks. Мой профессиональный путь — это разнообразные роли, от разработчика до архитектора. Я...
🔥3👍2
Media is too big
VIEW IN TELEGRAM
Яндекс за всё платит. Или обосрался. Смотрите видео, комментарии излишни 😂😂😂
Проверьте, у кого еще так же работает )
Проверьте, у кого еще так же работает )
😁5
Хочу, на ночь глядя, порадовать вас моей статейкой на хабре, которая почти трое суток висела на модерации в песочнице. Что-то я раньше не писал на хабр ни одной статьи, а тут когда потыкал палкой подключение Телеграма в качестве сервиса авторизации, решил написать об этом очень своеобразном опыте, а судя по тому, что об этом контента в интернете нет (или я не нашел), выглядит будто бы я первопроходец в этом вопросе )
Приятного чтения!
https://habr.com/ru/articles/888308/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Туториал: вход в мобильном приложении с Telegram
Аутентификация в мобильных приложениях с помощью Telegram Login Widget обделена информацией как официальной документации, так и в интернете. Меня зовут Александр, в этой статье поделюсь примером...
🔥3 2👍1
С праздником Великой Победы!
День радости и скорби. День когда наше поколение уже не льет слез, но всё еще видит слёзы родителей и оставшихся в живых ветеранов. Сменятся поколения и чувства, связанные с этим Днём притупятся, но память о наших Героях, которые есть в каждой семье, не должна угаснуть.
Рассказывайте своим детям о подвиге наших дедов и прадедов, о героях этой невообразимой по масштабам войны. 100-летие Победы организовывать им!
#80летпобеды
День радости и скорби. День когда наше поколение уже не льет слез, но всё еще видит слёзы родителей и оставшихся в живых ветеранов. Сменятся поколения и чувства, связанные с этим Днём притупятся, но память о наших Героях, которые есть в каждой семье, не должна угаснуть.
Рассказывайте своим детям о подвиге наших дедов и прадедов, о героях этой невообразимой по масштабам войны. 100-летие Победы организовывать им!
#80летпобеды
👍4
В моей семье 2 Героя.
Мой прадед по маминой линии Полухин Григорий Васильевич (слева) - капитан 114 гвардейского отдельного батальона связа 37-го гвардейского стрелкового корпуса. Погиб под селом Быново Могилевской области, Беларусь.
Мой дед по отцовской линии (справа) Овчаренко Василий Демидович - ст. лейтенант 39 стрелкового корпуса. Призван на службу с 1938 по 1945-ый. В 1942-м прибыл в Приморский край в воинскую часть 39-го стрелкового корпуса в составе Приморской группы войск ОКДВА, участвовал в Советско-Японской войне. Награжден медалью "За победу над Японией".
Мой прадед по маминой линии Полухин Григорий Васильевич (слева) - капитан 114 гвардейского отдельного батальона связа 37-го гвардейского стрелкового корпуса. Погиб под селом Быново Могилевской области, Беларусь.
Мой дед по отцовской линии (справа) Овчаренко Василий Демидович - ст. лейтенант 39 стрелкового корпуса. Призван на службу с 1938 по 1945-ый. В 1942-м прибыл в Приморский край в воинскую часть 39-го стрелкового корпуса в составе Приморской группы войск ОКДВА, участвовал в Советско-Японской войне. Награжден медалью "За победу над Японией".
🔥7
В чем, собственно, дело.
Есть сгенерированная миграция для PosgreSQL, в которой удаляется один столбец и создается такой же с другим именем. RENAME COLUMN тут не подходит, т.к. на столбце индекс обычный и составной
Прошу Gemini 2.5 Pro (последняя расхайпленная) поправить команду для переноса данных из удаляемого столбца в новый. Команда применяется, но по какой-то причине падает с ошибкой (столбец не найден). Gemini подошел к вопросу со всей серьезностью, поправил комментарии и заявил, что теперь всё должно быть пучком.
Сильно. 💪 Так что рано радоваться или горевать о закате программирования. Девчонки, мальчишки, читайте книжки! И учите базу.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2😁2👍1
Фулстеков не бывает?
Когда мне говорят, что большие проекты программисту в одиночку создать невозможно, я улыбаюсь и даже не пытаюсь спорить. В 99% случаев это правда. Но даже такая статистика не выглядит убедительно, чтобы принять за как факт и успокоиться.
На заре популяризации профессии (я считаю 2000-2010 этим периодом) стек типичного программиста был… любой! Я после школы спокойно кодил на Си утилиты для MS-DOS/Windows, десктопные приложения на Delphi, в универе автоматизацию БД на FoxPro, анимировал на ныне почившем ActionScript в Macromedia Flash, вдохновляясь роликами Happy Tree Friends 💀. Помню, написал приложение на J2ME под Symbian, чтобы искать и качать музыку с зайцев.нет с возможностью дозагрузки при обрыве (из-за обрывов мобильной связи в Opera Mini приходилось постоянно перекачивать, а мегабайты недешевые, особенно для студента). Принцип был простой: стало интересно, пошел ковырнул совершенно ублюдскую на вид документацию, (если вообще была) написал 20-30 классов, собрал с матюками и готово. И уж чего я не припомню, так это желание пройти курсы по новому языку или фреймворку, чтобы что-то с ним закодить.
Так какая у меня тогда была специализация? Правильно, тыжпрограммист. Фуллстеками тогда и не пахло. Придумали их позже не программисты, а HR-ы. Им комфортнее всех разделить по департаментам, по скилам, по грейдам, чтобы стало проще понимать кто перед ними. В период с 2010-го по 2015-ый, на который пришелся резкий рост запроса на кодеров, оказалось, что на рынке совершенно отсутствуют кадры. В компаниях осознали, получить “Symphony/Angular/Android/Spring/<название фреймворка>” разработчиков можно быстрее, чем дожидаться магистров информатики.
Вокруг запроса образовались IT курсы, вся индустрия поощряла узкоспециализированных специалистов. За 15 лет разделение по стекам закрепилось, технологии обрасли слоями нового и старого кода, а люди сочли, что твой стек - это такая зона комфорта, выходить за которую опасно для заработной платы.
Так всё таки, фуллстеки существуют или нет? На мой взгляд, уважающий себя программист должен быть способен разобраться как в сетевом стеке, так и в пайплайне рендеринга фреймов на экране смартфона, написать сервер с веб-сокетами и скрипты развертывания. У современных айтишников типичный аргумент против этого тезиса - всё знать невозможно. Так вот, всё знать и не нужно! Программные системы - это фрактал, большой «треугольник», состоящий из множества малых, таких же треугольничков. Из знания о малом, можно вывести знание о бóльшем, а не наоборот, как стремятся делать люди в погоне за сакральными знаниями из курсов. Именно поэтому, адекватные технические руководители при найме смотрят на мышление и предлагают писать код на любом комфортном языке.
Фуллстек это или нет, решайте сами или поделитесь мнением в комментариях.
Когда мне говорят, что большие проекты программисту в одиночку создать невозможно, я улыбаюсь и даже не пытаюсь спорить. В 99% случаев это правда. Но даже такая статистика не выглядит убедительно, чтобы принять за как факт и успокоиться.
На заре популяризации профессии (я считаю 2000-2010 этим периодом) стек типичного программиста был… любой! Я после школы спокойно кодил на Си утилиты для MS-DOS/Windows, десктопные приложения на Delphi, в универе автоматизацию БД на FoxPro, анимировал на ныне почившем ActionScript в Macromedia Flash, вдохновляясь роликами Happy Tree Friends 💀. Помню, написал приложение на J2ME под Symbian, чтобы искать и качать музыку с зайцев.нет с возможностью дозагрузки при обрыве (из-за обрывов мобильной связи в Opera Mini приходилось постоянно перекачивать, а мегабайты недешевые, особенно для студента). Принцип был простой: стало интересно, пошел ковырнул совершенно ублюдскую на вид документацию, (если вообще была) написал 20-30 классов, собрал с матюками и готово. И уж чего я не припомню, так это желание пройти курсы по новому языку или фреймворку, чтобы что-то с ним закодить.
Так какая у меня тогда была специализация? Правильно, тыжпрограммист. Фуллстеками тогда и не пахло. Придумали их позже не программисты, а HR-ы. Им комфортнее всех разделить по департаментам, по скилам, по грейдам, чтобы стало проще понимать кто перед ними. В период с 2010-го по 2015-ый, на который пришелся резкий рост запроса на кодеров, оказалось, что на рынке совершенно отсутствуют кадры. В компаниях осознали, получить “Symphony/Angular/Android/Spring/<название фреймворка>” разработчиков можно быстрее, чем дожидаться магистров информатики.
Вокруг запроса образовались IT курсы, вся индустрия поощряла узкоспециализированных специалистов. За 15 лет разделение по стекам закрепилось, технологии обрасли слоями нового и старого кода, а люди сочли, что твой стек - это такая зона комфорта, выходить за которую опасно для заработной платы.
Так всё таки, фуллстеки существуют или нет? На мой взгляд, уважающий себя программист должен быть способен разобраться как в сетевом стеке, так и в пайплайне рендеринга фреймов на экране смартфона, написать сервер с веб-сокетами и скрипты развертывания. У современных айтишников типичный аргумент против этого тезиса - всё знать невозможно. Так вот, всё знать и не нужно! Программные системы - это фрактал, большой «треугольник», состоящий из множества малых, таких же треугольничков. Из знания о малом, можно вывести знание о бóльшем, а не наоборот, как стремятся делать люди в погоне за сакральными знаниями из курсов. Именно поэтому, адекватные технические руководители при найме смотрят на мышление и предлагают писать код на любом комфортном языке.
Фуллстек это или нет, решайте сами или поделитесь мнением в комментариях.
👍6🔥3
Когда же андроид станет красивым?
Этим справедливым вопросом задались на хабре. На мой взгляд, нежелание разработчиков (и даже самой Google) следовать гайдлайнам Material Design в том, что эти гайдлайны с момента появления Material 1 не являются дизайн системой вообще. Material всегда был утилитарно пуст как с идейной точки зрения, так и с дизайнерской. Эдакий дистиллят системы визуальных компонент. Абсолютно скучный и невыразительный.
Apple, с момента представления первого iPhone, стремилась создавать стильные целостные визуальные системы, наполняя их эмоциональными оттенками. От скевоморфизма до современного human interface design, в каждом обновлении, система преображалась целиком. Применяемые правила проникали в инструменты и SDK для разработчиков. Приложения, созданные с UIKit, если не были глубоко кастомизированы, автоматически получают обновления вместе с обновлением ОС.
Всего этого нет ни в андроиде, ни в Material Design. Google очень хочет сделать Android стильным, но в таком случае он неизбежно станет похож на iOS. Таковы тренды. Material 3 Expressiveнатягивает сову на глобус пытается переосмыслить всю эволюцию Material 3,2,1, но в итоге получается нéчто, что мы никогда не увидим в Android.
Что мы видим на демках:
- вырвиглазные цвета
- пляски шрифтов
- ломаный ритм не встречающийся в интерфейсах для реальной жизни
- клоунские маски на изображениях в виде солнышек, облачков и другой дичи
Что же мы увидим в реальной жизни: на втором изображении, прикрепленном к сообщению старое и новое меню громкости. Вот у меня вопрос, а что собственно изменилось? Где обещанная новая безудержная экспрессия? Иконки стандартных приложений как были уродливым и невыразительными со времен Android Oreo, так ими и остались.
Так кто же будет следовать этому тренду? Никто. Так как никто, кромевысасывателя из пальцев ответственного за этот дизайн в Гугле, не знает как внедрять эту дичь.
В этом весь Google. Их визуальный стиль никогда не был красивым и вряд ли им когда-то станет. Pixel с оригинальной ОС - нишевый смартфон, остальные производители исправят эти уродства в своих оболочках. Разработчикам же по прежнему придется искать собственный стиль для своих андроид приложений и это пиар-обновление ничего не изменит.
С - стабильность.
Этим справедливым вопросом задались на хабре. На мой взгляд, нежелание разработчиков (и даже самой Google) следовать гайдлайнам Material Design в том, что эти гайдлайны с момента появления Material 1 не являются дизайн системой вообще. Material всегда был утилитарно пуст как с идейной точки зрения, так и с дизайнерской. Эдакий дистиллят системы визуальных компонент. Абсолютно скучный и невыразительный.
Apple, с момента представления первого iPhone, стремилась создавать стильные целостные визуальные системы, наполняя их эмоциональными оттенками. От скевоморфизма до современного human interface design, в каждом обновлении, система преображалась целиком. Применяемые правила проникали в инструменты и SDK для разработчиков. Приложения, созданные с UIKit, если не были глубоко кастомизированы, автоматически получают обновления вместе с обновлением ОС.
Всего этого нет ни в андроиде, ни в Material Design. Google очень хочет сделать Android стильным, но в таком случае он неизбежно станет похож на iOS. Таковы тренды. Material 3 Expressive
Что мы видим на демках:
- вырвиглазные цвета
- пляски шрифтов
- ломаный ритм не встречающийся в интерфейсах для реальной жизни
- клоунские маски на изображениях в виде солнышек, облачков и другой дичи
Что же мы увидим в реальной жизни: на втором изображении, прикрепленном к сообщению старое и новое меню громкости. Вот у меня вопрос, а что собственно изменилось? Где обещанная новая безудержная экспрессия? Иконки стандартных приложений как были уродливым и невыразительными со времен Android Oreo, так ими и остались.
Так кто же будет следовать этому тренду? Никто. Так как никто, кроме
В этом весь Google. Их визуальный стиль никогда не был красивым и вряд ли им когда-то станет. Pixel с оригинальной ОС - нишевый смартфон, остальные производители исправят эти уродства в своих оболочках. Разработчикам же по прежнему придется искать собственный стиль для своих андроид приложений и это пиар-обновление ничего не изменит.
С - стабильность.
👍4🔥2👎1