Pull to refresh
24
0
Send message

How-to: Торговля фьючерсами на фондовом рынке

Reading time7 min
Views55K
image

Не так давно в нашем блоге был опубликован топик, посвященный фьючерсным контрактам на фондовом рынке. Он вызвал определенный интерес публики, однако многие хабрапользователи не удовлетворились упрощенной теорией и стали задавать более глубокие практические вопросы. Мы не можем оставить их без ответа, поэтому сегодня публикуем материал, с углубленным описанием торговли фьючерсами.
Читать дальше →
Total votes 32: ↑21 and ↓11+10
Comments5

Видеозаписи докладов конференции AI&BigData Lab

Reading time2 min
Views10K


Команда проекта GeeksLab 12 апреля 2014 года в Одессе провела конференцию «Al&BigData Lab», которая была посвящена большим данным и искусственному интеллекту.

Презентации и видеозаписи докладов под катом.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments2

Обращение не ASCII-строки

Reading time3 min
Views18K
Если вы знаете, что такое ICU, то, вероятно, вы не узнаете из этого поста ничего нового.

    Порой приходится слышать от товарищей, что на собеседовании их просили написать код, который бы обращал строку. И даже в Cracking the Coding Interview это второй вопрос в тестах. Однако, правильное, с моей точки зрения, решение выходит далеко за рамки библиотечного вызова или одного цикла while.
Читать дальше →
Total votes 42: ↑35 and ↓7+28
Comments28

Организация многозадачности в ядре ОС

Reading time22 min
Views77K
Волею судеб мне довелось разбираться с организацией многозадачности, точнее псевдо-многозадачности, поскольку задачи делят время на одном ядре процессора. Я уже несколько раз встречала на хабре статьи по данной теме, и мне показалось, что данная тема сообществу интересна, поэтому я позволю себе внести свою скромную лепту в освещение данного вопроса.
Сначала я попытаюсь рассказать о типах многозадачности (кооперативной и вытесняющей). Затем перейду к принципам планирования для вытесняющей многозадачности. Рассказ рассчитан скорее на начинающего читателя, который хочет разобраться, как работает многозадачность на уровне ядра ОС. Но поскольку все будет сопровождаться примерами, которые можно скомпилировать, запустить, и с которыми при желании можно поиграться, то, возможно, статья заинтересует и тех, кто уже знаком с теорией, но никогда не пробовал планировщик “на вкус”. Кому лень читать, может сразу перейти к изучению кода, поскольку код примеров будет взят из нашего проекта.
Ну, и многопоточные котики для привлечения внимания.

Читать дальше →
Total votes 92: ↑92 and ↓0+92
Comments19

Почему нам необходима рефлексия в C++1y

Reading time4 min
Views17K
Программам необходимы данные. Программы выдают лишь настолько хороший результат работы, насколько полны и валидны были входные данные. Для некоторых программ входными данными являются обычные файлы или полученная из сети информация (пример — ваш браузер). Другие программы оперируют исходными кодами. Эти вторые «мета-программы» тоже нуждаются в данных. Чем они будут качественнее — тем качественнее будет и результат.

Что же за данные мы «скармливаем» таким программам? Ну, в С++ более важным чем «что?» является вопрос «когда?» (помните Морфеуса?). Программа на С++ это всего-лишь последовательность битов, которые компилятор пытается прочитать и понять. И вот в процессе этого «понимания» компилятор преобразует код на С++ в машинные инструкции и (что особенно интересно!) выполняет некоторую часть кода вашей программы. Да, мы говорим о мета-программировании на этапе компиляции.

Возвращаемся к вопросу «что?». Мы хотим иметь доступ ко всем сущностям, которые только теоретически могут быть доступны на этапе компиляции: типы, члены классов, функции, аргументы, пространства имён, номера строк кода, имена файлов — и всё это хорошо бы иметь в «чистом виде», без каких-либо странных препроцессорных хаков или использования сторонних утилит. Кроме того, хорошо бы получить и менее очевидные вещи: информацию о конвертируемости одних типов в другие, отношениям наследования и агрегации, дружественных классах и функциях и т.д.

