Бог создал землю за 7 дней, а Линус Торвальдс создал git за две недели.
Предыстория скучная, и типичная для бизнеса. У Линукса был какой то инструмент для отслеживания изменений. Были разногласия, случился конфликт.
Торвальдс уходит в отпуск на две недели. Быстренько создает простую систему для отслеживания состояний файлов, и еще за 9 дней доводит систему до такого состояния, что с ее помощью уже мержат ядро линукса.
Если интересно тут можно почитать полную версию.
https://graphite.dev/blog/bitkeeper-linux-story-of-git-creation
Предыстория скучная, и типичная для бизнеса. У Линукса был какой то инструмент для отслеживания изменений. Были разногласия, случился конфликт.
Торвальдс уходит в отпуск на две недели. Быстренько создает простую систему для отслеживания состояний файлов, и еще за 9 дней доводит систему до такого состояния, что с ее помощью уже мержат ядро линукса.
Если интересно тут можно почитать полную версию.
https://graphite.dev/blog/bitkeeper-linux-story-of-git-creation
❤4
Сейчас пишу диссертацию и короче один из аспектов которые надо рассмотреть, это требования к разработке ПО. И в ходе чтения литературы по этой теме наткнулся на интересную мысль, которая по сути должна дать ответ зачем миру скрамы, дейлики, ретро и прочая чепуха.
Речь сейчас пойдет не про классическое бережливое производство (большое уважение Тойоте) из которого появился Agile, а в свою очередь на базе которого построен Scrum.
Речь пойдет как раз такие про "одибиленный" современный scrum в контексте it.
Некий Маглинец Ю.А. в своем собрании лекций "АНАЛИЗ ТРЕБОВАНИЙ К ИНФОРМАЦИОННЫМ СИСТЕМАМ" пишет о том, что самая главная проблема при разработке продукта, это невыполнение сроков разработки. Если бы все продукты разрабатывались точно в срок, наверное, не было бы необходимости регламентировать такие аспекты. При заключении договора между разработчиком и заказчиком, второй берет на себя много рисков, среди которых – большая временная просрочка и низкое качество финального продукта. Для решения данных проблем как раз и существуют проектные требования, в которые может входить полная регламентация процесса разработки программного обеспечения и его аудит.
В переводе на человеческий язык, "Заказчик нанимает дешевых обезьян, и постоянно боится что обезьяны ничего не сделают. Из-за этого бедных обезьян надо каждые 5 минут проверять и давать нагоняй. Обезьяны начинают ненавидеть начальника и как следствие работают еще хуже."
Конечно же встречи раз в неделю - две это нормально, как минимум для разбавления обстановки и общения в приятной обстановке. Но суть дейликов осознать не могу, у меня бы уходил час в день только на то, чтобы придумать речь. Короче мысль такая, чем чаще вас проверяют, тем больше бизнес "ссыт", а значит это повод задуматься над двумя вещами, либо вы себя продешевили и на вас думаю что вы додик, либо ваш уровень навыков реально низкий, и тогда это уже для вас повод задуматься над саморазвитием.
Речь сейчас пойдет не про классическое бережливое производство (большое уважение Тойоте) из которого появился Agile, а в свою очередь на базе которого построен Scrum.
Речь пойдет как раз такие про "одибиленный" современный scrum в контексте it.
Некий Маглинец Ю.А. в своем собрании лекций "АНАЛИЗ ТРЕБОВАНИЙ К ИНФОРМАЦИОННЫМ СИСТЕМАМ" пишет о том, что самая главная проблема при разработке продукта, это невыполнение сроков разработки. Если бы все продукты разрабатывались точно в срок, наверное, не было бы необходимости регламентировать такие аспекты. При заключении договора между разработчиком и заказчиком, второй берет на себя много рисков, среди которых – большая временная просрочка и низкое качество финального продукта. Для решения данных проблем как раз и существуют проектные требования, в которые может входить полная регламентация процесса разработки программного обеспечения и его аудит.
В переводе на человеческий язык, "Заказчик нанимает дешевых обезьян, и постоянно боится что обезьяны ничего не сделают. Из-за этого бедных обезьян надо каждые 5 минут проверять и давать нагоняй. Обезьяны начинают ненавидеть начальника и как следствие работают еще хуже."
Конечно же встречи раз в неделю - две это нормально, как минимум для разбавления обстановки и общения в приятной обстановке. Но суть дейликов осознать не могу, у меня бы уходил час в день только на то, чтобы придумать речь. Короче мысль такая, чем чаще вас проверяют, тем больше бизнес "ссыт", а значит это повод задуматься над двумя вещами, либо вы себя продешевили и на вас думаю что вы додик, либо ваш уровень навыков реально низкий, и тогда это уже для вас повод задуматься над саморазвитием.
❤5
Можете удалять интернет, лучше мема вы уже не увидите!
*для всех кто не знаком с лучшим знатоком подкапотного JS, очень советую
https://www.youtube.com/live/_P2YmY3sxhY?si=ll7hzel455CIlXBH
*для всех кто не знаком с лучшим знатоком подкапотного JS, очень советую
https://www.youtube.com/live/_P2YmY3sxhY?si=ll7hzel455CIlXBH
Какие же гении работают в ВК.
Оказывается мужики года два назад натренировали LLM на дваче и запустили туда же своего бота.
Оказывается мужики года два назад натренировали LLM на дваче и запустили туда же своего бота.
🤯4
Сори, чутка выпал из реальности, последнее время было некогда чем то интересоваться, а соответственно постов не было
НО, решил я слить пару часов жизни в помойку и в очередной раз разобраться "че там с компилятором React" (спойлер одно разочарование). Хайп утих, весь плохой материал осел на дно, и можно попробовать найти действительно годный контент.
https://www.developerway.com/posts/i-tried-react-compiler
В статье автор попытался на уже существующих проектах попробовать React 19 + compiler и никакой магии кеширования не произошло. Все так же на каждый чендж инпута происходит ререндер всего чего только можно.
ЧТД, пока что с помощью зеро конфига привнести магию в реакт не получится, и я думаю допилят до прода его еще не скоро. А это значит, что владение алгоритмами React все еще ценный навык, и у меня сложилось впечатление что с компилятором даже больше надо упарываться в мемоизацию чем без него.
НО, решил я слить пару часов жизни в помойку и в очередной раз разобраться "че там с компилятором React" (спойлер одно разочарование). Хайп утих, весь плохой материал осел на дно, и можно попробовать найти действительно годный контент.
https://www.developerway.com/posts/i-tried-react-compiler
В статье автор попытался на уже существующих проектах попробовать React 19 + compiler и никакой магии кеширования не произошло. Все так же на каждый чендж инпута происходит ререндер всего чего только можно.
ЧТД, пока что с помощью зеро конфига привнести магию в реакт не получится, и я думаю допилят до прода его еще не скоро. А это значит, что владение алгоритмами React все еще ценный навык, и у меня сложилось впечатление что с компилятором даже больше надо упарываться в мемоизацию чем без него.
Developerway
I tried React Compiler today, and guess what... 😉
Investigating whether we can forget about memoization in React, now that the React Compiler is open-sourced.
🤯2
Вот и закончилась суета, теперь почти официально магистр, осталось только диплом забрать.
На время выпадал из каких то пет проектов и опенсорса из-за большой нагрузки, накопилось много вещей которые хочется попробовать или улучшить (например пописать на vue, и много заметок по улучшению зоопарка для effector)
Какие то вещи я просто тыкал в свободное время и по ним тоже сформировалось свое мнение которым хотелось бы поделиться (например htmx в связке с golang)
На время выпадал из каких то пет проектов и опенсорса из-за большой нагрузки, накопилось много вещей которые хочется попробовать или улучшить (например пописать на vue, и много заметок по улучшению зоопарка для effector)
Какие то вещи я просто тыкал в свободное время и по ним тоже сформировалось свое мнение которым хотелось бы поделиться (например htmx в связке с golang)
❤7
А что у нас тут? Правильно - AI
Отличный материал для понимания что вообще такое LLM, дает базовое понимание как вообще эта вся машинерия работает, которой мы сейчас пользуемся почти каждый день.
Респект майкрософтам за подготовку такого материала, сам прошел пару разделов, остальные бегло прокликал, но не планирую останавливаться. Если есть свободное время, то это шанс потратить его с пользой.
https://github.com/microsoft/generative-ai-for-beginners
Отличный материал для понимания что вообще такое LLM, дает базовое понимание как вообще эта вся машинерия работает, которой мы сейчас пользуемся почти каждый день.
Респект майкрософтам за подготовку такого материала, сам прошел пару разделов, остальные бегло прокликал, но не планирую останавливаться. Если есть свободное время, то это шанс потратить его с пользой.
https://github.com/microsoft/generative-ai-for-beginners
🤩2
Forwarded from 🦜 on the web (🦜)
Тулинг веб-разработки написанный на Rust🦀
Если знаете еще, скидывайте в комменты.
• http://makojs.dev (web) 🆕
• http://rsbuild.dev (web)
• http://rspack.dev (web)
• http://rolldown.rs (web)
• http://turbo.build (web / monorepo)
• http://farmfe.org (web)
• http://biomejs.dev (web)
• http://lightningcss.dev (web)
• http://swc.rs (web)
• http://oxc.rs (web)
Если знаете еще, скидывайте в комменты.
• http://makojs.dev (web) 🆕
• http://rsbuild.dev (web)
• http://rspack.dev (web)
• http://rolldown.rs (web)
• http://turbo.build (web / monorepo)
• http://farmfe.org (web)
• http://biomejs.dev (web)
• http://lightningcss.dev (web)
• http://swc.rs (web)
• http://oxc.rs (web)
💩2
Моя первая офлайн конфа
Вот и прошла конференция Moscow JS 60 на которой мне посчастливилось побывать. Это моя первая офлайн конфа, до этого был только на онлайне.
На самом деле это непередаваемые ощущения, и дело даже не в докладах (они были крутые), а в самой атмосфере которую удалось создать организаторам, респект. Круто было увидеть вживую людей которых до этого только читал в каналах.
Теперь еще больше захотел выступить, надеюсь получится реализовать.
А еще нас покормили)
Вот и прошла конференция Moscow JS 60 на которой мне посчастливилось побывать. Это моя первая офлайн конфа, до этого был только на онлайне.
На самом деле это непередаваемые ощущения, и дело даже не в докладах (они были крутые), а в самой атмосфере которую удалось создать организаторам, респект. Круто было увидеть вживую людей которых до этого только читал в каналах.
Теперь еще больше захотел выступить, надеюсь получится реализовать.
А еще нас покормили)
🔥5❤3
У меня две мечты, научится писать Ruby код и покорить Эверест.
Как видишь Ruby код я уже написал.
Как видишь Ruby код я уже написал.
👍7😎6
Вернулся из отпуска...
Еще до отпуска я как то листал канал Сергея Совы и нашел такую интересную штуку как vike.dev (фронтендовый фреймворк для ssr)
Если хотите иметь в кармане не отвертку, а полноценный мультитул, то гляньте. (файловый роутинг, куча хуков для кастомизации, любой UI-фреймворк, SSR, SSG, можно подключить свой роутер, любое направление деплоя)
Но на этом полет мысли не остановился, поскольку дока очень простая и есть поддержка кучи инструментов, то я пошел дальше.
От того же создателя есть telefunc (штука для RPC) которая позволяет превратить обращение к файлу
Так же прикрутил React, express и вместо eslint/prettier взял модный biome на расте.
Прикручу туда еще effector и можно выкатывать как собственный фреймворк.
Вывод: быстро, качественно, чувствуешь власть над компуктером, закрыты дырки от некста.
Минусы: сложная настройка всего этого оркестра.
Сделал репку на гитхабе, можете навалить звездочек и даже потыкать.
Еще до отпуска я как то листал канал Сергея Совы и нашел такую интересную штуку как vike.dev (фронтендовый фреймворк для ssr)
Если хотите иметь в кармане не отвертку, а полноценный мультитул, то гляньте. (файловый роутинг, куча хуков для кастомизации, любой UI-фреймворк, SSR, SSG, можно подключить свой роутер, любое направление деплоя)
Но на этом полет мысли не остановился, поскольку дока очень простая и есть поддержка кучи инструментов, то я пошел дальше.
От того же создателя есть telefunc (штука для RPC) которая позволяет превратить обращение к файлу
.telefunc.ts в fetch() запрос.Так же прикрутил React, express и вместо eslint/prettier взял модный biome на расте.
Прикручу туда еще effector и можно выкатывать как собственный фреймворк.
Вывод: быстро, качественно, чувствуешь власть над компуктером, закрыты дырки от некста.
Минусы: сложная настройка всего этого оркестра.
Сделал репку на гитхабе, можете навалить звездочек и даже потыкать.
🔥7❤2
Ребята из github работают на абсолютном чиле.
Я нахожу у них баг, репорчу, все шаги воспроизведения, чуть ли не код готовый даю.
Они неделю игнорят, потом приходит их продукт и спрашивает воспроизводится ли еще, я говорю что ДА, и снова тишина...
Я нахожу у них баг, репорчу, все шаги воспроизведения, чуть ли не код готовый даю.
Они неделю игнорят, потом приходит их продукт и спрашивает воспроизводится ли еще, я говорю что ДА, и снова тишина...
MoscowJS 61
Второй раз подряд посчастливилось посетить данную конференцию.
Было 4 доклада, два из которых хотелось бы выделить.
1. Доклад про безопасность. Был настолько хорош что я всю дорогу домой ехал и читал дополнительный материал который дал автор, а так же пытался сравнить с тем как это сделано у меня на проекте.
2. Доклад по Effector. Да, доклад был простенький, более обзорный, но мне все равно очень приятно видеть как повышается интерес общества к данной библиотеке.
Всем добра 🖖
Второй раз подряд посчастливилось посетить данную конференцию.
Было 4 доклада, два из которых хотелось бы выделить.
1. Доклад про безопасность. Был настолько хорош что я всю дорогу домой ехал и читал дополнительный материал который дал автор, а так же пытался сравнить с тем как это сделано у меня на проекте.
2. Доклад по Effector. Да, доклад был простенький, более обзорный, но мне все равно очень приятно видеть как повышается интерес общества к данной библиотеке.
Всем добра 🖖
🔥5🐳3❤1
#go
Мы с чуваками с работы начали учить Golang.
У нас по отдельности у каждого было несколько итераций начала обучения, но все забивали. В этот раз мы подошли серьезно, мы собрались в группу, что в некоторой степени обязывает что то делать, есть некоторая ответственность за других и еще один жирный плюс, что если кому то, что то непонятно всегда можно коллективно разжевать.
Я попросил своего друга голенгера дать некоторый roadmap из ресурсов по которому он в свое время учился и прошел путь от 0 до полноценного разработчика.
Список ресурсов и достижений буду постить сюда под соответствующим тегом.
Пока что лучший учебник по синтаксису: https://go.dev/tour/welcome/1
Мы с чуваками с работы начали учить Golang.
У нас по отдельности у каждого было несколько итераций начала обучения, но все забивали. В этот раз мы подошли серьезно, мы собрались в группу, что в некоторой степени обязывает что то делать, есть некоторая ответственность за других и еще один жирный плюс, что если кому то, что то непонятно всегда можно коллективно разжевать.
Я попросил своего друга голенгера дать некоторый roadmap из ресурсов по которому он в свое время учился и прошел путь от 0 до полноценного разработчика.
Список ресурсов и достижений буду постить сюда под соответствующим тегом.
Пока что лучший учебник по синтаксису: https://go.dev/tour/welcome/1
🔥6❤2
Фронтовые роутеры двигаются в правильном направлении.
Разговор будет идти в контексте реакта, так что всех хейтеров прошу отойти от экрана.
Фича вроде бы уже не новая но как то все время проходил мимо, не обращая должного внимания.
Речь пойдет про механизм loader'ов в современных роутерах.
С давних времен у реакта была и есть проблема, что приходится завязывать бизнес логику на жизненном цикле компонента (useEffect в фп подходе, и куча методов жизненного цикла при написании классов). И все долгое время жили с этим и это даже как то стало нормальной практикой.
Каждый SPA нуждается в каком то роутере. Сейчас их на любой вкус и цвет. Есть гиганты типо TanStack router, React Router который имхо пошел по неправильно дороге объединяясь с Remix и малоизвестные, например atomic-router за которым я последнее время слежу.
Одним из важных механизмов, появившихся в последних версиях роутеров, является Loader — инструмент для предварительной загрузки данных перед рендерингом страницы.
React Router
TanStack
Atomic router
Преимущество такого подхода в том, что можно подгрузить данные чуть раньше, чем при подхоже через условный useEffect. На самом простом примере на практике у меня вышла экономия около 50-200 мс.
И плюс этого всего как бы даже не только в предварительной загрузке данных. Вцелом вообще можно делать ВСЕ что угодно, что не должно быть жестко завязано на ЖЦ компонента (работа с аналитикой, браузерное апи, сокеты), и таким образом сделать компонент еще немножечко чище.
Разговор будет идти в контексте реакта, так что всех хейтеров прошу отойти от экрана.
Фича вроде бы уже не новая но как то все время проходил мимо, не обращая должного внимания.
Речь пойдет про механизм loader'ов в современных роутерах.
С давних времен у реакта была и есть проблема, что приходится завязывать бизнес логику на жизненном цикле компонента (useEffect в фп подходе, и куча методов жизненного цикла при написании классов). И все долгое время жили с этим и это даже как то стало нормальной практикой.
Каждый SPA нуждается в каком то роутере. Сейчас их на любой вкус и цвет. Есть гиганты типо TanStack router, React Router который имхо пошел по неправильно дороге объединяясь с Remix и малоизвестные, например atomic-router за которым я последнее время слежу.
Одним из важных механизмов, появившихся в последних версиях роутеров, является Loader — инструмент для предварительной загрузки данных перед рендерингом страницы.
React Router
createBrowserRouter([
{
element: <Teams />,
path: "teams",
loader: async () => {
return fakeDb.from("teams").select("*");
}
}
TanStack
export const Route = createFileRoute('/posts')({
loader: () => fetchPosts()
})
Atomic router
const postsLoadedRoute = chainRoute({
route,
beforeOpen: getPostsFx,
})
Преимущество такого подхода в том, что можно подгрузить данные чуть раньше, чем при подхоже через условный useEffect. На самом простом примере на практике у меня вышла экономия около 50-200 мс.
И плюс этого всего как бы даже не только в предварительной загрузке данных. Вцелом вообще можно делать ВСЕ что угодно, что не должно быть жестко завязано на ЖЦ компонента (работа с аналитикой, браузерное апи, сокеты), и таким образом сделать компонент еще немножечко чище.
❤1👏1🤯1