This media is not supported in your browser
VIEW IN TELEGRAM
Windows API Function Cheatsheets
Справочник вызовов функций Windows API, включая функции для работы с файлами, управления процессами, памятью, потоками, динамическими библиотеками (DLL), синхронизации, межпроцессного взаимодействия, работы со строками Unicode, обработки ошибок, сетевых операций Winsock и операций с реестром.
https://github.com/snowcra5h/windows-api-function-cheatsheets
👉 @bookflow
Справочник вызовов функций Windows API, включая функции для работы с файлами, управления процессами, памятью, потоками, динамическими библиотеками (DLL), синхронизации, межпроцессного взаимодействия, работы со строками Unicode, обработки ошибок, сетевых операций Winsock и операций с реестром.
https://github.com/snowcra5h/windows-api-function-cheatsheets
👉 @bookflow
👍3
Media is too big
VIEW IN TELEGRAM
Алгоритмы и структуры данных
#2 | Стек и очередь (stack/queue) - пример реализации и использования
В этом уроке мы начнём говорить об абстрактных структурах данных в разработке. Сегодня речь пойдёт об очень популярных структурах - это стек (stack) и очередь (queue). Мы посмотрим, как они организованы, как их создать, а также рассмотрим примеры использования на практике. Также обсудим принципы LIFO и FIFO.
Таймкоды:
00:00 Введение
00:45 Абстрактные структуры данных
02:15 FIFO и LIFO
03:00 Принцип работы стека
05:00 Принцип работы очереди
06:40 Пишем свой стек
08:20 Стек на практике - проверка скобок
20:10 Пишем свою очередь
21:20 Очередь на практике - очередь задач
23:30 Заключение
источник
👉 @bookflow
#2 | Стек и очередь (stack/queue) - пример реализации и использования
В этом уроке мы начнём говорить об абстрактных структурах данных в разработке. Сегодня речь пойдёт об очень популярных структурах - это стек (stack) и очередь (queue). Мы посмотрим, как они организованы, как их создать, а также рассмотрим примеры использования на практике. Также обсудим принципы LIFO и FIFO.
Таймкоды:
00:00 Введение
00:45 Абстрактные структуры данных
02:15 FIFO и LIFO
03:00 Принцип работы стека
05:00 Принцип работы очереди
06:40 Пишем свой стек
08:20 Стек на практике - проверка скобок
20:10 Пишем свою очередь
21:20 Очередь на практике - очередь задач
23:30 Заключение
источник
👉 @bookflow
👍2
Поднимаем собственный узел в анонимной сети Hidden Lake
Хоть анонимные сети и являются определённого рода остатком, придатком куда большего множества всеразличных коммуникаций, тем не менее их можно рассматривать как некого рода островки приватности, абстрагированные от всего остального мира и завораживающие своей технической ухищрённостью и извращённостью. Таких островков безусловно существует множество и каждый уникален по своему. Одни анонимные сети пытаются брать количеством и расширяться на множество стран и государств, порождая тем самым множество связей между узлами. Другие анонимные сети напротив берут своим качеством, и благодаря этому им становится безразличен уровень централизации и замкнутость пространства в котором они существуют.
Анонимная сеть Hidden Lake является как раз примером последних. На её составляющих мы попробуем разобрать как можно поднимать собственные узлы. В результате, мы запустим сервис, который будет работать в сети Hidden Lake.
https://habr.com/ru/articles/765464/
👉 @bookflow
Хоть анонимные сети и являются определённого рода остатком, придатком куда большего множества всеразличных коммуникаций, тем не менее их можно рассматривать как некого рода островки приватности, абстрагированные от всего остального мира и завораживающие своей технической ухищрённостью и извращённостью. Таких островков безусловно существует множество и каждый уникален по своему. Одни анонимные сети пытаются брать количеством и расширяться на множество стран и государств, порождая тем самым множество связей между узлами. Другие анонимные сети напротив берут своим качеством, и благодаря этому им становится безразличен уровень централизации и замкнутость пространства в котором они существуют.
Анонимная сеть Hidden Lake является как раз примером последних. На её составляющих мы попробуем разобрать как можно поднимать собственные узлы. В результате, мы запустим сервис, который будет работать в сети Hidden Lake.
https://habr.com/ru/articles/765464/
👉 @bookflow
👍2
Тестовые серверы Telegram: инструкция по эксплуатации
Эта статья — сборник разбросанной документации и результатов экспериментов. Под катом расскажу о технических особенностях тестового окружения для разработки, покажу примеры ботов и юзерботов. В качестве бонуса — история «о жизни в тестовом контуре».
https://habr.com/ru/companies/selectel/articles/763286/
👉 @bookflow
Эта статья — сборник разбросанной документации и результатов экспериментов. Под катом расскажу о технических особенностях тестового окружения для разработки, покажу примеры ботов и юзерботов. В качестве бонуса — история «о жизни в тестовом контуре».
https://habr.com/ru/companies/selectel/articles/763286/
👉 @bookflow
👍1
Подводные камни парного программирования
Парное программирование, конечно, имеет много положительных сторон, но также оно требует практики и не всегда поначалу проходит гладко. Перечислим некоторые традиционные подводные камни и дадим несколько советов, как с ними справиться. Когда сталкиваетесь с такими проблемами, держите в голове свою цель. Важно помнить, чего вы хотите добиться, чтобы держать всё под контролем.
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