Компилятор языка С++ уже имеет всю эту информацию! Но, к сожалению, не в доступной для мета-программирования форме. Получается странная такая ситуация — мы можем выполнить кое-какой код на этапе компиляции — но вот большинства данных у нас нет. Ну и здесь было бы логично задаться вопросом «А как же мы можем эти данные получить?».
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments73

JSR 133 (Java Memory Model) FAQ (перевод)

Reading time25 min
Views146K
Добрый день.
В рамках набора на курс «Multicore programming in Java» я делаю серию переводов классических статей по многопоточности в Java. Всякое изучение многопоточности должно начинаться с введения в модель памяти Java (New JMM), основным источником от авторов модели является «The Java Memory Model» home page, где для старта предлагается ознакомится с JSR 133 (Java Memory Model) FAQ. Вот с перевода этой статьи я и решил начать серию.
Я позволил себе несколько вставок «от себя», которые, по моему мнению, проясняют ситуацию.
Я являюсь специалистом по Java и многопоточности, а не филологом или переводчиком, посему допускаю определенные вольности или переформулировки при переводе. В случае, если Вы предложите лучший вариант — с удовольствием сделаю правку.
Этот статья также подходит в качестве учебного материала к лекции «Лекция #5.2: JMM (volatile, final, synchronized)».

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Ну и да, приходите учиться ко мне!


JSR 133 (Java Memory Model) FAQ


Jeremy Manson и Brian Goetz, февраль 2004

Содержание:
Что такое модель памяти, в конце концов?
Другие языки, такие как C++, имеют модель памяти?
Что такое JSR 133?
Что подразумевается под «переупорядочением» (reordering)?
Что было не так со старой моделью памяти?
Что вы подразумеваете под «некорректно синхронизированы»?
Что делает синхронизация?
Как может случиться, что финальная поля меняют значения?
How do final fields work under the new JMM?
Что делает volatile?
Решила ли новая модель памяти «double-checked locking» проблему?
Что если я пишу виртуальную машину?
Почему я должен беспокоиться?
Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments32

Yota стала сотовым оператором (и что такое «файл большого объёма»?)

Reading time2 min
Views112K
Анонс этого события под громким заголовком «Четвертый федеральный оператор» висит сейчас у них на сайте: www.yota.ru/voice



Услуги телефонии «Йота» предоставляет на базе «Мегафона», которым была приобретена в прошлом году.

Особенность предложения — фиксированная цена, «100% безлимитный интернет», безлимитные SMS, 300 минут звонков по России и отсутствие роуминга внутри страны. Похоже на идеальное предложение, потому что современному юзеру безлимитный интернет куда важнее безлимитных звонков, мода на которые уходит в прошлое.
Читать дальше →
Total votes 90: ↑80 and ↓10+70
Comments190

Охотники на волков с Wall Street. Часть 2

Reading time5 min
Views23K

Изображение: Razvan Chisu — Unsplash

Это — продолжение рассказа о новинке от знаменитого Майкла Льюиса — автора «Высокочастотной революции на Уолл-стрит». Майкл знаком нашей аудитории по фильму «Moneyball» или «Человек, который изменил всё». Его книга 2003 года легла в основу этой кинокартины, но с тех пор вышел целый спектр изданий, в которых Льюис анализирует устройство финансового рынка. Об одном из них мы говорим в нашем очередном хабратопике — разбираем и адаптируем для вас главное из небольшого отрывка, плюс обсуждаем HFT-трейдинг в целом.
Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments4

Brainstorage и Хантим объединяются в один проект

Reading time4 min
Views39K
Всем привет! Как вы помните, недавно мы существенно обновили возможности нашей фриланс-биржи Freelansim. Теперь же спешим поделиться ещё одной новостью – мы не обошли вниманием и тех, кто ищет постоянную работу (или постоянного сотрудника).



Наша социальная сеть для IT-специалистов «Brainstorage» получила большое обновление, над которым мы работали последние месяцы. Итак, встречайте «Brainstorage 2.0».
Читать дальше →
Total votes 107: ↑96 and ↓11+85
Comments43

