Pull to refresh

Aspect-Oriented Programming (AOP) by source-level weaving

Reading time39 min
Views1.8K
image

Aspect-oriented programming is a very appealing concept for simplifying your codebase, creating clean code, improving modularity, structure of code and minimizing copy-paste errors.

Today, in most cases, weaving aspect's advices is implemented at the bytecode level, i.e. after compilation, a certain tool «weave» an additional byte code with the support of the required logic.

Our approach (as well as the approach of some other tools) is modifying the source code to implement aspect logic. With introduction of the .NET Compiler Platform (aka Roslyn), it is quite easy to achieve this goal, and the result gives certain advantages over the modification of the byte code itself.
Read more →
Rating0
Comments0

Mein Konfig: экскурсия по dotfiles

Reading time76 min
Views14K
Приветствую! Я люблю рассматривать чужие dotfiles и рассказы об устройстве рабочего места и окружения. Во-первых, любопытно как работают другие люди. Во-вторых, нередко находишь какой-нибудь полезный трюк или идею. А повышение продуктивности разработчика ПО часто идёт за счёт, казалось бы, мелочей (много кто помнит, что Ctrl-T посылает SIGINFO сигнал, показывающий прогресс копирования cp или dd?). Вот и решил рассказать про своё рабочее окружение, в том числе dotfiles. Перечислю список секций этой статьи, чтобы было примерное представление о чём пойдёт речь: Ввод, ОС, ФС, X11, MRA и MDA, Сеть, Jail, Демоны, MTA, MUA, WWW, PGP, IRC, st, tmux, cd, git, zsh, zsh completion, zsh history, ZLE, zsh prompt, zsh misc, less, grep, .zshenv, autoenv, .zprofile, t, Музыка, mpv, Картинки, Архивы, Feeds, Hjson, *tex*, File transfer, Games, БД, ЯП, Python, Go, C, redo, TAI64, Vim, tags, .vimrc, ~/.vim/pack, ~/.vim/plugin, ~/.vim/ftplugin. Безусловно будут спорные holywar высказывания, так что везде иметь в виду и добавлять фразу «по моему личному мнению».


Читать дальше →
Total votes 17: ↑16 and ↓1+18
Comments14

Чистая Архитектура для веб-приложений

Reading time36 min
Views104K
Хочу поделиться с вами подходом который я уже много лет использую в разработке приложений, в том числе и веб-приложений. Многим разработчикам настольных, серверных и мобильных приложений этот подход хорошо знаком, т.к. является фундаментальным при построении таких приложений, однако в вебе он представлен очень скудно, хотя желающие использовать такой подход однозначно есть. Кроме того на таком подходе написан редактор VS Code.

Чистая Архитектура

В результате применения этого подхода вы отвяжетесь от конкретного фреймворка. Сможете легко переключать библиотеку представления внутри вашего приложения, например React, Preact, Vue, Mithril без переписывания бизнес логики, а в большинстве случаев даже вьюхи. Если у вас есть приложение на Angular 1, вы без проблем сможете перевести его на Angular 2+, React, Svelte, WebComponents или даже свою библиотеку представления. Если у вас есть приложение на Angular 2+, но нету специалистов для него, то вы без проблем сможете перевести приложение на более популярную библиотеку без переписывания бизнес логики. А в итоге вообще забыть про проблему миграции с фремворка на фреймворк. Что же это за магия такая?
Читать дальше →
Total votes 21: ↑17 and ↓4+16
Comments80

Манускрипт Войнича. Маньчжурский кандидат

Reading time29 min
Views84K
Манускрипт Войнича (МВ или VMS) называют чашей Грааля криптографии. За несколько сотен лет тысячи человеко-дней были потрачены и продолжают тратиться в попытках разгадать его смысл и перевод. Причем пытались люди очень разные, в том числе выдающиеся мировые криптографы. Пока что получается не очень. Две с небольшим сотни пергаментных страниц, неизвестный алфавит, неизвестный язык, каллиграфический уверенный почерк, десятки рисунков неизвестных растений и обнаженных женщин, купающихся в странных каналах, зодиакальные астрологические диаграммы — множество зацепок, но пока ничего, что позволило бы дешифровать рукопись. Для любого, кто хоть чуть-чуть попробовал поразгадывать крючки, МВ представляется идеальной головоломкой — не имеющей пока известной разгадки.

image

Страница 16v


Видел несколько месяцев назад пост на Хабре про ацтекский язык и ботаников, опознавших несколько центрально-американских растений, но всё-таки достану из черновиков свои записи. Их цель — познакомить читателей с миром разгадывателей VMS и моим не очень глубоким анализом одной из относительно недавних гипотез — о маньчжурском языке манускрипта.

Читать далее: Fachys ykal ar ytaiin
Total votes 185: ↑182 and ↓3+179
Comments45

Рейтинг постов хаба

Reading time35 min
Views55K

Привет, Хабр!

Решил посмотреть лучшие посты своего любимого хаба и с ужасом обнаружил, что такой фичи нет.

