linux


Linux фсе?

Торвальдс приостанавливает свое участие в проекте. Проблема в том, что есть шанс, что им не ограничатся и из проекта уйдут и другие, часть народа это активно обсуждает. Заберя с собой свои лицензии на части кода.
a-rakovskij.livejournal.com/617787.html

Смотрю замечательные курсы по Линукс.

    • 17 сентября 2018, 20:15
    • |
    • BadLogic
  • Еще

Они хоть и старенькие 2012 год, но препод зажигает. 

Он рассказывал про Линукс сообщество- что бы сообщество было крепкое, необходим внешний враг на которого можно списать большие проблемы-- в данном случае Windows, который захватил мир.

Но должен быть и внутренний враг, он обязательно должен быть небольшим и гадким, что бы списывать на него мелкие проблемы, а когда ситуация выравнивается, приписывать себе победы над ним- в том случае таким внутренним врагом выступало сообщество Arch Linux.

Эта лекция напомнила мне одну замечательную страну.


>>> Рейтинг 2017 производителей суперкомпьютеров Top500

Опубликован 50-й выпуск рейтинга 500 самых высокопроизводительных компьютеров мира. Новый выпуск рейтинга примечателен двумя важными событиями:

— Во-первых, Linux полностью вытеснил остальные ОС и теперь используется на всех представленных в рейтинге суперкомпьютерах.

— Во-вторых, наблюдается наращивание мощных вычислительных кластеров в Китае, которые активно вытесняют из рейтинга американские системы, число которых уменьшилось за полгода с 168 до 143, а число китайских систем возросло со 160 до 202. Примечательно, что всего два c половиной года назад в Китае было 37 кластеров, входящих в TOP500.
  • Самый мощный отечественный кластер Lomonosov 2 сместился с 59 на 63 место в рейтинге. Кластер Lomonosov опустился со 164 на 227 место. Третий по производительности отечественный кластер Tornado опустился с 297 на 412 место. Как и полгода назад в рейтинге остаётся только 3 отечественных кластера (в позапрошлом рейтинге было 5 отечественных систем, а в 2012 году — 12);
  • Распределение по количеству суперкомпьютеров в разных странах:
    • Китай: 202 (160 в прошлой редакции рейтинга);
    • США: 143 (168);
    • Япония: 35 (33);
    • Германия: 21 (28);
    • Франция: 18 (18)
    • Великобритания: 15 (17)
    • Италия: 6 (8);
    • Нидерланды: 6 (4)
    • Южная корея 5 (8)
    • Швеция: 5 (5)
    • Польша 5 (6)
    • Канада 5 (6);
    • Австрия, Саудовская Аравия, Ирландия, Индия: 4;
    • Россия, Швейцария: 3.
  • В рейтинге операционных систем, используемых на суперкомпьютерах, теперь остался только Linux: 
    • Linux — 500 систем, 100%
    • Unix — 0, (полгода назад было 2)
    • Смешанные — 0
    • Windows — 0
    • BSD — 0
  • Распределение по дистрибутивам Linux (в скобках указано значение из прошлой редакции рейтинга):
    • 53.4% (58.8%) не детализируют дистрибутив,
    • 21.8% (16.6%) используют CentOS,
    • 9.2% (8.6%) — Cray Linux,
    • 4.2% (4.2%) — SUSE,
    • 4.4% (3.4%) — RHEL,
    • 1.4% (1.2%) — Ubuntu;
    • 0.8% (0.8%) — Scientific Linux, 
  • Минимальный порог пиковой производительности для вхождения в Top500 вырос за полгода с 430.5 до 548.7 терафлопсов, а для Top100 — с 1193 до 1283 терафлопсов. Система, замыкающая нынешний рейтинг, в прошлом выпуске находилась на 368 месте;
  • Суммарная производительность всех систем в рейтинге за полгода возросла с 749 до 845 петафлопсов (три года назад было 309 петафлопсов). В настоящее время 181 кластер демонстрирует производительность более петафлопcа (в прошлом рейтинге — 138, три года назад — 50);
  • Общее распределение по количеству суперкомпьютеров в разных частях света выглядит следующим образом: 252 суперкомпьютера находится в Азии (212 в предыдущем списке), 149 в Америке (176) и 93 в Европе (106);
  • В качестве процессорной основы лидируют CPU Intel — 94.2% (было 92.8%), на втором месте — IBM Power — 2.8% (было 4.2%), на третьем SPARC64 — 1.4%, на четвёртом AMD — 1% (было 1.2%);
  • 27% (31.6%) всех используемых процессоров имеют 12 ядер, 21% (12.8%) — 16 ядер, 10.6% (13.2%) — десять, 10.4% (9.6%) — 14 ядер, 9.2% (11.2%) — 8 ядер, 8% (7%) — 18 ядер, 4.6% — 20 ядер. Процессоры с числом ядер меньше 6 в рейтинг не попали;
  • 102 из 500 систем (в прошлом рейтинге — 91) дополнительно используют ускорители или сопроцессоры, при этом в 86 системах задействованы чипы NVIDIA (было 74), в 12 — Intel Xeon Phi (было 17), в 0 — GPU AMD (было 1), 5 — PEZY (2), в 2 используются гибридные решения (было 13);
  • Среди производителей кластеров на первом месте компания Hewlett-Packard 24.4% (28.6%), на втором месте — Lenovo 16.2% (17%), на третьем месте — Inspur 11.2%, на четвёртом — Cray 10.6% (11.4%), на пятом — Sugon 10.2% (9.2%), далее следуют IBM 3.8% (5.4%), Huawei 3.8%, Bull 3.4%, Dell EMC 3.2% и Fujitsu 2.4%.
