Java: продвинутая конкурентность
Возможности конкурентной обработки появляются в программе по разным причинам: некоторые связаны с расширением возможностей платформы, другие вводятся вместе с новым API, поступающим в стандартную библиотеку, некоторые связаны со сменой парадигмы и переменами в наших представлениях. В этой статье будет рассмотрено три способа решения одной и той же задачи, но с применением отличающихся инструментов и парадигм.
Статья
Возможности конкурентной обработки появляются в программе по разным причинам: некоторые связаны с расширением возможностей платформы, другие вводятся вместе с новым API, поступающим в стандартную библиотеку, некоторые связаны со сменой парадигмы и переменами в наших представлениях. В этой статье будет рассмотрено три способа решения одной и той же задачи, но с применением отличающихся инструментов и парадигм.
Статья
Нетрадиционные подходы к использованию GraphQL
Давайте немного повеселимся и поиграем с GraphQL нетрадиционным образом. Я не призываю вас реализовывать какие-либо из идей, изложенных здесь, и им определенно не место в продакшен-коде (но, если вы совершенно уверены в том, что делаете – почему нет). В этой статье я просто продемонстрирую несколько экспериментов, которые сам проделал с GraphQL. Некоторые из них – просто классные фокусы. Другие могут вам по-настоящему пригодиться. Мне же все они кажутся потрясающими.
Статья
Давайте немного повеселимся и поиграем с GraphQL нетрадиционным образом. Я не призываю вас реализовывать какие-либо из идей, изложенных здесь, и им определенно не место в продакшен-коде (но, если вы совершенно уверены в том, что делаете – почему нет). В этой статье я просто продемонстрирую несколько экспериментов, которые сам проделал с GraphQL. Некоторые из них – просто классные фокусы. Другие могут вам по-настоящему пригодиться. Мне же все они кажутся потрясающими.
Статья
‼️Важно‼️
В связи с последними событиями, мы ищем проекты в IT отрасли для финансирования и кооперации, а так же IT специалистов в найм.
Приоритетные направления:
⁃ Медицина
⁃ AI и Big Data
⁃ Blockchain, в том числе high risk
⁃ Сельское хозяйство
⁃ WEB 3.0 / Metaverse
⁃ Платежные системы
Готовы выкупать и рассматривать для финансирования замороженные проекты, а также находящиеся в стадии разработки или уже готовые решения для помощи выхода на рынок.
Резюме и описание проектов просьба присылать на эл. почту:
leadteamhr@protonmail.com
Или Телеграм: @LEAD_TEAM_HR
В связи с последними событиями, мы ищем проекты в IT отрасли для финансирования и кооперации, а так же IT специалистов в найм.
Приоритетные направления:
⁃ Медицина
⁃ AI и Big Data
⁃ Blockchain, в том числе high risk
⁃ Сельское хозяйство
⁃ WEB 3.0 / Metaverse
⁃ Платежные системы
Готовы выкупать и рассматривать для финансирования замороженные проекты, а также находящиеся в стадии разработки или уже готовые решения для помощи выхода на рынок.
Резюме и описание проектов просьба присылать на эл. почту:
leadteamhr@protonmail.com
Или Телеграм: @LEAD_TEAM_HR
Как написать рефлексию для C++
C++ поистине противоречивый язык. Старый добрый С существует аж с 1972 года, С++ появился в 1985 и сохранил с ним обратную совместимость. За это время его не раз хоронили, сперва Java, теперь его потихоньку продолжают хоронить Go и Rust. Все его недостатки пережеваны множество раз.
Статья
C++ поистине противоречивый язык. Старый добрый С существует аж с 1972 года, С++ появился в 1985 и сохранил с ним обратную совместимость. За это время его не раз хоронили, сперва Java, теперь его потихоньку продолжают хоронить Go и Rust. Все его недостатки пережеваны множество раз.
Статья
В чём уникальность языка программирования LISP
В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?
Статья
В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?
Статья
Релиз 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-а с более широкой аудиторией. Это мнение из категории «просто подумалось на досуге», оно не является абсолютно объективной истиной, но, вероятно, может представлять некоторый интерес.
Статья
Обобщенное программирование – обзор реализаций
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net).
Статья
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net).
Статья
Как применять Branch by Abstraction в проекте на примере Android-разработки
Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request и ... 12 конфликтов.
Статья
Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request и ... 12 конфликтов.
Статья
Математические аспекты хорошего кода
Программисты постоянно стараются сделать код лучше, используя для этого различные практики. Однако само понятие хорошего кода крайне расплывчато, о чём свидетельствует одно только количество книг, посвящённых этой теме, а также их объём. Например, книга "Чистый код'' Р. Мартина содержит почти 500 страниц. Неужели нет возможности выразить хотя бы основные критерии хорошего кода короче?
Статья
Программисты постоянно стараются сделать код лучше, используя для этого различные практики. Однако само понятие хорошего кода крайне расплывчато, о чём свидетельствует одно только количество книг, посвящённых этой теме, а также их объём. Например, книга "Чистый код'' Р. Мартина содержит почти 500 страниц. Неужели нет возможности выразить хотя бы основные критерии хорошего кода короче?
Статья
Игры для MS-DOS с открытым исходным кодом
Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в этом челлендж? В статье будем компилировать двоичные файлы для DOS!
Статья
Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в этом челлендж? В статье будем компилировать двоичные файлы для DOS!
Статья