Pull to refresh

QuikOrdersDOM — автоматизированная биржевая торговля

Reading time 2 min
Views 4.3K
Self Promo
С ростом популярности автоматизированной биржевой торговли за последние несколько лет стали очень распространены программы, которые позволяют трейдеру быстро реагировать на изменение рыночной ситуации на сверхкоротких таймфреймах. Торговый автомат может сутками анализировать текущие потоки котировок из разных источников, выжидая благоприятный момент, а затем добавить сложную позицию из нескольких торговых инструментов в портфель меньше, чем за секунду.
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Comments 30

Расширяем hook_node_info() для настройки комментариев, отображения и прочих вещей

Reading time 2 min
Views 1.1K
Drupal *
Думаю, многие сталкиваются с подобной проблемой: создаешь с помощью hook_node_info() новый тип контента, но все равно приходится лезть в интерфейс и настраивать в ручную такие параметры, как отображение комментариев, настройки публикации, отображение даты/автора и прочие вещи, которые hook_node_info() не охватывает. А каждый раз использовать костыли типа variable_set — неудобно.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 4

Построение приложений командной строки (CLI)

Reading time 30 min
Views 78K
Ruby *Programming *
Recovery mode
Данная статья написана под влиянием книги Дэвида Коупленда «Build Awesome Command-Line Application in Ruby» (купить, скачать и изучить дополнительные материалы). Большая её часть будет посвящена проектированию дизайна CLI-приложений вне зависимости от используемого языка. По ходу будут обсуждаться и вещи специфичные для ruby, но не страшно, если вы его не знаете, кода будет не слишком много. Можно считать эту статью довольно подробным обзором вышеупомянутой книги с вкраплениями собственного опыта. Книжку рекомендую!

Для начала я задам вопрос. Если посмотреть на сообщества IT-шников, можно заметить, что несмотря на обилие программ с красивым графическим интерфейсом, приложения командной строки остаются весьма популярны. Почему?
Ответов несколько. Во-первых, это красиво удобно — если вы можете описать задачу командой в командной строке, то её гораздо проще автоматизировать, чем если вам приходится анализировать передвижения мыши и клики на разные пункты меню. Во-вторых, это даёт возможность комбинировать программы невероятным числом способов, чего сложно добиться с помощью графических интерфейсов.
В значительной степени философия Unix базируется на том принципе, что множество маленьких утилит, каждая из которых умеет делать свою конкретную задачу — это лучше, чем одна многофункциональная программа-универсал. И это одна из причин успеха Unix-систем в мире IT-шников.
Наверное, каждый понимает, что обычного пользователя вряд ли удастся сманить от GUI к CLI, давайте сосредоточимся на нас, «компьютерщиках» и конкретизируем наши пожелания к CLI-приложениям.
Читать дальше →
Total votes 78: ↑72 and ↓6 +66
Comments 31

Погружение в ASP.NET 5 Runtime

Reading time 16 min
Views 27K
Website development *.NET *ASP *C# *
Recovery mode
Translation

Вступление от переводчика


Данная статья является переводом ASP.NET 5 — A Deep Dive into the ASP.NET 5 Runtime — введения в архитектуру DNX и построенного на нем ASP.NET 5. Так как оригинальная статья была написана в марте 2015 года, во время, когда ASP.NET 5 был еще в стадии активной разработки (примерно beta 3), многое в ней устарело. Поэтому при переводе вся информация была актуализирована до текущей версии ASP.NET 5 (RC1), также были добавлены ссылки на связанные ресурсы (в основном на docs.asp.net) и исходный код на GitHub (смотрите только в случаях, если вам интересна реализация). Приятного погружения!

.NET Runtime Environment (DNX)


ASP.NET 5 базируется на гибком, кроссплатформенном runtime, который может работать с разными .NET CLR (.NET Core CLR, Mono CLR, .NET Framework CLR). Вы можете запустить ASP.NET 5 используя полный .NET Framework или можете запустить используя новый .NET Core docs, который позволяет вам просто копировать все необходимые библиотеки вместе с приложением в существующее окружение, без изменения чего-либо еще на вашей машине. Используя .NET Core вы также можете запустить ASP.NET 5 кроссплатформенно на Linux docs и Mac OS docs.

Инфраструктура позволяющая запускать и исполнять приложения ASP.NET 5 называется .NET Runtime Environment docs или кратко DNX. DNX предоставляет все что необходимо для работы .NET приложений: host process, CLR hosting логику, обнаружение управляемой Entry Point и т.д.

Логически архитектура DNX имеет пять слоев. Я опишу каждый из этих слоев вместе с их обязанностями.
Изображение взято из статьи DNX-structure wiki
Архитектура ASP.NET 5 и DNX

Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 14

Нужен ли метод OPTIONS в REST-сервисах?

Reading time 5 min
Views 45K
Website development *.NET *ASP *HTML *IT Standards *
Согласно стандарту HTTP/1.1 метод OPTIONS может быть использован клиентом для определения параметров или требований, связанных с ресурсом. Сервер также может отправлять документацию в удобочитаемом формате. Ответ на запрос OPTIONS может содержать список допустимых методов для данного ресурса в хедере Allow.

То есть этот метод мог бы стать отличным средством для документирования наших REST-сервисов с одной стороны, и быть существенным дополнением к архитектурному ограничению HATEOAS с другой.

А теперь давайте отвлечёмся от страшных слов типа “HATEOAS” и зададимся вопросом: а есть ли какая-нибудь практическая польза от использования метода OPTIONS в веб-приложениях?
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 15

Show me your settings and I will tell you who you are

Reading time 5 min
Views 1.2K
Interfaces *Usability *
Translation
Today we will discuss the silver bullet of software development: the program settings.

Everybody understands what settings are, more or less. Every computer user is going to stumble upon them, eventually. But the user does not always end up a winner in this encounter. There are 3 major problems to tackle: it's hard to find the right setting, the required setting does not exist, and it's unclear what this or that setting's responsible for.

To understand this, let's first think about the origin of settings. In theory, settings provide a way for the developer to adapt a program to a certain use case. The users are different though, one wants it his way, another demands her own, and even though the differences are miniscule, the decision is left up to the user. As a result, you must know about user tasks and their goals to create the right settings window.

That's the theory so far. What about the practice?
Continuing is optional
Total votes 5: ↑5 and ↓0 +5
Comments 0