Как написать рефлексию для C++
C++ поистине противоречивый язык. Старый добрый С существует аж с 1972 года, С++ появился в 1985 и сохранил с ним обратную совместимость. За это время его не раз хоронили, сперва Java, теперь его потихоньку продолжают хоронить Go и Rust. Все его недостатки пережеваны множество раз.
#ссылка
C++ поистине противоречивый язык. Старый добрый С существует аж с 1972 года, С++ появился в 1985 и сохранил с ним обратную совместимость. За это время его не раз хоронили, сперва Java, теперь его потихоньку продолжают хоронить Go и Rust. Все его недостатки пережеваны множество раз.
#ссылка
Релиз Go 1.18
Одним из основных новшеств является добавление поддержки дженериков. Кроме того, релиз включает в себя полную интеграцию стандартного набора инструментов фаззинга. Команда опубликовала официальное руководство.
Также в новой версии появилась поддержка рабочих пространств, которая поможет упростить работу с несколькими подключаемыми модулями. Теперь в файле go.work можно указывать саму рабочую область и отдельные модули, синтаксис схож с файлами go.mod.
Стоит отметить и увеличение производительности на архитектурах Apple M1, ARM64 и PowerPC64. Теперь Go работает на 20% быстрее.
Одним из основных новшеств является добавление поддержки дженериков. Кроме того, релиз включает в себя полную интеграцию стандартного набора инструментов фаззинга. Команда опубликовала официальное руководство.
Также в новой версии появилась поддержка рабочих пространств, которая поможет упростить работу с несколькими подключаемыми модулями. Теперь в файле go.work можно указывать саму рабочую область и отдельные модули, синтаксис схож с файлами go.mod.
Стоит отметить и увеличение производительности на архитектурах Apple M1, ARM64 и PowerPC64. Теперь Go работает на 20% быстрее.
Delinking и Lisp
Экономический термин delinking впервые (насколько я смог отследить) использовал Самир Амин в работе 1984-го года Delinking: Towards a Polycentric World для обозначения процесса выхода из системы глобального разделения труда. По многочисленными (для нашего немногочисленного Lisp сообщества) просьбам сообщников делюсь своим частным рассуждением о потенциале Lisp-систем в условиях delinking-а с более широкой аудиторией. Это мнение из категории «просто подумалось на досуге», оно не является абсолютно объективной истиной, но, вероятно, может представлять некоторый интерес.
#ссылка
Экономический термин delinking впервые (насколько я смог отследить) использовал Самир Амин в работе 1984-го года Delinking: Towards a Polycentric World для обозначения процесса выхода из системы глобального разделения труда. По многочисленными (для нашего немногочисленного Lisp сообщества) просьбам сообщников делюсь своим частным рассуждением о потенциале Lisp-систем в условиях delinking-а с более широкой аудиторией. Это мнение из категории «просто подумалось на досуге», оно не является абсолютно объективной истиной, но, вероятно, может представлять некоторый интерес.
#ссылка
DevOps для firmware
В этом тексте я намерен пофантазировать каким мог бы быть абстрактный процесс разработки firmware с точки зрения DevOps. И перечислить атрибуты такого процесса.
#ссылка
В этом тексте я намерен пофантазировать каким мог бы быть абстрактный процесс разработки firmware с точки зрения DevOps. И перечислить атрибуты такого процесса.
#ссылка
Обобщенное программирование – обзор реализаций
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net).
#ссылка
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net).
#ссылка
Как микро-фронтенд меняет будущее Angular?
Выясняем почему Angular — лучшая платформа для микро-фронтенда.
#ссылка
Выясняем почему Angular — лучшая платформа для микро-фронтенда.
#ссылка
Математические аспекты хорошего кода
Программисты постоянно стараются сделать код лучше, используя для этого различные практики. Однако само понятие хорошего кода крайне расплывчато, о чём свидетельствует одно только количество книг, посвящённых этой теме, а также их объём. Например, книга "Чистый код'' Р. Мартина содержит почти 500 страниц. Неужели нет возможности выразить хотя бы основные критерии хорошего кода короче?
#ссылка
Программисты постоянно стараются сделать код лучше, используя для этого различные практики. Однако само понятие хорошего кода крайне расплывчато, о чём свидетельствует одно только количество книг, посвящённых этой теме, а также их объём. Например, книга "Чистый код'' Р. Мартина содержит почти 500 страниц. Неужели нет возможности выразить хотя бы основные критерии хорошего кода короче?
#ссылка
💡 Что такое Pods, Nodes, Containers, Clusters?
Kubernetes (k8s) очень стремительно становится новым стандартом для деплоймента и менеджмента вашего кода в клауде. Вместе с тем, сколько фич предоставляет k8s, для новичка наступает высокий порог входа в новую технологии.
Документация по k8s достаточно обширна и довольно сложно пройти ее всю. Именно поэтому статья ниже служит неким обобщением для того, чтобы разобрать основные модули kubernetes.
#ссылка
Kubernetes (k8s) очень стремительно становится новым стандартом для деплоймента и менеджмента вашего кода в клауде. Вместе с тем, сколько фич предоставляет k8s, для новичка наступает высокий порог входа в новую технологии.
Документация по k8s достаточно обширна и довольно сложно пройти ее всю. Именно поэтому статья ниже служит неким обобщением для того, чтобы разобрать основные модули kubernetes.
#ссылка
Игры для MS-DOS с открытым исходным кодом
Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в этом челлендж? В статье будем компилировать двоичные файлы для DOS!
#ссылка
Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в этом челлендж? В статье будем компилировать двоичные файлы для DOS!
#ссылка
Sliver во Flutter, или как работает скролл
Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны.
Чтобы просто начать их использовать, как чаще всего бывает во Flutter, разбираться особо не нужно. А вот чтобы полноценно использовать их и при этом не страдать, придётся понять, как они работают. Именно этим мы и займемся.
#ссылка
Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны.
Чтобы просто начать их использовать, как чаще всего бывает во Flutter, разбираться особо не нужно. А вот чтобы полноценно использовать их и при этом не страдать, придётся понять, как они работают. Именно этим мы и займемся.
#ссылка
💡 8 основных языков для бэкенда
Бэкенд — это прослойка, которая соединяет интерфейс с базой данных, позволяет получать ответы от сервера и обеспечивает работу сайта.
В статье ниже вы узнаете о языках для бэкенда: что на них можно делать и какие крупные компании их используют.
#ссылка
Бэкенд — это прослойка, которая соединяет интерфейс с базой данных, позволяет получать ответы от сервера и обеспечивает работу сайта.
В статье ниже вы узнаете о языках для бэкенда: что на них можно делать и какие крупные компании их используют.
#ссылка
Чем хороший программист отличается от плохого, или почему нужно выходить за рамки
Как отличается алгоритм исправления ошибок хорошего от плохого программиста.
#ссылка
Как отличается алгоритм исправления ошибок хорошего от плохого программиста.
#ссылка
Пишем чистый код при помощи деструктуризации объектов в JavaScript
В этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6.
#ссылка
В этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6.
#ссылка
Java: интерфейс и реализации
Map - это интерфейс, а HashMap - одна из его реализаций. Тем не менее, в этой статье мы постараемся разобраться, чем полезны интерфейсы, узнаем как сделать код гибче с помощью интерфейсов и почему существуют разные реализации одного и того же интерфейса.
#ссылка
Map - это интерфейс, а HashMap - одна из его реализаций. Тем не менее, в этой статье мы постараемся разобраться, чем полезны интерфейсы, узнаем как сделать код гибче с помощью интерфейсов и почему существуют разные реализации одного и того же интерфейса.
#ссылка
💡 Surge
Простая веб-публикация с одной командой. Публикуйте HTML, CSS и JS, не выходя из командной строки. Удобная тула для фронтендеров
#ссылка
Простая веб-публикация с одной командой. Публикуйте HTML, CSS и JS, не выходя из командной строки. Удобная тула для фронтендеров
#ссылка
Учимся правильно писать CSS классы в JSX
Казалось бы такая простая тема как написание css-классов не должна быть проблемой, однако я встречал довольно много проектов, где допускаются ошибки, пишутся непроизводительные велосипеде, что приводит к ошибкам на продакшене и плохо читаемому коду.
#ссылка
Казалось бы такая простая тема как написание css-классов не должна быть проблемой, однако я встречал довольно много проектов, где допускаются ошибки, пишутся непроизводительные велосипеде, что приводит к ошибкам на продакшене и плохо читаемому коду.
#ссылка