цинк

#пора_граммировать [7] ... авторизация на сайте МосБиржи #headers

— заходим на адрес https://passport.moex.com и регистрируемся. 
   запоминаем логин и пароль.
   подтверждаем почту.

— вместо login:password вбиваем свои данные
using System;
using System.Net;
using System.Text;

namespace AuthMoexSmpl
{
    class Program
    {
        static void Main(string[] args)
        { 
            string authLink = "https://passport.moex.com/authenticate";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(authLink);
            request.ContentType = "text/plain; charset=utf-8";
            request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes("login:password")); //свои данные
            request.PreAuthenticate = true;
            request.CookieContainer = new CookieContainer();                 
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;            
            for(int i=0; i < response.Headers.Count; ++i)  
	                Console.WriteLine("\nHeader Name:{0}, Value :{1}",response.Headers.Keys[i],response.Headers[i]);
        }
    }
}
D:\devel\net\AuthMoexSmpl>dotnet run

Header Name:Cache-Control, Value :no-store, must-revalidate, no-cache, ma

Header Name:Connection, Value :close

Header Name:Date, Value :Fri, 10 Nov 2017 19:53:12 GMT

Header Name:Pragma, Value :no-cache

Header Name:ETag, Value :"xxxxxx"

Header Name:Server, Value :nginx

Header Name:Set-Cookie, Value :MicexPassportCert=xxxxxxx; domain=.moex.com; path=/, _passport_se
m xxxxx; path=/; HttpOnly

Header Name:Status, Value :200 OK

Header Name:X-Runtime, Value :713

Header Name:X-Moex-Passport-Certificate, Value :xxxxxx

Header Name:X-Powered-By, Value :Phusion Passenger 4.0.57

Header Name:Access-Control-Allow-Credentials, Value :true

Header Name:Access-Control-Expose-Headers, Value :X-MicexPassport-Marker

#учусьучить





#пора_граммировать [6] ... авторизация на сайте МосБиржи #cookie

— заходим на адрес https://passport.moex.com и регистрируемся.
   запоминаем логин и пароль.
   подтверждаем почту.

— вместо login:password вбиваем свои данные
using System;
using System.Net;
using System.Text;

namespace AuthMoexSmpl
{
    class Program
    {
        static void Main(string[] args)
        { 
            string authLink = "https://passport.moex.com/authenticate";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(authLink);
            request.ContentType = "text/plain; charset=utf-8";
            request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes("login:password")); // вносим свои данные
            request.PreAuthenticate = true;
            request.CookieContainer = new CookieContainer();                 
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;            
            foreach (Cookie cook in response.Cookies) {
                Console.WriteLine("Cookie:");
                Console.WriteLine("{0} = {1}", cook.Name, cook.Value);
                Console.WriteLine("Domain: {0}", cook.Domain);
                Console.WriteLine("Path: {0}", cook.Path);
                Console.WriteLine("Port: {0}", cook.Port);
                Console.WriteLine("Secure: {0}", cook.Secure);
                Console.WriteLine("When issued: {0}", cook.TimeStamp);
                Console.WriteLine("Expires: {0} (expired? {1})", cook.Expires, cook.Expired);
                Console.WriteLine("Don't save: {0}", cook.Discard);    
                Console.WriteLine("Comment: {0}", cook.Comment);
                Console.WriteLine("Uri for comments: {0}", cook.CommentUri);
                Console.WriteLine("Version: RFC {0}" , cook.Version == 1 ? "2109" : "2965");                
                Console.WriteLine ("String: {0}", cook.ToString());
            }                   
        }
    }
}
D:\devel\net\AuthMoexSmpl>dotnet run
Cookie:
_passport_session = xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Domain: passport.moex.com
Path: /
Port:
Secure: False
When issued: 11.11.2017 01:55:42
Expires: 01.01.0001 00:00:00 (expired? False)
Don't save: False
Comment:
Uri for comments:
Version: RFC 2965
...

