Никто не хочет простоты
Причина, по которой современная веб-разработка переполнена сложностью, заключается в том, что на самом деле никто не хочет, чтобы все было просто. Мы просто думаем, что хотим, а наш выбор доказывает обратное.
Многие разработчики хотят простоты точно так же, как многие клиенты утверждают, что им нужен быстрый сайт. Вы отвечаете: "Хорошо, тогда мы можем удалить некоторые из этих 17 Javascript-трекеров и прочего мусора, который делает ваш сайт ужасно медленным?". Нет, говорят они, очевидно, это все критически важные бизнес-функции.
Другими словами, для них скорость на последнем месте в приоритетах. А потом они удивляются, почему пользоваться их сайтом - все равно что грести в лодке по озеру с патокой в холодный день, используя лишь маленькую пластиковую ложку.
Статья: https://lukeplant.iss.one.uk/blog/posts/no-one-actually-wants-simplicity/
Причина, по которой современная веб-разработка переполнена сложностью, заключается в том, что на самом деле никто не хочет, чтобы все было просто. Мы просто думаем, что хотим, а наш выбор доказывает обратное.
Многие разработчики хотят простоты точно так же, как многие клиенты утверждают, что им нужен быстрый сайт. Вы отвечаете: "Хорошо, тогда мы можем удалить некоторые из этих 17 Javascript-трекеров и прочего мусора, который делает ваш сайт ужасно медленным?". Нет, говорят они, очевидно, это все критически важные бизнес-функции.
Другими словами, для них скорость на последнем месте в приоритетах. А потом они удивляются, почему пользоваться их сайтом - все равно что грести в лодке по озеру с патокой в холодный день, используя лишь маленькую пластиковую ложку.
Статья: https://lukeplant.iss.one.uk/blog/posts/no-one-actually-wants-simplicity/
Luke Plant's home page
No one actually wants simplicity
We think we do, but in fact every web developer will happily sacrifice simplicity to the first shiny thing promising them relief from the mildest of ailments.
Forwarded from Вправо Вверх 📈 Михаил Табунов
По каким принципам работают AppStore & Google Play?
Стабильно раз в год какие-то наши приложения банили в сторах, и я не понимал почему. Стабильно были проблемы, но нигде не было четкого руководства по работе со сторами и объяснения принципов их работы. Этот пост – короткое саммари работы со сторами за 10 лет моего мобильного опыта, ставь лайк если понравится.
И AppStore и GooglePlay в любом большом регионе работают по плюс-минус одинаковым критериям:
1. Надо чтобы стор поддерживал продуктовую стратегию платформы (iPhone или Android)
2. Главная цель стора – генерировать кеш. И год к году этот пункт становится всё более весомым
3. Любой стор несет риски для плаформы, и их надо минимизировать
У стора есть региональный менеджер, который руководствуется планом продаж на этот регион. В чем состоит само управление? Продвинуть такие игры и приложения, которые растят выручку. Часто это суперхиты, какие-то мега кассовые приложения типа Nextflix / Ivi. Это самая главная, логичная и измеримая цель.
Остается поддержать продуктовую стратегию. Типа сейчас Apple пушит медитацию в своей рекламе смартфонов, а еще модно AI фильтры для соцсетей и ChatGPT – менеджеры стора дадут 10-20% трафика под это. Потому что такие приложения потенциально могут дать большую кассу если стрельнет, плюс развивают платформу. В целом тут всегда есть возможность для роста новых бизнесов.
Всё остальное – это минимизация рисков. Если вы не генерите стору кассу – значит надо чтобы от вас как минимум не было проблем. Какого рода проблемы могут быть? Допустим, у вас будет приложение – защищенный мессенджер. Туда засядут любители плодить микросервисы, и планировать диверсии в софтверных стартапах, и вам из МВД будут писать про них раз в неделю. Или на приложение будут жаловаться юзеры, типа ввел карту, деньги списались, товара нет. Тогда стору будет выгодней забанить такие приложения навсегда, потому что риски перечеркивают потенциальные профиты. Сюда попадают соцсети и мессенджеры, приложения с мемами и короткими видео, дейтинги.
С любым стором в любом регионе можно вести переговоры, например по iFunny мы наладили диалог и с Apple и с Google. Но без инаппов тем для разговора немного.
Стабильно раз в год какие-то наши приложения банили в сторах, и я не понимал почему. Стабильно были проблемы, но нигде не было четкого руководства по работе со сторами и объяснения принципов их работы. Этот пост – короткое саммари работы со сторами за 10 лет моего мобильного опыта, ставь лайк если понравится.
И AppStore и GooglePlay в любом большом регионе работают по плюс-минус одинаковым критериям:
1. Надо чтобы стор поддерживал продуктовую стратегию платформы (iPhone или Android)
2. Главная цель стора – генерировать кеш. И год к году этот пункт становится всё более весомым
3. Любой стор несет риски для плаформы, и их надо минимизировать
У стора есть региональный менеджер, который руководствуется планом продаж на этот регион. В чем состоит само управление? Продвинуть такие игры и приложения, которые растят выручку. Часто это суперхиты, какие-то мега кассовые приложения типа Nextflix / Ivi. Это самая главная, логичная и измеримая цель.
Остается поддержать продуктовую стратегию. Типа сейчас Apple пушит медитацию в своей рекламе смартфонов, а еще модно AI фильтры для соцсетей и ChatGPT – менеджеры стора дадут 10-20% трафика под это. Потому что такие приложения потенциально могут дать большую кассу если стрельнет, плюс развивают платформу. В целом тут всегда есть возможность для роста новых бизнесов.
Всё остальное – это минимизация рисков. Если вы не генерите стору кассу – значит надо чтобы от вас как минимум не было проблем. Какого рода проблемы могут быть? Допустим, у вас будет приложение – защищенный мессенджер. Туда засядут любители плодить микросервисы, и планировать диверсии в софтверных стартапах, и вам из МВД будут писать про них раз в неделю. Или на приложение будут жаловаться юзеры, типа ввел карту, деньги списались, товара нет. Тогда стору будет выгодней забанить такие приложения навсегда, потому что риски перечеркивают потенциальные профиты. Сюда попадают соцсети и мессенджеры, приложения с мемами и короткими видео, дейтинги.
С любым стором в любом регионе можно вести переговоры, например по iFunny мы наладили диалог и с Apple и с Google. Но без инаппов тем для разговора немного.
Где найти хороший код?
Тема Hacker News, содержащая ссылки на проекты с качественным кодом и обсуждение того, что делает код хорошим.
Пост: https://news.ycombinator.com/item?id=37248002
Тема Hacker News, содержащая ссылки на проекты с качественным кодом и обсуждение того, что делает код хорошим.
Пост: https://news.ycombinator.com/item?id=37248002
Проверяете электронную почту? Дышите глубже!
Апноэ электронной почты, которое, согласно неофициальному опросу, случается примерно у 80% людей, - это явление, когда люди периодически задерживают дыхание или изменяют его при проверке электронной почты.
Новость: https://www.nytimes.com/2023/08/21/well/live/screen-apnea-breathing.html
Апноэ электронной почты, которое, согласно неофициальному опросу, случается примерно у 80% людей, - это явление, когда люди периодически задерживают дыхание или изменяют его при проверке электронной почты.
Новость: https://www.nytimes.com/2023/08/21/well/live/screen-apnea-breathing.html
Как обычно делаются игры
Знакомство с миром разработки игр и его отличиями от традиционной разработки программного обеспечения. В разработке игр участвуют программисты, дизайнеры, художники, аниматоры, сценаристы и звукорежиссеры. Как правило, игры проходят стадию прототипа, после чего начинается полноценное производство, где несколько команд работают параллельно, что часто приводит к проблемам интеграции. Жизненный цикл разработки игры состоит из трех основных фаз: предпроизводства, производства и выпуска. Автор подчеркивает, что, хотя разработка игр заимствует методы разработки программного обеспечения, такие как TDD и agile-методологии, она требует адаптации к уникальным задачам среды.
Статья: https://newsletter.pragmaticengineer.com/p/how-games-typically-get-built
Знакомство с миром разработки игр и его отличиями от традиционной разработки программного обеспечения. В разработке игр участвуют программисты, дизайнеры, художники, аниматоры, сценаристы и звукорежиссеры. Как правило, игры проходят стадию прототипа, после чего начинается полноценное производство, где несколько команд работают параллельно, что часто приводит к проблемам интеграции. Жизненный цикл разработки игры состоит из трех основных фаз: предпроизводства, производства и выпуска. Автор подчеркивает, что, хотя разработка игр заимствует методы разработки программного обеспечения, такие как TDD и agile-методологии, она требует адаптации к уникальным задачам среды.
Статья: https://newsletter.pragmaticengineer.com/p/how-games-typically-get-built
А давайте убъем все фреймворки?
Безумие - это любая вещь доведенная до крайности. Вы можете пойти и съесть мороженое. А можете пойти и попытаться ограбить кондитерскую фабрику, с целью съесть всё мороженое в мире. Первое действие не будет безумным. Второе - более чем.
Я не призываю здесь возвращаться к копьям и писать веб-приложения на чистом Assembly. (Хотя, те кто меня знают тут осекутся). Но нам можно оставить в прошлом бесконечно большие node-modules, потому что вам больше не придётся скачивать left-pad для своих проектов. GPT сможет переписать его для вас.
Статья: https://habr.com/ru/articles/757150/
Безумие - это любая вещь доведенная до крайности. Вы можете пойти и съесть мороженое. А можете пойти и попытаться ограбить кондитерскую фабрику, с целью съесть всё мороженое в мире. Первое действие не будет безумным. Второе - более чем.
Я не призываю здесь возвращаться к копьям и писать веб-приложения на чистом Assembly. (Хотя, те кто меня знают тут осекутся). Но нам можно оставить в прошлом бесконечно большие node-modules, потому что вам больше не придётся скачивать left-pad для своих проектов. GPT сможет переписать его для вас.
Статья: https://habr.com/ru/articles/757150/
👍1
Шаблон профиля на GitHub
Этот репозиторий содержит шаблон пользователя GitHub, который может быть использован в личных целях. Шаблон предоставляет быстрый обзор навыков и активности пользователя на GitHub и других платформах с помощью анимированных графиков и других компонентов.
Ссылка: https://github.com/BEPb/BEPb
Этот репозиторий содержит шаблон пользователя GitHub, который может быть использован в личных целях. Шаблон предоставляет быстрый обзор навыков и активности пользователя на GitHub и других платформах с помощью анимированных графиков и других компонентов.
Ссылка: https://github.com/BEPb/BEPb
🔥1
Практическая криптография для разработчиков
Бесплатная электронная книга по криптографии для разработчиков с примерами кода.
Сайт: https://cryptobook.nakov.com/
Бесплатная электронная книга по криптографии для разработчиков с примерами кода.
Сайт: https://cryptobook.nakov.com/
Мы поместили полмиллиона файлов в один git-репозиторий, и вот что мы узнали
Использование монорепозитория вызывает множество проблем с производительностью git. Вот как мы решаем их в Canva.
Статья: https://www.canva.dev/blog/engineering/we-put-half-a-million-files-in-one-git-repository-heres-what-we-learned/
Использование монорепозитория вызывает множество проблем с производительностью git. Вот как мы решаем их в Canva.
Статья: https://www.canva.dev/blog/engineering/we-put-half-a-million-files-in-one-git-repository-heres-what-we-learned/
Бесплатный курс «LangChain: чат с вашими данными»
«LangChain: чат с вашими данными» — это новый бесплатный краткий курс Харрисона Чейза, генерального директора LangChain, в котором он рассказывает о том, как использовать LLM для общения с вашими собственными данными. Курс, рассчитанный примерно на час, размещен на платформе Deeplearning AI Эндрю Нг.
Про курс: https://apptractor.ru/learn/besplatnyy-kurs-langchain-chat-s-vashimi-dannymi.html
«LangChain: чат с вашими данными» — это новый бесплатный краткий курс Харрисона Чейза, генерального директора LangChain, в котором он рассказывает о том, как использовать LLM для общения с вашими собственными данными. Курс, рассчитанный примерно на час, размещен на платформе Deeplearning AI Эндрю Нг.
Про курс: https://apptractor.ru/learn/besplatnyy-kurs-langchain-chat-s-vashimi-dannymi.html
Неожиданная находка, которая позволила освободить 20 ГБ неиспользуемого индексного пространства
Команде Haki удалось освободить более 70 Гбайт пространства в базе данных, не сбрасывая индексы и не удаляя данные. Вначале для освобождения места они использовали традиционные методы, такие как перестройка индексов и таблиц. Однако неожиданное открытие позволило им освободить еще ~20 ГБ. Они поняли, что PostgreSQL индексирует NULL-значения, что позволило им создать частичный индекс, исключающий эти NULL-значения, и тем самым значительно уменьшить размер индекса. В статье также рассматривается понятие "раздутости" таблиц и индексов PostgreSQL, предлагаются решения, например, использование команды REINDEX и расширения pg_repack для борьбы с ней. В Haki считают, что частичные индексы особенно полезны для полей с высоким процентом NULL-значений.
Статья: https://hakibenita.com/postgresql-unused-index-size
Команде Haki удалось освободить более 70 Гбайт пространства в базе данных, не сбрасывая индексы и не удаляя данные. Вначале для освобождения места они использовали традиционные методы, такие как перестройка индексов и таблиц. Однако неожиданное открытие позволило им освободить еще ~20 ГБ. Они поняли, что PostgreSQL индексирует NULL-значения, что позволило им создать частичный индекс, исключающий эти NULL-значения, и тем самым значительно уменьшить размер индекса. В статье также рассматривается понятие "раздутости" таблиц и индексов PostgreSQL, предлагаются решения, например, использование команды REINDEX и расширения pg_repack для борьбы с ней. В Haki считают, что частичные индексы особенно полезны для полей с высоким процентом NULL-значений.
Статья: https://hakibenita.com/postgresql-unused-index-size
👍2😁1
Мы сами себя обманули с Биткоином
Вы идете в продуктовый магазин, хотите купить бутылку молока. Бутылка стоит 601$, транзакция идет 5 часов, и стоимость бутылки за эти 5 часов прыгает от 500 до 700.
Как вам такое будущее? А ведь именно это и продвигают бешеные криптоманы.
Сразу хочу сказать, я за криптовалюту, я сам работаю в этом секторе.
Я хочу написать о наболевшем: в мире крипты люди несут какой-то тотальный бред, инвестируют во все попало, блогеры/инфлюенсеры являются большим авторитетом чем технологические гики.
На вершине этого стоит Биткоин, который вообще там, не потому что он самый удобный или правильный, а потому что он просто первый. И ничего более.
Статья: https://habr.com/ru/articles/757660/
Вы идете в продуктовый магазин, хотите купить бутылку молока. Бутылка стоит 601$, транзакция идет 5 часов, и стоимость бутылки за эти 5 часов прыгает от 500 до 700.
Как вам такое будущее? А ведь именно это и продвигают бешеные криптоманы.
Сразу хочу сказать, я за криптовалюту, я сам работаю в этом секторе.
Я хочу написать о наболевшем: в мире крипты люди несут какой-то тотальный бред, инвестируют во все попало, блогеры/инфлюенсеры являются большим авторитетом чем технологические гики.
На вершине этого стоит Биткоин, который вообще там, не потому что он самый удобный или правильный, а потому что он просто первый. И ничего более.
Статья: https://habr.com/ru/articles/757660/
💯2
Измерение производительности разработчиков? Ответ McKinsey
Консалтинговый гигант разработал методику, которая, по его утверждению, позволяет измерить производительность труда разработчиков программного обеспечения. Однако за такое измерение приходится платить высокую цену, и мы предлагаем более разумный подход.
Статья: https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity
Консалтинговый гигант разработал методику, которая, по его утверждению, позволяет измерить производительность труда разработчиков программного обеспечения. Однако за такое измерение приходится платить высокую цену, и мы предлагаем более разумный подход.
Статья: https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity
Pragmaticengineer
Measuring developer productivity? A response to McKinsey
The consulting firm came up with a methodology they claim can measure software developer productivity. But that measurement comes at a high price – and we offer a more sensible approach.
Переполнение буфера в Notepad++
4 месяца - так и не пофиксили.
Новость: https://securitylab.github.com/advisories/GHSL-2023-092_Notepad__/
4 месяца - так и не пофиксили.
Новость: https://securitylab.github.com/advisories/GHSL-2023-092_Notepad__/
GitHub Security Lab
GHSL-2023-112, GHSL-2023-102, GHSL-2023-103, GHSL-2023-092: Buffer Overflows in Notepad++ - CVE-2023-40031, CVE-2023-40036, CVE…
Multiple memory safety violations in Notepad++ opening a crafted file.
Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia
Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно?
Статья: https://habr.com/ru/companies/timeweb/articles/757050/
Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно?
Статья: https://habr.com/ru/companies/timeweb/articles/757050/
😁1
Как пройти кодинг-интервью со мной
За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые из моих потенциальных коллег решают эти задачи без проблем, но у других возникают проблемы по схожим, легко устранимым причинам. Я хотел бы дать им более качественную обратную связь, но из-за юридических и временных ограничений система так не работает.
Поэтому вместо индивидуального совета я написал эту шпаргалку, содержащую 22 совета о том, как пройти собеседование по программированию со мной. Эти советы не заменят мастерства и практики, но они помогут вам успокоить нервы, избежать глупых ошибок и продемонстрировать максимум своих возможностей. Большинство советов легко выполнимы, а их совокупность позволит увеличить количество пройденных собеседований.
Статья: https://robertheaton.com/interview/
За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые из моих потенциальных коллег решают эти задачи без проблем, но у других возникают проблемы по схожим, легко устранимым причинам. Я хотел бы дать им более качественную обратную связь, но из-за юридических и временных ограничений система так не работает.
Поэтому вместо индивидуального совета я написал эту шпаргалку, содержащую 22 совета о том, как пройти собеседование по программированию со мной. Эти советы не заменят мастерства и практики, но они помогут вам успокоить нервы, избежать глупых ошибок и продемонстрировать максимум своих возможностей. Большинство советов легко выполнимы, а их совокупность позволит увеличить количество пройденных собеседований.
Статья: https://robertheaton.com/interview/
Поставьте 👍, если хотите эту статью на русском
👍10
Как популярность DOS/4GW помогла играм в Windows 95
В начале 1990-х самым популярным расширителем DOS был DOS/4GW. Во время разработки Windows 95 я очень много времени тратил на решение задачи совместимости с играми под MS-DOS, поэтому видел много баннеров расширителей DOS, и чаще всего это был DOS/4GW.
Вы можете задаться вопросом: «Как эти игры вообще запускались в Windows 95, если они поставлялись с расширителем DOS? Разве расширитель не пытался бы безуспешно перейти в защищённый режим, потому что Windows уже управляла защищённым режимом?»
Хитрость заключалась в том. что эти расширители нас самом деле были двумя связанными друг с другом программами. Одна использовалась как сервер защищённого режима, а другая была клиентской библиотекой защищённого режима.
Статья: https://habr.com/ru/articles/758116/
В начале 1990-х самым популярным расширителем DOS был DOS/4GW. Во время разработки Windows 95 я очень много времени тратил на решение задачи совместимости с играми под MS-DOS, поэтому видел много баннеров расширителей DOS, и чаще всего это был DOS/4GW.
Вы можете задаться вопросом: «Как эти игры вообще запускались в Windows 95, если они поставлялись с расширителем DOS? Разве расширитель не пытался бы безуспешно перейти в защищённый режим, потому что Windows уже управляла защищённым режимом?»
Хитрость заключалась в том. что эти расширители нас самом деле были двумя связанными друг с другом программами. Одна использовалась как сервер защищённого режима, а другая была клиентской библиотекой защищённого режима.
Статья: https://habr.com/ru/articles/758116/
❤1
IT Insights
Как пройти кодинг-интервью со мной За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые…
Перевод: Как пройти кодинг интервью со мной
Перед собеседованием
1. Если вы предварительно изучаете вопрос в Google, удалите следы этого
2. Сделайте базовую программу и убедитесь, что вы можете ее запустить
Представление
3. Сократите личное вступление
4. Спросите, сколько времени у вас есть для ответа на вопрос
Когда вы получаете задачу
5. Кратко переформулируйте вопрос
6. Задайте пару уточняющих вопросов
7. Спросите, как вас оценивают
8. Набросайте решение, которое работает, по крайней мере, для базового случая
Отладка
9. Часто запускайте свой код
10. Используйте гипотезы для отладки
11. Распространенные тривиальные ошибки
12. Просьба о помощи
Разговор
13. Не ругайте языки, библиотеки и вообще что-либо
14. Говорите так много, как только можете
Написание кода
15. Не определяйте много функций или классов, если вы не уверены, что это хорошая идея
16. Используйте TODO
Тестирование
17. Написание тестов
18. Не используйте фреймворк для тестирования, если это не требуется или если вы не уверены в нем
19. Если тест пройден, выведите pass
20. Если все тесты проходят с первого раза, попробуйте сделать так, чтобы они не прошли
21. Не занимайтесь TDD в полной мере, если только вы не считаете его действительно полезным
22. Сохраняйте свои тесты
Статья: https://apptractor.ru/info/articles/kak-proyti-koding-intervyu-so-mnoy.html
Перед собеседованием
1. Если вы предварительно изучаете вопрос в Google, удалите следы этого
2. Сделайте базовую программу и убедитесь, что вы можете ее запустить
Представление
3. Сократите личное вступление
4. Спросите, сколько времени у вас есть для ответа на вопрос
Когда вы получаете задачу
5. Кратко переформулируйте вопрос
6. Задайте пару уточняющих вопросов
7. Спросите, как вас оценивают
8. Набросайте решение, которое работает, по крайней мере, для базового случая
Отладка
9. Часто запускайте свой код
10. Используйте гипотезы для отладки
11. Распространенные тривиальные ошибки
12. Просьба о помощи
Разговор
13. Не ругайте языки, библиотеки и вообще что-либо
14. Говорите так много, как только можете
Написание кода
15. Не определяйте много функций или классов, если вы не уверены, что это хорошая идея
16. Используйте TODO
Тестирование
17. Написание тестов
18. Не используйте фреймворк для тестирования, если это не требуется или если вы не уверены в нем
19. Если тест пройден, выведите pass
20. Если все тесты проходят с первого раза, попробуйте сделать так, чтобы они не прошли
21. Не занимайтесь TDD в полной мере, если только вы не считаете его действительно полезным
22. Сохраняйте свои тесты
Статья: https://apptractor.ru/info/articles/kak-proyti-koding-intervyu-so-mnoy.html
Самый плохой программист, которого я знаю
В измерении продуктивности разработчиков хорошо то, что можно быстро выявлять плохих программистов. Я хочу рассказать вам о самом плохом программисте, которого я знаю, и о том, почему я сражался за то, чтобы его оставили в команде.
Статья: https://habr.com/ru/articles/758596/
В измерении продуктивности разработчиков хорошо то, что можно быстро выявлять плохих программистов. Я хочу рассказать вам о самом плохом программисте, которого я знаю, и о том, почему я сражался за то, чтобы его оставили в команде.
Статья: https://habr.com/ru/articles/758596/
👍2
Кривые Безье
Я постоянно использовал кривые Безье в моей карьере фронтенд-инженера - в анимации и SVG-иллюстрациях и иконках. Однако только недавно я заинтересовался пониманием логики, лежащей в основе их поведения. Эта статья раскрыла для меня тайны, связанные с кривыми, и дала более глубокое понимание анимации. В этой статье я поделюсь своими интересными открытиями в области кривых Безье.
Статья: https://blog.richardekwonye.com/bezier-curves
Я постоянно использовал кривые Безье в моей карьере фронтенд-инженера - в анимации и SVG-иллюстрациях и иконках. Однако только недавно я заинтересовался пониманием логики, лежащей в основе их поведения. Эта статья раскрыла для меня тайны, связанные с кривыми, и дала более глубокое понимание анимации. В этой статье я поделюсь своими интересными открытиями в области кривых Безье.
Статья: https://blog.richardekwonye.com/bezier-curves
Как выглядят собеседования сейчас
Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.
Статья: https://habr.com/ru/articles/758838/
Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.
Статья: https://habr.com/ru/articles/758838/