Каждый программист должен знать в первую очередь: Идемпотентность
В мире программирования существует множество концепций, которые должен понимать каждый разработчик, чтобы создавать эффективные и надежные системы. Одним из таких важнейших понятий является идемпотентность - свойство операции или функции при многократном применении давать тот же результат, что и при однократном. Это может показаться простым понятием, но оно имеет существенные последствия для построения распределенных систем. В этой статье мы рассмотрим, что такое идемпотентность, почему она важна и как ее достичь. Независимо от того, являетесь ли вы начинающим или опытным разработчиком, понимание идемпотентности - это важный навык, который поможет вам создавать более надежные и прочные системы.
Статья: 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/
Почему именно деплой в прод всегда идет не так?
Обновление было протестировано на специальном наборе кластеров, после чего ему был дан зеленый свет для запуска в продакшн. В течение примерно двух минут все шло хорошо. А потом? Хаос. Когда команда в спешке пыталась устранить неполадки, они, вероятно, задавались вопросом: "Почему в проде все всегда идет наперекосяк?".
Статья: https://overmind.tech/blog/why-deploys-to-prod-go-wrong
Обновление было протестировано на специальном наборе кластеров, после чего ему был дан зеленый свет для запуска в продакшн. В течение примерно двух минут все шло хорошо. А потом? Хаос. Когда команда в спешке пыталась устранить неполадки, они, вероятно, задавались вопросом: "Почему в проде все всегда идет наперекосяк?".
Статья: https://overmind.tech/blog/why-deploys-to-prod-go-wrong
Кто-нибудь, остановите feature creep
Новые фичи могут делать продукт не только лучше, но и хуже. Кто постарше — помните, как приложение NERO Burning ROM превратилось в монстра с тысячей щупалец? Ты хочешь просто записать CD-R, а ощущаешь, словно безумный комбайн поглощает всю твою жизнь. Или вот функции редактирования видео в Photoshop — это правда нужно? Может, Photoshop и без них достаточно сложная штука, а видео лучше оставить другим приложениям? А сториз в Телеграме точно делают всем только лучше, или они способны замусоривать инструмент рабочей коммуникации? Почему мы не умеем вовремя останавливаться?
Статья: https://habr.com/ru/companies/jugru/articles/764274/
Новые фичи могут делать продукт не только лучше, но и хуже. Кто постарше — помните, как приложение NERO Burning ROM превратилось в монстра с тысячей щупалец? Ты хочешь просто записать CD-R, а ощущаешь, словно безумный комбайн поглощает всю твою жизнь. Или вот функции редактирования видео в Photoshop — это правда нужно? Может, Photoshop и без них достаточно сложная штука, а видео лучше оставить другим приложениям? А сториз в Телеграме точно делают всем только лучше, или они способны замусоривать инструмент рабочей коммуникации? Почему мы не умеем вовремя останавливаться?
Статья: https://habr.com/ru/companies/jugru/articles/764274/
Миграция базы данных
Я считаю миграцию баз данных одной из самых неприятных проблем, с которыми приходится сталкиваться в жизни инженера-программиста. Мало того, если она проходит неудачно, как это часто бывает, у людей развивается тревога, связанная с любыми изменениями схемы.
Почему же это так раздражает? На первый взгляд, все просто, но когда начинаешь задумываться об этом, все оказывается обманчиво сложным.
Мой основной фреймворк - Django, основанный на Python, в нем миграция схем существует более десяти лет, и я до сих пор считаю это одним из лучших движков миграции, которые я видел. (А я работал с множеством различных фреймворков на многих языках).
Но даже при наличии отличного фреймворка, который автоматически генерирует файлы миграции, сохраняет ссылки на миграцию в базе данных и позволяет легко выполнять откат, при миграции базы данных необходимо учитывать множество моментов.
Статья: https://vadimkravcenko.com/shorts/database-migrations/?
Я считаю миграцию баз данных одной из самых неприятных проблем, с которыми приходится сталкиваться в жизни инженера-программиста. Мало того, если она проходит неудачно, как это часто бывает, у людей развивается тревога, связанная с любыми изменениями схемы.
Почему же это так раздражает? На первый взгляд, все просто, но когда начинаешь задумываться об этом, все оказывается обманчиво сложным.
Мой основной фреймворк - Django, основанный на Python, в нем миграция схем существует более десяти лет, и я до сих пор считаю это одним из лучших движков миграции, которые я видел. (А я работал с множеством различных фреймворков на многих языках).
Но даже при наличии отличного фреймворка, который автоматически генерирует файлы миграции, сохраняет ссылки на миграцию в базе данных и позволяет легко выполнять откат, при миграции базы данных необходимо учитывать множество моментов.
Статья: https://vadimkravcenko.com/shorts/database-migrations/?
Bruno - открытая IDE для изучения и тестирования API
Bruno - это новый и инновационный API-клиент, призванный изменить статус-кво, представленный Postman и другими подобными инструментами.
Bruno хранит ваши коллекции непосредственно в папке в вашей файловой системе. Для сохранения информации об API-запросах используется язык разметки текста Bru.
Для совместной работы над коллекциями API можно использовать git или любую другую систему контроля версий по вашему выбору.
GitHub: https://github.com/usebruno/bruno
Bruno - это новый и инновационный API-клиент, призванный изменить статус-кво, представленный Postman и другими подобными инструментами.
Bruno хранит ваши коллекции непосредственно в папке в вашей файловой системе. Для сохранения информации об API-запросах используется язык разметки текста Bru.
Для совместной работы над коллекциями API можно использовать git или любую другую систему контроля версий по вашему выбору.
GitHub: https://github.com/usebruno/bruno
❤2
Руководство по прототипированию автомобильных интерфейсов
Первый проект чего бы то ни было - это дерьмо. Хороший дизайн зависит не от таланта, а от количества итераций. Большинство компаний с хорошо продуманными продуктами объединяет то, что они постоянно экспериментируют. По моему опыту, в автомобильной промышленности это происходит недостаточно часто. Поэтому в этой статье я расскажу о том, как я это делаю и какие инструменты использую.
Статья: https://www.theturnsignalblog.com/blog/guide-to-prototyping-automotive-interfaces/
Первый проект чего бы то ни было - это дерьмо. Хороший дизайн зависит не от таланта, а от количества итераций. Большинство компаний с хорошо продуманными продуктами объединяет то, что они постоянно экспериментируют. По моему опыту, в автомобильной промышленности это происходит недостаточно часто. Поэтому в этой статье я расскажу о том, как я это делаю и какие инструменты использую.
Статья: https://www.theturnsignalblog.com/blog/guide-to-prototyping-automotive-interfaces/
Абсолютный минимум, который должен знать каждый разработчик о Unicode в 2023 году (без отговорок!)
Unicode - это стандарт, цель которого - унифицировать все человеческие языки и сделать их пригодными для работы с компьютерами. На практике он представляет собой таблицу, в которой различным символам присваиваются уникальные номера, называемые кодовыми точками. В этой статье рассказывается о том, что такое Unicode и как он работает. Рассмотрены основные принципы, а также некоторые дополнительные понятия и причины возникновения некоторых "ошибок" при работе с определенными символами.
Статья: https://tonsky.me/blog/unicode/
Unicode - это стандарт, цель которого - унифицировать все человеческие языки и сделать их пригодными для работы с компьютерами. На практике он представляет собой таблицу, в которой различным символам присваиваются уникальные номера, называемые кодовыми точками. В этой статье рассказывается о том, что такое Unicode и как он работает. Рассмотрены основные принципы, а также некоторые дополнительные понятия и причины возникновения некоторых "ошибок" при работе с определенными символами.
Статья: https://tonsky.me/blog/unicode/
Взламывая iPhone 4
История джейлбрейка iPhone 4 на iOS 4.
Статья: https://axleos.com/exploiting-the-iphone-4-part-1-gaining-entry/
История джейлбрейка iPhone 4 на iOS 4.
Статья: https://axleos.com/exploiting-the-iphone-4-part-1-gaining-entry/
Как дизайн-мышление превратило Airbnb из неудачного стартапа в бизнес с миллиардным оборотом (6 минут чтения)
Сооснователь компании Airbnb Джо Геббиа рассказывает о том, как дизайн-мышление спасло компанию от краха в 2009 году. Необычный подход команды основателей заключался в том, чтобы делать вещи, которые не масштабируются, но приносят реальную пользу клиентам, полагаться на наблюдательность и терпение, позволять команде выдумывать креативные гипотезы, которые не подкрепляются, а пост-оцениваются данными, и мотивировать людей на поставки продуктов в первый же день.
Статья: https://review.firstround.com/How-design-thinking-transformed-Airbnb-from-failing-startup-to-billion-dollar-business
Сооснователь компании Airbnb Джо Геббиа рассказывает о том, как дизайн-мышление спасло компанию от краха в 2009 году. Необычный подход команды основателей заключался в том, чтобы делать вещи, которые не масштабируются, но приносят реальную пользу клиентам, полагаться на наблюдательность и терпение, позволять команде выдумывать креативные гипотезы, которые не подкрепляются, а пост-оцениваются данными, и мотивировать людей на поставки продуктов в первый же день.
Статья: https://review.firstround.com/How-design-thinking-transformed-Airbnb-from-failing-startup-to-billion-dollar-business
First Round Review
How Design Thinking Transformed Airbnb from a Failing Startup to a Billion Dollar Business
Airbnb Co-founder Joe Gebbia talks about the true meaning of being scrappy and being willing to do things that don't scale.
👍2