Философия корутинов
Я являюсь большим поклонником корутинов с середины 1990-х годов.
Я познакомился с этой идеей еще в студенческие годы, когда впервые прочитал книгу "Искусство компьютерного программирования". К тому времени я уже почти все детство занимался программированием, и эта совершенно новая для меня идея меня просто потрясла. На самом деле, наверное, не будет преувеличением сказать, что за все время существования TAOCP это была главная вещь, которая больше всего изменила мою жизнь.
Статья: https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-philosophy/
Что такое корутины: https://apptractor.ru/info/articles/coroutines.html
Я являюсь большим поклонником корутинов с середины 1990-х годов.
Я познакомился с этой идеей еще в студенческие годы, когда впервые прочитал книгу "Искусство компьютерного программирования". К тому времени я уже почти все детство занимался программированием, и эта совершенно новая для меня идея меня просто потрясла. На самом деле, наверное, не будет преувеличением сказать, что за все время существования TAOCP это была главная вещь, которая больше всего изменила мою жизнь.
Статья: https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-philosophy/
Что такое корутины: https://apptractor.ru/info/articles/coroutines.html
Pineapple ONE
32-разрядный RISC-V open source процессор, который можно сделать в домашних условиях.
Сайт: https://pineapple-one.github.io/
32-разрядный RISC-V open source процессор, который можно сделать в домашних условиях.
Сайт: https://pineapple-one.github.io/
🔥2
Сколько на самом деле звезд в нашей Вселенной?
Учитывая ~400 миллиардов звезд в Млечном Пути и ~6-20 триллионов существующих в нашей Вселенной галактик, кажется, что звезд в мире должно быть очень-очень много. Как минимум несколько септиллионов. Но на самом деле их может оказаться далеко не так много, как мы думаем. Всё это связано со скоростью формирования звезд во Вселенной и тем, как мы видим далекие галактики.
Статья: https://habr.com/ru/companies/itglobalcom/articles/761720/
Учитывая ~400 миллиардов звезд в Млечном Пути и ~6-20 триллионов существующих в нашей Вселенной галактик, кажется, что звезд в мире должно быть очень-очень много. Как минимум несколько септиллионов. Но на самом деле их может оказаться далеко не так много, как мы думаем. Всё это связано со скоростью формирования звезд во Вселенной и тем, как мы видим далекие галактики.
Статья: https://habr.com/ru/companies/itglobalcom/articles/761720/
Хабр
Сколько на самом деле звезд в нашей Вселенной?
Учитывая ~400 миллиардов звезд в Млечном Пути и ~6-20 триллионов существующих в нашей Вселенной галактик, кажется, что звезд в мире должно быть очень-очень много. Как минимум несколько септиллионов....
Масштабирование Kafka для поддержки роста объема данных PayPal
- Вы любите Кафку?
- Да, особенно грефнефую.
Paypal рассказывает о своем опыте масштабирования Apache Kafka, платформы распределенной потоковой передачи событий с открытым исходным кодом, которая используется в компании для конвейерной обработки, интеграции и ввода данных.
Статья: https://medium.com/paypal-tech/scaling-kafka-to-support-paypals-data-growth-a0b4da420fab
- Вы любите Кафку?
- Да, особенно грефнефую.
Paypal рассказывает о своем опыте масштабирования Apache Kafka, платформы распределенной потоковой передачи событий с открытым исходным кодом, которая используется в компании для конвейерной обработки, интеграции и ввода данных.
Статья: https://medium.com/paypal-tech/scaling-kafka-to-support-paypals-data-growth-a0b4da420fab
🤮1
Сколько нужно огорода, чтобы выжить
Эффективный сад площадью 75 квадратных метров может обеспечить существование семьи из четырех человек.
Статья: https://lifehacker.com/how-much-garden-you-would-need-to-100-survive-on-1848829190
Эффективный сад площадью 75 квадратных метров может обеспечить существование семьи из четырех человек.
Статья: https://lifehacker.com/how-much-garden-you-would-need-to-100-survive-on-1848829190
👍1
Как правильно задавать вопросы
В сфере разработки программного обеспечения задавать вопросы - это не просто право, а настоятельная необходимость. Давайте сразу перейдем к делу: если вы не задаете вопросов, то тем самым наносите ущерб своей карьере разработчика.
Статья: https://vadimkravcenko.com/shorts/asking-right-questions/
В сфере разработки программного обеспечения задавать вопросы - это не просто право, а настоятельная необходимость. Давайте сразу перейдем к делу: если вы не задаете вопросов, то тем самым наносите ущерб своей карьере разработчика.
Статья: https://vadimkravcenko.com/shorts/asking-right-questions/
Трассировка: структурированное логирование, но лучше во всех отношениях
Я решил, что пришло время написать, почему я считаю, что логи плохи, почему вместо них следует использовать трассировку, и как мы переходим от одного к другому.
Статья: https://andydote.co.uk/2023/09/19/tracing-is-better/
Я решил, что пришло время написать, почему я считаю, что логи плохи, почему вместо них следует использовать трассировку, и как мы переходим от одного к другому.
Статья: https://andydote.co.uk/2023/09/19/tracing-is-better/
andydote.co.uk
Tracing: structured logging, but better in every way
It is no secret that I am not a fan of logs; I’ve baited (rapala in work lingo. Rapala is a Finnish brand of fishing lure, and used to mean baiting in this context) discussion in our work chat with things like:
If you’re writing log statements, you’re doing…
If you’re writing log statements, you’re doing…
ElectricSQL
ElectricSQL - Local-first уровень синхронизации для веб- и мобильных приложений. Создавайте реактивные приложений с локальной синхронизацией в реальном времени непосредственно на базе Postgres.
Local-first - это новая парадигма разработки, при которой код приложения напрямую обращается к встроенной локальной базе данных, а данные синхронизируются в фоновом режиме посредством активной репликации базы данных. Поскольку код приложения обращается непосредственно к локальной базе данных, приложения работают мгновенно. Поскольку данные синхронизируются в фоновом режиме с помощью активной репликации, это естественным образом поддерживает многопользовательскую совместную работу и бесконфликтный офлайн.
ElectricSQL на GitHub: https://github.com/electric-sql/electric
Видео: https://www.youtube.com/watch?v=_U5Z8AQy0hc
ElectricSQL - Local-first уровень синхронизации для веб- и мобильных приложений. Создавайте реактивные приложений с локальной синхронизацией в реальном времени непосредственно на базе Postgres.
Local-first - это новая парадигма разработки, при которой код приложения напрямую обращается к встроенной локальной базе данных, а данные синхронизируются в фоновом режиме посредством активной репликации базы данных. Поскольку код приложения обращается непосредственно к локальной базе данных, приложения работают мгновенно. Поскольку данные синхронизируются в фоновом режиме с помощью активной репликации, это естественным образом поддерживает многопользовательскую совместную работу и бесконфликтный офлайн.
ElectricSQL на GitHub: https://github.com/electric-sql/electric
Видео: https://www.youtube.com/watch?v=_U5Z8AQy0hc
👍2
Каждый программист должен знать в первую очередь: Идемпотентность
В мире программирования существует множество концепций, которые должен понимать каждый разработчик, чтобы создавать эффективные и надежные системы. Одним из таких важнейших понятий является идемпотентность - свойство операции или функции при многократном применении давать тот же результат, что и при однократном. Это может показаться простым понятием, но оно имеет существенные последствия для построения распределенных систем. В этой статье мы рассмотрим, что такое идемпотентность, почему она важна и как ее достичь. Независимо от того, являетесь ли вы начинающим или опытным разработчиком, понимание идемпотентности - это важный навык, который поможет вам создавать более надежные и прочные системы.
Статья: https://www.berkansasmaz.com/every-programmer-should-know-idempotency/
Поделитесь этим постом, если хотите эту статью на русском 🙃
В мире программирования существует множество концепций, которые должен понимать каждый разработчик, чтобы создавать эффективные и надежные системы. Одним из таких важнейших понятий является идемпотентность - свойство операции или функции при многократном применении давать тот же результат, что и при однократном. Это может показаться простым понятием, но оно имеет существенные последствия для построения распределенных систем. В этой статье мы рассмотрим, что такое идемпотентность, почему она важна и как ее достичь. Независимо от того, являетесь ли вы начинающим или опытным разработчиком, понимание идемпотентности - это важный навык, который поможет вам создавать более надежные и прочные системы.
Статья: https://www.berkansasmaz.com/every-programmer-should-know-idempotency/
Поделитесь этим постом, если хотите эту статью на русском 🙃
berkansasmaz
Every Programmer Should Know #1: Idempotency
In the world of programming, there are many concepts that every developer should understand in order to build efficient and reliable systems. One such vital concept is idempotency, which refers to the property of an operation or function that produces the…
👍1
Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию
Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.
Новость: https://habr.com/ru/articles/762532/
Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.
Новость: https://habr.com/ru/articles/762532/
🔥3
Интероперабельность: Суперспособность Swift
В результате продуманных дизайнерских решений, принимаемых в Swift на протяжении многих лет, получился язык, демонстрирующий, что гибкость и совместимость не обязательно должны достигаться в ущерб удобству использования. Одним из таких решений стала ориентация Swift на нативную совместимость с другими языками. Гибкость, которую это обеспечивает, позволяет с удовольствием создавать на Swift богатый нативный опыт в различных средах.
Статья: https://browsercompany.substack.com/cp/137231709
В результате продуманных дизайнерских решений, принимаемых в Swift на протяжении многих лет, получился язык, демонстрирующий, что гибкость и совместимость не обязательно должны достигаться в ущерб удобству использования. Одним из таких решений стала ориентация Swift на нативную совместимость с другими языками. Гибкость, которую это обеспечивает, позволяет с удовольствием создавать на Swift богатый нативный опыт в различных средах.
Статья: https://browsercompany.substack.com/cp/137231709
Моя история соло-предпринимателя: от нуля до $45 тыс. в месяц за 2 года
За последние два года я:
• создал четыре небольших, но успешных продукта
• сформировал аудиторию из 97 тыс. подписчиков в Twitter
• создал эту рассылку с 6 000+ подписчиками
• вскочил в поезд шумихи вокруг искусственного интеллекта и успешно создал с его помощью продукт
• и пережил драму, которая чуть не погубила мой бизнес.
На данный момент мой общий доход по всем продуктам составляет около $45 тыс. в месяц при ~90% прибыли.
Статья: https://news.tonydinh.com/p/my-solopreneur-story-zero-to-45kmo
За последние два года я:
• создал четыре небольших, но успешных продукта
• сформировал аудиторию из 97 тыс. подписчиков в Twitter
• создал эту рассылку с 6 000+ подписчиками
• вскочил в поезд шумихи вокруг искусственного интеллекта и успешно создал с его помощью продукт
• и пережил драму, которая чуть не погубила мой бизнес.
На данный момент мой общий доход по всем продуктам составляет около $45 тыс. в месяц при ~90% прибыли.
Статья: https://news.tonydinh.com/p/my-solopreneur-story-zero-to-45kmo
Tonydinh
My solopreneur story: zero to $45K/mo in 2 years
Today is exactly 2 years since I quit my job and become a full-time indie hacker.
👍2
Невидимая проблема текстовых редакторов на смартфонах
Редактирование текста на мобильных поломано. На самом деле, оно гораздо хуже, чем вы думаете, это невидимая проблема, на которую никто не обращает внимания. Я написал этот пост, чтобы вы поняли, насколько это важно.
Статья: https://habr.com/ru/articles/763386/
Редактирование текста на мобильных поломано. На самом деле, оно гораздо хуже, чем вы думаете, это невидимая проблема, на которую никто не обращает внимания. Я написал этот пост, чтобы вы поняли, насколько это важно.
Статья: https://habr.com/ru/articles/763386/
👍2🤡2🤔1
Казино в вашем кармане
Уверен, что никого не удивляет тот факт, что игра подстроена в пользу владельца. Выбор, предоставляемый игроку, - это иллюзия, замаскированная под азартную игру. В казино любой здравомыслящий взрослый человек ожидает этого. А как же игры, позволяющие делать покупки за реальные деньги игрокам любого возраста?
Статья: https://blog.curtii.com/blog/posts/wordscapes-the-casino-in-your-pocket/
Уверен, что никого не удивляет тот факт, что игра подстроена в пользу владельца. Выбор, предоставляемый игроку, - это иллюзия, замаскированная под азартную игру. В казино любой здравомыслящий взрослый человек ожидает этого. А как же игры, позволяющие делать покупки за реальные деньги игрокам любого возраста?
Статья: https://blog.curtii.com/blog/posts/wordscapes-the-casino-in-your-pocket/
Еще 8 микросоветов для значительно лучшей типографики
Настройте размер различных шрифтов, увеличьте высоту строки при использовании сниппетов, уплотните большой шрифт, проверьте разборчивость и кернинг шрифтов, используйте пропорциональные цифры в таблицах, используйте большие поля над заголовками, чем под ними, и настройте высоту строки в соответствии с используемым языком.
Статья: https://betterwebtype.com/8-more-tips-for-remarkably-better-typography/
Настройте размер различных шрифтов, увеличьте высоту строки при использовании сниппетов, уплотните большой шрифт, проверьте разборчивость и кернинг шрифтов, используйте пропорциональные цифры в таблицах, используйте большие поля над заголовками, чем под ними, и настройте высоту строки в соответствии с используемым языком.
Статья: https://betterwebtype.com/8-more-tips-for-remarkably-better-typography/
👍1
Топ 10 deepnude нейросетей 2023 года
DeepNude — это программное обеспечение, использующее нейросети для создания изображений обнаженных тел на основе одетых фотографий или видео. Суть этой технологии заключается в том, чтобы "снять" одежду с изображения человека с помощью искусственного интеллекта и показать, как, предположительно, выглядит тело человека под одеждой.
Статья: https://habr.com/ru/articles/763618/
DeepNude — это программное обеспечение, использующее нейросети для создания изображений обнаженных тел на основе одетых фотографий или видео. Суть этой технологии заключается в том, чтобы "снять" одежду с изображения человека с помощью искусственного интеллекта и показать, как, предположительно, выглядит тело человека под одеждой.
Статья: https://habr.com/ru/articles/763618/
Фермеры обращаются к технологиям из-за проблем у пчел
Израильская технологическая компания BloomX создала машину для опыления растений, которая работает путем сбивания пыльцы. Этот механизм похож на то, как пчелы опыляют растения. Цель BloomX - снизить зависимость фермеров от пчел. Считается, что пчелы обеспечивают 75% опыления фруктов, орехов и овощей в США, однако их популяция постоянно уменьшается из-за изменения климата, потери среды обитания и использования пестицидов.
Новость: https://www.bbc.com/news/business-66807456
Израильская технологическая компания BloomX создала машину для опыления растений, которая работает путем сбивания пыльцы. Этот механизм похож на то, как пчелы опыляют растения. Цель BloomX - снизить зависимость фермеров от пчел. Считается, что пчелы обеспечивают 75% опыления фруктов, орехов и овощей в США, однако их популяция постоянно уменьшается из-за изменения климата, потери среды обитания и использования пестицидов.
Новость: https://www.bbc.com/news/business-66807456
Написание отладчика с нуля
Я дважды покидал команду Microsoft Debugger Platform и каждый раз начинал писать свой собственный отладчик. Наверное, я действительно люблю отладчики или что-то в этом роде. В этот раз у меня две причины для написания нового отладчика. Первая - я хочу лучше изучить Rust, а написание того, что я уже достаточно хорошо понимаю, кажется мне хорошим способом обучения. Вторая причина заключается в том, чтобы облегчить людям изучение работы отладчика. Использование Rust также помогает в этом, поскольку в нем есть множество вещей, которые могут позаботиться о таких вещах, как символы и дизассемблирование, и это позволит нам сосредоточиться на основных идеях, связанных с написанием отладчика.
Серия статей: https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-1/
Я дважды покидал команду Microsoft Debugger Platform и каждый раз начинал писать свой собственный отладчик. Наверное, я действительно люблю отладчики или что-то в этом роде. В этот раз у меня две причины для написания нового отладчика. Первая - я хочу лучше изучить Rust, а написание того, что я уже достаточно хорошо понимаю, кажется мне хорошим способом обучения. Вторая причина заключается в том, чтобы облегчить людям изучение работы отладчика. Использование Rust также помогает в этом, поскольку в нем есть множество вещей, которые могут позаботиться о таких вещах, как символы и дизассемблирование, и это позволит нам сосредоточиться на основных идеях, связанных с написанием отладчика.
Серия статей: https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-1/
TimDbg
Writing a Debugger From Scratch - DbgRs Part 1 - Attaching to a Process
I’ve left the Microsoft Debugger Platform team twice, and each time I’ve started writing my own debugger. I must really like debuggers or something. This time, I have two reasons for writing a new debugger. The first is because I want to learn Rust better…
Минимум менеджеров, максимум инженеров: как Threads* удалось выпустить за пять месяцев
Джесси Чен (менеджер по разработке Threads*) и Захан Малкани (ведущий серверный инженер приложения) рассказали историю создания Threads*.
Статья: https://habr.com/ru/companies/ruvds/articles/763848/
Джесси Чен (менеджер по разработке Threads*) и Захан Малкани (ведущий серверный инженер приложения) рассказали историю создания Threads*.
Статья: https://habr.com/ru/companies/ruvds/articles/763848/
Фазз-тестирование - это лучшее, что случилось с нашими тестами приложений
Фазз-тесты относятся не только к базам данных, компиляторам и CLI-инструментам - их можно успешно добавлять в приложения практически любого типа. Это не означает, что вы должны делать только такие тесты и ничего больше, но написание фаззера в качестве дополнения после написания "традиционных" тестов помогло нам создать более надежную базу данных и, несомненно, поможет вам.
Статья: https://questdb.io/blog/fuzz-testing-questdb/
Фазз-тесты относятся не только к базам данных, компиляторам и CLI-инструментам - их можно успешно добавлять в приложения практически любого типа. Это не означает, что вы должны делать только такие тесты и ничего больше, но написание фаззера в качестве дополнения после написания "традиционных" тестов помогло нам создать более надежную базу данных и, несомненно, поможет вам.
Статья: https://questdb.io/blog/fuzz-testing-questdb/