Часть первая, а вторую часть всё равно никто не читает

Reading time5 min
Views33K

О чем собственно речь


Как-то раз одним поздним декабрьским вечером завершился сбор материала для хабра-статьи, посвященной SAT. Материала оказалось слишком много и передо мной встал выбор: разделить статью на две части или собрать весь материал вместе в одной статье. Выбор был сделан в пользу разделения на части (первая и вторая). К моему удивлению, вторая часть получила значительно меньше внимания, чем первая — фактически её прочитали в два раза меньше человек.

Время шло, и я стал замечать, что это происходило не только с моими статьями, но и со многими другими статьями в нескольких частях. Тогда у меня возник вопрос, а верно ли в общем, что вторая часть получает меньше внимания (просмотров, плюсов, и записей избранного)?

(сделано на основе хабра-статьи Как лгать с помощью статистики)

Структура статьи
  1. О чем собственно речь
  2. Данные
  3. Сравниваем части
  4. Серии статей
  5. Заключение
  6. Дальнейшее чтение

Читать дальше →
Total votes 69: ↑62 and ↓7+55
Comments31

1000+ часов видео по Java на русском

Reading time7 min
Views1.3M
Добрый день.
Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
  1. Java Core
  2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
  3. Multicore programming in Java.


Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.

(GolovachCourses.com)


Здесь собраны несколько вариантов записи моего курса Java Core.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Читать дальше →
Total votes 120: ↑111 and ↓9+102
Comments38

Lock-free структуры данных. Очередной трактат

Reading time16 min
Views52K

Как вы, наверное, догадались, эта статья посвящена lock-free очередям.

Очереди бывают разные. Они могут различаться по числу писателей (producer) и читателей (consumer) – single/multi producer — single/multi consumer, 4 варианта, — они могут быть ограниченными (bounded, на основе предраспределенного буфера) и неограниченными, на основе списка (unbounded), с поддержкой приоритетов или без, lock-free, wait-free или lock-based, со строгим соблюдением FIFO (fair) и не очень (unfair) и т.д. Подробно типы очередей описаны в этой и этой статьях Дмитрия Вьюкова. Чем более специализированы требования к очереди, тем, как правило, более эффективным оказывается её алгоритм. В данной статье я рассмотрю самый общий вариант очередей — multi-producer/multi-consumer unbounded concurrent queue без поддержки приоритетов.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments8

Принцип 80/20. Руководство для начинающих

Reading time7 min
Views159K
Сегодня мы представляем вашему вниманию перевод статьи A Beginner’s Guide To The 80/20 Principle про принцип работы и использования правила 80/20, в которой, надеемся, читатели найдут для себя полезные инструменты по управлению своей производительностью.


Кратко о 80/20.
“Вам не нужно делать все. Вам необходимо делать только то, что дает результат”.

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

Здесь вы узнаете, каким образом можно оптимизировать все, что вы делаете, с самого начала.

Как работает 80/20
В большинстве случаев, около 80% результата происходят из 20% причин. Эти цифры могут меняться – иногда это 70/30 и иногда 90/10. Но какое бы ни было соотношение, суть в том, что небольшое количество причин оказывают непропорционально большое влияние на результат.

Во всем, от привлечения клиентов, постах в блоге, путешествиях, фитнесе, отношениях – вы обнаружите, что правило 80/20 работает везде.

Но давайте немного вернемся назад. Что это за “правило 80/20” и что оно вообще значит?

Оригинальная формулировка правила:
“20% вложений приводят к 80% результата”

Правило происходит из книги Ричарда Коха “Правило 80/20”. Она представляет собой объемное произведение, которое определенно заслуживает быть прочитанным.

Любопытно, если вы откроете книгу Коха, вы обнаружите, на 25 страницах, он упоминает, что вы можете получить самую важную информацию из любой книги, следуя инструкции из трех шагов. Как хороший студент, я последовал его инструкциям — я прочитал начало и конец книги, просмотрел вскользь остальную ее часть, а затем снова прочитал начало и конец. Если автор рассказывает, как читать книги – вам следует прислушаться!
Читать дальше →
Total votes 107: ↑65 and ↓42+23
Comments60