В связи с тем, что данная возможность появилась, а топик сносить в черновики не хочется — ниже рейтинг самых комментируемых и добавляемых в избранное статей самых популярных хабов. Кроме того пару слов о реализации скрипта.

Читать дальше →
Total votes 132: ↑131 and ↓1+130
Comments35

Окей, Джанго, у меня к тебе несколько вопросов

Reading time36 min
Views54K

Недавно я проходил очередное интервью, и меня спросили, пишу ли я на flask, на что я ответил, что я себя люблю, и поэтому пишу на django. Меня не взяли, потому что, кхм, у них, оказывается, много чего было на фласке, и вышло неловко. Да-да, я знаю, фласк крут, потому что он простой, всё что надо ставишь сам, а чего не надо там и так нет, но как по мне, всё равно потом получается django.

И тут, наверно, покажется, что я я свидетель Джанго, хожу по домам, стучу в двери и рассказываю, как круто на нём кодить, но вообще-то нет - Джанго тоже не без проблем... Вот об этом я и хочу поговорить.

Читать далее
Total votes 78: ↑74 and ↓4+85
Comments23

Портирование приложения Windows 8.1 на Windows Phone 8.0 с разбором проблем

Reading time12 min
Views9.6K


На примере простого Windows 8.1 приложения посмотрим насколько просто переносить приложения с WinRT (Windows 8.1) на Silverlight (WP8.0) и по ходу разберем несколько подводных камней.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments2

FOSS News №92 — дайджест материалов о свободном и открытом ПО за 4—17 октября 2021 года

Reading time29 min
Views3.3K


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Поскольку мы уходили в отпуск и прошлый выпуск был две недели назад, этот дайджест получился весьма объёмным, но он стоит того!


Главные темы нового выпуска:


  1. Google выделил миллион долларов на работу по повышению безопасности открытого ПО.
  2. В России планируют создать свой Фонд открытого ПО.
  3. Выпуск мобильной платформы Android 12.
  4. Фонд повышения безопасности открытого ПО получил финансирование, размером 10 млн долларов.
  5. Линус Торвальдс о 30 годах Linux, Rust и Open Source сообществе.
  6. Python вышел на первое место рейтинга TIOBE, и Гвидо высказался на эту тему.
  7. Вышел язык программирования Python 3.10.0.
  8. Microsoft обеспечил поддержку открытого формата ODF 1.3 в MS Office 2021.
  9. Canonical представила оболочку Ubuntu Frame для встроенных дисплеев.
  10. GitLab подняла оценку для IPO до $ 10 млрд.
  11. Исследование показало, что смартфоны на Android постоянно следят за своими владельцами, Google отрицает.
  12. Релиз Plasma 5.23, приуроченный к 25-летию KDE.
  13. Выпуск дистрибутива Ubuntu 21.10.
  14. Компания Apple вошла в число ключевых спонсоров проекта Blender.
  15. Опубликовано исследование о влиянии СПО на технологическую независимость, конкурентоспособность и инновации в экономике ЕС.
  16. Linux на Apple M1 наконец-то готов к использованию.
  17. От разработки СПО до обучения: опыт «Базальт СПО» высоко оценили участники Russia Open Source Summit 2021.
  18. Минцифры РФ разработало открытую лицензию.
  19. Школа Open Source-разработчика COMMoN от Samsung: видео, итоги.

И многое другое…


В составлении дайджеста мне помогали qark, invasy и 4 пользователя нашего бота [→]


Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments0

Облака сгущаются: чем cloud-сервисы опасны для игровой индустрии?

Reading time17 min
Views17K

Cloud-сервисы стали неотъемлемой частью жизни современного человека. Но понятие «облака» отнюдь не ограничивается возможностью по мановению ока создавать резервные копии фотографий, сделанных в отпуске, или координировать действия с коллегами с помощью интеллектуальной CRM. Сейчас облачные технологии стали проникать в самые неожиданные отрасли — например, в такую сферу, как видеоигры. Если раньше каждый, кто хотел приобщиться к удивительному миру виртуальных развлечений, должен был обзавестись производительным ПК или игровой консолью, то сегодня при наличии стабильного интернет-соединения любой желающий может поиграть в свежий AAA-релиз чуть ли не на «калькуляторе».

Впрочем, если копнуть глубже, то окажется, что cloud-гейминг является вовсе не такой уж и выгодной штукой, как рассказывают ангажированные «эксперты» и блогеры всех мастей. Более того, в отдаленной перспективе именно cloud-гейминг способен привести к окончательной смерти игровой индустрии в том виде, в котором мы с вами ее некогда полюбили. Давайте разбираться.
Читать дальше →
Total votes 21: ↑20 and ↓1+24
Comments122

Недельный геймдев: #136 — 27 августа, 2023

Level of difficultyEasy
Reading time5 min
Views3.1K

Из новостей: BioWare объявила о сокращениях в студии, новая программа от Epic Games для разработчиков, DLSS 3.5 и FSR 3, Game Insight решила погасить хотя бы часть должков в РФ.

Из интересностей: архитектура и программирование Sony Playstation 1, Factorio на движке Unreal Engine 5, когда баг становится фичей, как создавалась Bioshock.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments3