Подводные камни парного программирования
Парное программирование, конечно, имеет много положительных сторон, но также оно требует практики и не всегда поначалу проходит гладко. Перечислим некоторые традиционные подводные камни и дадим несколько советов, как с ними справиться. Когда сталкиваетесь с такими проблемами, держите в голове свою цель. Важно помнить, чего вы хотите добиться, чтобы держать всё под контролем.
https://martinfowler.com/articles/on-pair-programming.html
👉 @bookflow
Парное программирование, конечно, имеет много положительных сторон, но также оно требует практики и не всегда поначалу проходит гладко. Перечислим некоторые традиционные подводные камни и дадим несколько советов, как с ними справиться. Когда сталкиваетесь с такими проблемами, держите в голове свою цель. Важно помнить, чего вы хотите добиться, чтобы держать всё под контролем.
https://martinfowler.com/articles/on-pair-programming.html
👉 @bookflow
👍1
Распространённые паттерны опечаток при программировании
Есть бесконечное количество способов ошибиться при написании кода. Однако иногда можно заметить явные интересные закономерности, как и где ошибаются программисты. Поговорим о коде, который "притягивает" опечатки.
https://habr.com/ru/companies/pvs-studio/articles/756872/
👉 @bookflow
Есть бесконечное количество способов ошибиться при написании кода. Однако иногда можно заметить явные интересные закономерности, как и где ошибаются программисты. Поговорим о коде, который "притягивает" опечатки.
https://habr.com/ru/companies/pvs-studio/articles/756872/
👉 @bookflow
👍2
Forwarded from Excel Lifehack (эксель лайфхак)
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите быстро рассчитать суммарные итоги по столбцам и строкам? Просто выделите ячейки самой таблицы и те ячейки, где должен разместиться результат, и нажмите {Alt} + {=}.
👉 @Excel_lifehack
👉 @Excel_lifehack
👍3🔥1
Архитектура и реактивное программирование
Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.
Так уж вышло, что я побывал в большом количестве огромных кодовых баз, где сталкивался с одними и теми же проблемами организации кода. Информация ниже — это результат исследований программирования в общем и реактивного программирования в частности за последние пять лет. Я уже несколько лет пишу свой менеджер состояния Reatom, и это не просто пет-проект, а серьёзный продукт. Я старался сделать его проще для входа и использования, но оставил возможность расти до энтерпрайза и решать соответствующие проблемы. В статье будет не теория из пустых рассуждений, а опыт решения реальных задач.
https://habr.com/ru/companies/ruvds/articles/737114/
👉 @bookflow
Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.
Так уж вышло, что я побывал в большом количестве огромных кодовых баз, где сталкивался с одними и теми же проблемами организации кода. Информация ниже — это результат исследований программирования в общем и реактивного программирования в частности за последние пять лет. Я уже несколько лет пишу свой менеджер состояния Reatom, и это не просто пет-проект, а серьёзный продукт. Я старался сделать его проще для входа и использования, но оставил возможность расти до энтерпрайза и решать соответствующие проблемы. В статье будет не теория из пустых рассуждений, а опыт решения реальных задач.
https://habr.com/ru/companies/ruvds/articles/737114/
👉 @bookflow
👍6
Оскар Толедо: потомственный волшебник
Оскар Толедо — пятикратный победитель программистского конкурса IOCCC, (Международный конкурс обфусцированного кода на С). Он интересен не только сам по себе, но ещё в контексте своей семьи. Это уникальные люди, которые скромно живут в пригороде Мехико и вообще не стремятся к известности. 25 лет назад они написали свою ОС, браузер и кучу софта для него.
Оскар Толедо — просто продолжатель семейного дела, которое началось примерно в 70-е годы прошлого века.
Оскар родился в 1978 году, программирует с пяти лет, а ассемблер выучил в девять. Потом освоил Pascal, C, C++, Java, Javascript, HTML, CSS и PHP, но ассемблер остаётся его основным языком. Пишет лаконичные и концептуальные программы, в этой лаконичности он чем-то напоминает Фабриса Беллара, хотя с этим титаном программирования мало кто может сравниться.
Живёт с семьёй в Мексике, пишет софт и книги о нём, продаёт ретротехнику и картриджи. Ну и участвует в бизнесе семьи, наверное (о нём ниже).
Пожалуй, самая интересная его разработка — операционная система BootOS, опубликованная на Github в 2019 году.
https://habr.com/ru/companies/ruvds/articles/765074/
👉 @bookflow
Оскар Толедо — пятикратный победитель программистского конкурса IOCCC, (Международный конкурс обфусцированного кода на С). Он интересен не только сам по себе, но ещё в контексте своей семьи. Это уникальные люди, которые скромно живут в пригороде Мехико и вообще не стремятся к известности. 25 лет назад они написали свою ОС, браузер и кучу софта для него.
Оскар Толедо — просто продолжатель семейного дела, которое началось примерно в 70-е годы прошлого века.
Оскар родился в 1978 году, программирует с пяти лет, а ассемблер выучил в девять. Потом освоил Pascal, C, C++, Java, Javascript, HTML, CSS и PHP, но ассемблер остаётся его основным языком. Пишет лаконичные и концептуальные программы, в этой лаконичности он чем-то напоминает Фабриса Беллара, хотя с этим титаном программирования мало кто может сравниться.
Живёт с семьёй в Мексике, пишет софт и книги о нём, продаёт ретротехнику и картриджи. Ну и участвует в бизнесе семьи, наверное (о нём ниже).
Пожалуй, самая интересная его разработка — операционная система BootOS, опубликованная на Github в 2019 году.
https://habr.com/ru/companies/ruvds/articles/765074/
👉 @bookflow
👍9
Forwarded from Системный Администратор (Сисадмин)
Media is too big
VIEW IN TELEGRAM
Настраиваем аутентификацию SSH по ключу в Linux / Unix
Заходить (авторизоваться) на сервер по SSH можно, используя пару логин-пароль, а можно, используя пару публичного и приватного ключа, причём именно использование ключей является способом предпочтительным. Почему? Во-первых, вход по SSH ключам безопаснее, во-вторых, удобнее. Как это настроить и использовать — об этом пойдёт речь в очередном видео, а заодно обсудим настройку серверного SSH, запрет входа root пользователем, запрет входа по паролю и другие важные фичи. Поехали!
источник
👉 @sysadminof
Заходить (авторизоваться) на сервер по SSH можно, используя пару логин-пароль, а можно, используя пару публичного и приватного ключа, причём именно использование ключей является способом предпочтительным. Почему? Во-первых, вход по SSH ключам безопаснее, во-вторых, удобнее. Как это настроить и использовать — об этом пойдёт речь в очередном видео, а заодно обсудим настройку серверного SSH, запрет входа root пользователем, запрет входа по паролю и другие важные фичи. Поехали!
источник
👉 @sysadminof
👍3
О точности вычислений: как не потерять данные в цифровом шуме
«По мере того, как сложность возрастает,
точные утверждения теряют значимость,
а значимые утверждения теряют точность»,
—
математик Лотфи Заде
https://habr.com/ru/companies/kryptonite/articles/766294/
👉 @bookflow
«По мере того, как сложность возрастает,
точные утверждения теряют значимость,
а значимые утверждения теряют точность»,
—
математик Лотфи Заде
https://habr.com/ru/companies/kryptonite/articles/766294/
👉 @bookflow
👍4
Forwarded from GameDev: разработка игр
Сайт со скриншотами из игр
https://level-design.org/referencedb/index.php?/category/64
#gamedev
👉 @game_devv
https://level-design.org/referencedb/index.php?/category/64
#gamedev
👉 @game_devv
👍1
Первый проект длиною в полтора года…
На дворе 2021 год, я занимаюсь ремонтом электроники уже на протяжении десяти лет. Свободное от работы время я посвящаю изучению 3D-моделирования и печати. Для этих целей в 2018 году были куплены два самодельных FDM-принтера.
В один из дней приходит знакомый, держа в руках плату с большим количеством радиаторов. Предлагает посмотреть краем глаза, почему она не работает.
Я, конечно же, был не очень рад его предложению, так как занимаюсь больше ремонтом мобильных телефонов и планшетов. В процессе небольшой дискуссии соглашаюсь с одной оговоркой, что если за два выходных дня у меня получится погрузиться в проблему и изучить сам вопрос и понять, что это за плата, то я берусь.
Уже вечером этого дня я изучаю дома плату и первый раз узнаю такие слова, как "Asic", майнер, майнинг. Изучив немного вопрос, понимаю, что имею на руках плату одного такого устройства, а в данном случае именно AntMiner S9.
https://habr.com/ru/articles/746118/
👉 @bookflow
На дворе 2021 год, я занимаюсь ремонтом электроники уже на протяжении десяти лет. Свободное от работы время я посвящаю изучению 3D-моделирования и печати. Для этих целей в 2018 году были куплены два самодельных FDM-принтера.
В один из дней приходит знакомый, держа в руках плату с большим количеством радиаторов. Предлагает посмотреть краем глаза, почему она не работает.
Я, конечно же, был не очень рад его предложению, так как занимаюсь больше ремонтом мобильных телефонов и планшетов. В процессе небольшой дискуссии соглашаюсь с одной оговоркой, что если за два выходных дня у меня получится погрузиться в проблему и изучить сам вопрос и понять, что это за плата, то я берусь.
Уже вечером этого дня я изучаю дома плату и первый раз узнаю такие слова, как "Asic", майнер, майнинг. Изучив немного вопрос, понимаю, что имею на руках плату одного такого устройства, а в данном случае именно AntMiner S9.
https://habr.com/ru/articles/746118/
👉 @bookflow
👍6
Советы и рекомендации по управлению памятью
В течение прошлого года я усовершенствовал мой подход к управлению памятью. С практикой он стал эффективным, простым и быстрым; обычно так же прост в использовании, как и сбор мусора, но без дополнительных затрат.
https://nullprogram.com/blog/2023/09/27/
👉 @bookflow
В течение прошлого года я усовершенствовал мой подход к управлению памятью. С практикой он стал эффективным, простым и быстрым; обычно так же прост в использовании, как и сбор мусора, но без дополнительных затрат.
https://nullprogram.com/blog/2023/09/27/
👉 @bookflow
👍1
Личный сайт — на каждом телефоне
На Хабре нередко встречаются статьи о том, как запустить веб-сервер на старом смартфоне. В принципе, здесь ничего сложного, тем более что современные телефоны — это мощнейшие компьютеры с многоядерными CPU и гигабайтами оперативной памяти. Даже на самом стареньком смартфоне больше памяти (встроенная флэш-память), чем на промышленном сервере 20-летней давности, который ставили на профессиональный хостинг.
На любой современный (даже старенький) смартфон можно поставить веб-сервер, если проделать некоторые манипуляции, то есть рутануть телефон или установить Termux.
Можно пойти дальше и использовать сайт как универсальную мобильную платформу для пиринговых приложений, в том числе мессенджера и файлохранилища. Сайт как визитка просто идентифиц
https://habr.com/ru/companies/ruvds/articles/766518/
👉 @bookflow
На Хабре нередко встречаются статьи о том, как запустить веб-сервер на старом смартфоне. В принципе, здесь ничего сложного, тем более что современные телефоны — это мощнейшие компьютеры с многоядерными CPU и гигабайтами оперативной памяти. Даже на самом стареньком смартфоне больше памяти (встроенная флэш-память), чем на промышленном сервере 20-летней давности, который ставили на профессиональный хостинг.
На любой современный (даже старенький) смартфон можно поставить веб-сервер, если проделать некоторые манипуляции, то есть рутануть телефон или установить Termux.
Можно пойти дальше и использовать сайт как универсальную мобильную платформу для пиринговых приложений, в том числе мессенджера и файлохранилища. Сайт как визитка просто идентифиц
https://habr.com/ru/companies/ruvds/articles/766518/
👉 @bookflow
👍5🤡1
Media is too big
VIEW IN TELEGRAM
Алгоритмы (продвинутый поток)
1. Дерево Фенвика
3. Динамическое программирование
4. НВП и ДП на подотрезках
5. Динамика на подмножествах
6. Динамика по профилю
Все видео доступны на youtube
👉 @bookflow
1. Дерево Фенвика
3. Динамическое программирование
4. НВП и ДП на подотрезках
5. Динамика на подмножествах
6. Динамика по профилю
Все видео доступны на youtube
👉 @bookflow
👍3
Forwarded from Книги по Java | Books Java 📚
Designing Applications for Google Cloud Platform: Create and Deploy Applications Using Java
Автор: Ashutosh Shashi (2023)
Вы начнете с введения в службы GCP и обзора того, что предлагает Java при разработке приложений для GCP. Далее вам расскажут о том, как настроить Google App Engine, Google Storage Cloud и Google Cloud SQL с примерами использования, а также о разработке и развертывании приложений. По ходу книги вы познакомитесь с расширенными службами GCP, развертыванием и масштабированием приложений на службах GCP, а также с устранением неполадок и оптимизацией Java-приложений на GCP. В книге используются реальные примеры, чтобы помочь вам понять, как службы GCP могут решать повседневные проблемы.
Скачать
👉 @java_360
Автор: Ashutosh Shashi (2023)
Вы начнете с введения в службы GCP и обзора того, что предлагает Java при разработке приложений для GCP. Далее вам расскажут о том, как настроить Google App Engine, Google Storage Cloud и Google Cloud SQL с примерами использования, а также о разработке и развертывании приложений. По ходу книги вы познакомитесь с расширенными службами GCP, развертыванием и масштабированием приложений на службах GCP, а также с устранением неполадок и оптимизацией Java-приложений на GCP. В книге используются реальные примеры, чтобы помочь вам понять, как службы GCP могут решать повседневные проблемы.
Скачать
👉 @java_360
👍1
Поговорим об оптимизирующих компиляторах. Сказ первый: SSA-форма
Всем привет. Сегодня я хотел бы поговорить об устройстве современных оптимизирующих компиляторов. Я никогда не публиковался на Хабре ранее, но надеюсь, что мне удастся написать серию статей, которая просуммирует мой опыт в этой области.
Коротко обо мне. Меня зовут Макс, и так получилось, что я вот уже 10 лет, почти с самого начала своей карьеры, занимаюсь оптимизирующими компиляторами. Я начинал в Intel, потом перешёл в Azul Systems, год провёл в Cadence и вернулся обратно, всё это время занимаясь компиляторными оптимизациями для Java, C++ и нейросетевых моделей. На момент написания статьи у меня чуть за 900 патчей в LLVM, большинство из них посвящено цикловым оптимизациям.
За это время я провёл десятки собеседований на позиции как интернов, так и инженеров сеньорного уровня, и довольно часто люди, приходя на эти собеседования, многих вещей не знают или знают поверхностно. И я подумал: а мог бы я написать такой цикл статей, чтобы человек, прочитав их, узнал бы всю ту базу, которая, на мой собственный взгляд, необходима начинающему компиляторному инженеру? Очень бы хотелось, чтобы новичку в этой области можно бы было дать один (относительно небольшой по объёму) набор текстов, чтобы он получил оттуда всё необходимое для старта. Это не перевод, текст оригинальный, поэтому в нём могут быть ошибки и неточности, которые я буду рад исправить, если вы мне их укажете.
https://habr.com/ru/articles/735152/
👉 @bookflow
Всем привет. Сегодня я хотел бы поговорить об устройстве современных оптимизирующих компиляторов. Я никогда не публиковался на Хабре ранее, но надеюсь, что мне удастся написать серию статей, которая просуммирует мой опыт в этой области.
Коротко обо мне. Меня зовут Макс, и так получилось, что я вот уже 10 лет, почти с самого начала своей карьеры, занимаюсь оптимизирующими компиляторами. Я начинал в Intel, потом перешёл в Azul Systems, год провёл в Cadence и вернулся обратно, всё это время занимаясь компиляторными оптимизациями для Java, C++ и нейросетевых моделей. На момент написания статьи у меня чуть за 900 патчей в LLVM, большинство из них посвящено цикловым оптимизациям.
За это время я провёл десятки собеседований на позиции как интернов, так и инженеров сеньорного уровня, и довольно часто люди, приходя на эти собеседования, многих вещей не знают или знают поверхностно. И я подумал: а мог бы я написать такой цикл статей, чтобы человек, прочитав их, узнал бы всю ту базу, которая, на мой собственный взгляд, необходима начинающему компиляторному инженеру? Очень бы хотелось, чтобы новичку в этой области можно бы было дать один (относительно небольшой по объёму) набор текстов, чтобы он получил оттуда всё необходимое для старта. Это не перевод, текст оригинальный, поэтому в нём могут быть ошибки и неточности, которые я буду рад исправить, если вы мне их укажете.
https://habr.com/ru/articles/735152/
👉 @bookflow
👍2
Поговорим об оптимизирующих компиляторах. Сказ второй: Доминирование
Сегодня мы поговорим о доминировании. Это одна из фундаментальных вещей, на которых стоит как теория компиляторов вообще, так и многие компиляторные оптимизации в частности. Пристегните ремни и запишите стоп-слово на бумажке, чтобы не забыть.
https://habr.com/ru/articles/737646/
👉 @bookflow
Сегодня мы поговорим о доминировании. Это одна из фундаментальных вещей, на которых стоит как теория компиляторов вообще, так и многие компиляторные оптимизации в частности. Пристегните ремни и запишите стоп-слово на бумажке, чтобы не забыть.
https://habr.com/ru/articles/737646/
👉 @bookflow
🔥2👍1
Forwarded from ITumor | программисты шутят
Растение молочай черный дрозд выглядит точно так же, как бинарное дерево :)
Подписывайтесь на канал 👉@itumor
Подписывайтесь на канал 👉@itumor
👍7💯2
👍5❤1👎1🔥1