Кризис и фондовый рынок: роль высокочастотного трейдинга

Reading time3 min
Views11K
Прим. переводчика: Мы довольно много и часто говорим о высокочастостном трейдинге и связанных с этим технологиях, применительно к России. Однако, нам самим, при всем желании, довольно тяжело охватить все аспекты этой интереснейшей темы, особенно то, что происходит за рубежом. Поэтому, в дополнение к нашей секции переводов зарубежных материалов (большинство из них можно найти по ссылке), мы решили запустить в своем блоге на Хабре новую рубрику, в которой будем рассказывать об интересной тематической литературе. Мы можем соглашаться или не соглашаться с тезисами, изложенными в освещаемых нами книгах, но чтобы составить свое мнени — их нужно прочитать. Сегодня у нас первый выпуск, замечания и предложения по формату приветствуются в комментариях. Приятного чтения!

После выхода бестселлера «Большая игра на понижение. Тайные пружины финансовой катастрофы» (The Big Short), в которой Майкл Льюис (Michael Lewis) развенчивал мифы эпохи финансового кризиса, интересы автора переместились в сторону других вопросов. И все же, нет причин сомневаться в том, что Льюис продолжает размышлять о роли, которую играет кризис на современных рынках.

image

Последняя книга Льюиса, «Быстрые мальчики» (Flash Boys: A Wall Street Revolt), рассказывает историю Сергея Алейникова, программиста из Goldman Sachs, попавшего в тюрьму за кражу кода алгоритма высокочастотной торговли Goldman после увольнения из инвестиционного банка. История Алейникова помогает яснее представить «непрозрачный» мир высокочастотных торгов. В понедельник [31 марта 2014 – прим.перев.] книга поступит в продажу. Ее издателем выступило агентство W.W. Norton & Co.
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments34

[видео] Как избежать незапланированного отката: разбор 7 реальных переговорных ситуаций

Reading time4 min
Views41K
Раз уже тема переговоров с заказчиками и коллегами оказалась интересна хабровчанам (48,000 просмотров видео за неделю), мы решили продолжить эту тему.

Предыдущие материалы:


На этот раз мы попросили Дмитрия Коткина, руководителя Санкт-Петербургской школы переговорщиков ШиП разобрать ситуации более подробно. Правда, и ситуации не такие простые. Более конкретные, про проектную работу в ИТ, с непростыми заказчиками и коллегами.

Надеемся, что это окажется вам полезным. Видео-разборы 7 реальных ситуация — под катом:
  • “На свободу — с готовой отчетностью!”
  • “4 часа, чтобы сделать клиенту чушь”
  • “Миссия невыполнима (с данным оборудованием)”
  • “Начинайте работы, через 14 часов открытие магазина”
  • “Наш бюджет в 3 раза меньше”
  • “Незапланированный откат”
  • “Если у вас в руках молоток, то все вокруг кажется гвоздем”


Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments16

Интерпретация во время компиляции, или Альтернативное понимание лямбд в C++11

Reading time22 min
Views32K
Yo dawg, I heard you like programming. So we put a language in you language, so you can program while you programНа Хабре недавно проскочила ещё одна статья про вычисления на шаблонах C++ от HurrTheDurr. В комментариях к ней лично я увидел вызов:

> С каждым новым релизом количество способов нетривиально вывихнуть себе мозг при помощи С++ продолжает увеличиваться)
> > Особенно, если не менять подход к реализации игрового поля и продолжать пытаться все вычисления выполнять не над константами, а над типами.


А так ли сложно будет написать универсальный вычислитель на типах, более удобный для программирования, чем клеточный автомат? Как оказалось, несложно; я в 30 раз больше времени потратил на эту статью, чем на написание и отладку собственно кода вычислителя.

Чуть раньше AveNat опубликовала введение в лямбда-исчисление в двух частях, так что вдохновение пришло мгновенно. Хотелось, чтобы можно было (образно) писать так:
#include <iostream>

#include <LC/kernel.h>
#include <LC/church_numerals.h>

int main()
{
    // Представление натуральных чисел в виде лямбда-абстракций
    typedef ChurchEncode<2> Two;    // 2 = λfx.f (f x)
    typedef ChurchEncode<3> Three;  // 3 = λfx.f (f (f x))

    // * = λab.λf.a (b f)
    typedef Lambda<'a', Lambda<'b', Lambda<'f',
                Apply<Var<'a'>, Apply<Var<'b'>, Var<'f'> > >
        > > > Multiply;

    // Вычисление (* 2 3)
    typedef Eval<Apply<Apply<Multiply, Two>, Three>> Output;

    // Переход обратно от лямбда-абстракций к натуральным числам
    typedef ChurchDecode<Output> Result;

    std::cout << Result::value;
}

А на выходе получать такое:
ilammy@ferocity ~ $ gcc cpp.cpp
ilammy@ferocity ~ $ ./a.out
6

Статья получилась несколько великоватой, так как мне хотелось рассказать обо всех интересных штуках, которые здесь используются. И ещё она требует базового набора знаний о лямбда-исчислении. Приведённых выше обзоров, среднего знания C++ (с шаблонами), и здравого смысла должно быть достаточно для понимания содержимого.

Под катом находится очередное прокомментированное конструктивное доказательство Тьюринг-полноты шаблонов C++ в виде compile-time интерпретатора бестипового лямбда-исчисления (плюс печеньки в виде макросов и рекурсии).
Читать дальше →
Total votes 102: ↑98 and ↓4+94
Comments13

По следам бременских музыкантов, или «Как нам выстроить информационную защиту России» правильно

Reading time9 min
Views24K
image

Смех продлевает жизнь


Как известно, вчера мы насладились то ли суперсарказмом, то ли гэгом, то ли «у автора весеннее обострение» — на тему «как нам обустроить рабкрин» «Как нам выстроить информационную защиту России».

Попробуем разобрать — что же в предложенном «не так». Как известно — не знаешь как изложить материал — придерживайся методички.

  1. Что это?
  2. Для кого это?
  3. Как этим пользоваться?

И вот только после этого можно переходить к деталям.

Увы — в исходном тексте важной преамбулы не оказалось. Простите — а от кого мы собираемся защищаться? Зачем? Какие именно угрозы нам необходимо пресечь или хотя бы ослабить?
Читать дальше →
Total votes 85: ↑61 and ↓24+37
Comments53

Кому доверить свой бизнес? Часть 1 — бухгалтерия

Reading time11 min
Views74K
Московский рынок бизнес-услуг крайне пышен и богат. Приходится внимательно изучать его флору и фауну, ведь наша сервисная компания — не единственный способ получить хорошее обслуживание. Недавно мы провели небольшое исследование, нагуглили популярные варианты бухгалтерского и юридического сопровождения, изучили предложения секретарей и бизнес-ассистентов. Обычно маркетологи хранят результаты изысканий в секрете, но мы решили о них рассказать. Хочется верить, что это сэкономит предпринимателям пару часов времени на поисках варианта обслуживания, подходящего для их компании. Начнем с бухгалтерии.



Мы исследовали варианты бухгалтерского обслуживания, которые подойдут бизнесам от малого до среднего. Получилось всего 7 категорий, каждой из которых мы постарались дать объективную характеристику, определить ценовую вилку и выделить наиболее заметные (читай, разрекламированные) предложения.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments36

Метод сжатия задач

Reading time3 min
Views14K
Привет, Хабр!

Мы, программисты, любим держать все в голове. Но иногда возникают настолько большие задачи, что они попросту не укладываются в черепной коробке. О методе сжатия таких задач я расскажу в этой статье.

Будет много скриншотов и небольшой сюрприз в конце.
Читать без смс
Total votes 38: ↑28 and ↓10+18
Comments17

Обзор литературы по Data Mining

Reading time7 min
Views66K
Добрый день!

Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.

Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments22

Information

Rating
Does not participate
Registered
Activity