#учусьучить

#пора_граммировать [5] ... цена последней сделки по Si с биржи.

Для получения последней сделки нужно изменить порядок запроса на обратный добавив
reversed=1
и оставить только строчку номер 15 в запросе
limit=1
получим запрос вида
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?reversed=1&limit=1
Вариант автоматизации упрощенно:
using System;
using System.Net;
using System.IO;
using System.Text;

namespace GetLastPrice
{
    class Program
    {
        static void Main(string[] args)
        { 
            string newLine;
            string[] lastLine;
            string link = "https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?reversed=1&limit=1";
            int count = 0;           
            for (;;) {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(link);
                request.ContentType = "text/plain; charset=utf-8";
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;        
                using (Stream responseStream = response.GetResponseStream())
                {                    
                    StreamReader sr = new StreamReader(responseStream, Encoding.UTF8);                   
                    while ((newLine = sr.ReadLine()) != null) {                        
                        if (count == 14) {
                            if (newLine =="") break;
                            else {                        
                                lastLine =  newLine.Split(",");
                                Console.WriteLine("Volume is " + lastLine[6] +" at Price " + lastLine[5]);
                            }                                                   
                        }
                        count++;                                            
                    }                                                               
                }
                count = 0;
                response.Close();
            }            
        }
    }
}


( Читать дальше )

#пора_граммировать [3] делаем C# сразу для/на Windows <==> Linux

Нетрудно сделать версию консольной проги по стандарту  2.0 для запуска на Windows или Linux:

— каталог Debug наполнялся содержанием при
dotnet run

Для релиза:

— в каталоге проекта делаем

   для win7:
dotnet publish -c Release -r win7-x64
   для Ubuntu 14.04:
dotnet publish -c Release -r ubuntu.14.04-x64

полный список платформ Windows, Linux, MacOS X

Забираем релизы в каталоге Release проекта.




#учусьучить

Торгуем из под Linux Часть 4 - Финал.

    • 17 августа 2017, 16:25
    • |
    • Svips
  • Еще

Первая часть
Вторая часть
Третья часть

Всем привет.

Вот мы и закончили свой проект перевода своих торговых решений на операционную систему Linux. За шесть месяцев было написанно с нуля все что нужно для нашего стиля торговли и контроля рисков. Поставленные и решенные задачи:

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

Весь комплекс прошел боевое тестирование и успешно внедрен в повседневную работу. Всем кто следил за проектом и поддерживал, огромное спасибо!

Ну и небольшое видео как это было:



( Читать дальше )

Торгуем из под Linux Часть 3.

    • 07 марта 2017, 11:53
    • |
    • Svips
  • Еще


Первая часть
Вторая часть


Всем привет.

Прошло чуть больше месяца как мы стартанули переписывать все ПО под новую концепцию. Как вы помните основные посылы были следующие:
  — Написать нативный кроссплатформеный сервер для проптрейдинговой деятельности
  — Написать Веб простейшую торговую платформу для проптрейдинговой деятельности

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

Лицо или группа лиц которая хочет торговать с одного аккаунта Квика и иметь при этом рискменеджера. Т.е. по сути, Квик является датафидом и исполнителем заявок. Он подключается к нашему серверу и работаетает с ним. Клиенты — проптредеры подключаются через вебклиента к нашему серверу и совершают сделки в рамках своих лимитов, которые контролирует сервер. Такая своеобразная возможность дать в ДУ без предоставления доступа к счету и приэтом 100% контролировать риски трейдеров. Сервер на нашей стороне. Тредеров добавляем сами, и каждому выставляем лимит потерь на день и рабочий сайз. В итоге трейдер не может за день потерять больше чем лимит.

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

На данный момент платформа работает стабильно, поэтому переводим всех своих трейдеров на нее. Дальше уже будем дорабатывать остальной функционал.

Если интересно, ставьте плюсы, будем постить дальнейший ход дел )
Конструктивная критика и предложения приветствуются.
Всем профитов!

Ну и скриншот текущего клиента:

DirexTrade Web Client

 


....все тэги
2010-2020
UPDONW