Re[26]: cppcms
От: Ночной Смотрящий Россия  
Дата: 24.09.14 13:26
Оценка: +1
Здравствуйте, ZiloT, Вы писали:

ZT>Есть замечательная либы sqlpp11, кандидат на включение в boost.


Ну то есть те же танцы с переопределением операторов вместо нормального выражения. Выглядит хорошо только на специально подобранных примерах.

ZT>Да, возможно, не так крут, как LINQ, но прогресс есть.


Прогресса не будет до тех пор, пока в языке не появится нормальный механизм цитирования кода.
Re[28]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:28
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, Sheridan, Вы писали:


S>>Приподнял то что есть, смотреть там http://www-test.sergos.ru/


НС>1) В янусе какие то сплошные атомы. Надо потому что добавить <meta http-equiv="X-UA-Compatible" content="IE=edge" />, раз в IE7 не работает.

Ок, спасибо.

НС>2) Скрипты частично не минифицированы и не забандлены. cppms не умеет этого делать? Или тебе на перформанс наплевать?

НС>5) А вот так прекрасно называть параметры метода — a, b, c, d, e, f, g, h — тебя кто научил? Или это трансляция с какого нибудь CoffeeScript и в исходнике все красиво?
Обработано closure-compiler в дебаг-режиме, без минификации и с сохранением хотя бы какой то читабельности.
Сейчас пересобрал в релиз, посмотри.
В необработаном коде переменные выглядят нормально
function prevSlide(slider)
{
    var prevSlideID = sliders[slider]['active'] - 1;
    prevSlideID = prevSlideID < 0 ? sliders[slider]['total']-1 : prevSlideID;
    setActiveSlide(slider, prevSlideID);
}


НС>3) Мелкие картинки не закатаны в спрайт. Тоже перформансу у клиента не способствует.

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

НС>4) Функции initXxx. Это чего вообще? Ты генеришь кучу статики при помощи js только потому что нужно поменять значение атрибутов id?

НС>6) Про unobtrusive js слышал? Если нет — крайне рекомендую ознакомится. Если да — у тебя категорическое несоответствие, причем без необходимости на то, т.е. на твоей страничке нет ничего, чтобы не могло быть нормально реализовано без js.
Это хвосты от параллельных запросов кусков контента, если я правильно тебя понял. В параллельном проекте уже избавился, сюда теперь перенести код надо.

НС>7) Вот это вот — тоже не способствует перформансу (у тебя, походже, какая то неистребимая страсть к монстроидальной склейке строк):

НС>
НС>  dlc[a].elements.footer = $("#" + a + "_footer");
НС>  dlc[a].elements.navigator = $("#" + a + "_navigator");
НС>  dlc[a].elements.btn_tofirst = $("#" + a + "_tofirst");
НС>  dlc[a].elements.btn_pageback = $("#" + a + "_pageback");
НС>  dlc[a].elements.pages = $("#" + a + "_pages");
НС>  dlc[a].elements.btn_pageforward = $("#" + a + "_pageforward");
НС>  dlc[a].elements.btn_tolast = $("#" + a + "_tolast");
НС>  dlc[a].elements.counter = $("#" + a + "_counter")
НС>

НС>Более правильно собирать сразу дерево (если уж какие то причины мешают сразу положить в html готовый шаблон):
НС>
НС>function setId(elem, suffix) {
НС>  var id = a + suffix;
НС>  elem.attr('id', id);
НС>  ele.addClass(id);
НС>  return elem;
НС>}
НС>var navigator = setId($('<span>'), '_navigator');
НС>var btn_tofirst = setId($(<img class='button' src='/media/img/icons/ios7-skipbackward.svg'), '_tofirst');
НС>btn_tofirst.click(...);
НС>...
НС>var footer = setId($("<div>...</div>", '_footer')
НС>  .append(navigator)
НС>  .append(btn_tofirst)
НС>  ...;
НС>

Тут не понял. Мой код вытаскивает объекты из думдерева для последующей работы с ними, а твой устанавливает им id

НС>8) Вот это чудовище:

НС>
НС>a = $("#" + a);
НС>a.hasClass("visible") ? (a.removeClass("visible"), a.addClass("unvisible")) : a.hasClass("unvisible") && (a.removeClass("unvisible"), a.addClass("visible"))
НС>

НС>Можно заменить на $("#" + a).toggle(). И, кстати, не unvisible, а invisible, а лучше hidden.
Можно и так конечно, если задача скрыть или показать. Но у меня в планах сделать анимацию на проявление и скрытие, поэтому рулю стилями.
Matrix has you...
Re[34]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:30
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Не, ты определенно хорошо устроился. На работе вместо работы занимаешься непонятно чем, и всех это устраивает.

В свободное время.
Matrix has you...
Re[32]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:32
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Несколько десятков мелких файлов грузятся долго, суммарно 0.7с у меня.

Это из за того что они еще не кешируются у тебя, я отключил пока.
Matrix has you...
Re[36]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:33
Оценка:
Здравствуйте, genre, Вы писали:

S>>Это мне значит надо еще под каждый браузер свой код отдавать.... Подумаю, подумаю...

G>Вот тут то ты и познакомишься с дивным словом декомпозиция.
Скорее всего я свой препарсер этим нагружу. А в коде буду оперировать тегами препарсера. Нафига мне куча почти одинакового кода в проекте...
Matrix has you...
Re[33]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:35
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>День. Это если без опыта в данной сфере деятельности.

Поднять и настроить — день.
А вот подобрать тему, которая устроит всех — вот тут и пара недель может понадобиться. Плавали, знаем
Matrix has you...
Re[29]: cppcms
От: Ночной Смотрящий Россия  
Дата: 24.09.14 13:37
Оценка:
Здравствуйте, Sheridan, Вы писали:

НС>>3) Мелкие картинки не закатаны в спрайт. Тоже перформансу у клиента не способствует.

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

Под мелкими я вовсе не галерею понимаю, а кучу всякой фигни типа кнопок. Которые напрямую грузятся с сервера по отдельности. У тебя это вызывает задержку на порядок (здесь я буквально) больше той, что имеется от работы серверного кода. Даже если ты ускоришь свой серверный код в два-три раза, это уменьшит TTI на единицы процентов. Это все на хорошем соединении. На плохом все будет еще печальнее.

S>Тут не понял. Мой код вытаскивает объекты из думдерева для последующей работы с ними, а твой устанавливает им id


Куда он, нафик, вытаскивает? Ты js из базы что ли берешь?

S>Можно и так конечно, если задача скрыть или показать. Но у меня в планах сделать анимацию на проявление и скрытие


Изучай — http://api.jquery.com/toggle/
Re[33]: cppcms
От: Ночной Смотрящий Россия  
Дата: 24.09.14 13:39
Оценка:
Здравствуйте, Sheridan, Вы писали:

НС>>Несколько десятков мелких файлов грузятся долго, суммарно 0.7с у меня.

S>Это из за того что они еще не кешируются у тебя, я отключил пока.

Ты правда думаешь, что большинство будет заходить на твой сайт больше 1 раза? Это ж ведь не rsdn, где у 99% посетителей статика давно закеширована, а типичный сайт-визитка.
Re[34]: cppcms
От: Ночной Смотрящий Россия  
Дата: 24.09.14 13:41
Оценка:
Здравствуйте, Sheridan, Вы писали:

НС>>День. Это если без опыта в данной сфере деятельности.

S>Поднять и настроить — день.

Поднять и настроить — меньше получаса. Даже с учетом чудесов настройки постгри на линуксах.

S>А вот подобрать тему, которая устроит всех


Всех это кого? Директора санатория?
На коммерческих проектах тему не подбирают колхозом, а заказывают у приличной фирмы, которая, в отличие от вас, в этом хорошо разбирается.
Re[34]: cppcms
От: genre Россия  
Дата: 24.09.14 13:42
Оценка:
Здравствуйте, Sheridan, Вы писали:


S>Поднять и настроить — день.


Ради интереса, а сколько ты уже потратил времени на свой сайт?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[35]: cppcms
От: Privalov  
Дата: 24.09.14 13:43
Оценка:
Здравствуйте, Sheridan, Вы писали:

P>>Не, ты определенно хорошо устроился. На работе вместо работы занимаешься непонятно чем, и всех это устраивает.

S>В свободное время.

Ну не знаю. У меня на работе время рабочее.
Re[36]: cppcms
От: Ночной Смотрящий Россия  
Дата: 24.09.14 13:45
Оценка: +1
Здравствуйте, Privalov, Вы писали:

P>Ну не знаю. У меня на работе время рабочее.


Потому что ты программист. А он нет, в его работе вполне нормально появление свободных кусков времени, когда нечего делать.
Re[30]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:54
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>3) Мелкие картинки не закатаны в спрайт. Тоже перформансу у клиента не способствует.

S>>Вряд ли получится, они ресайзятся при первом обращении из большой, которые вгружены в галерею.
НС>Под мелкими я вовсе не галерею понимаю, а кучу всякой фигни типа кнопок.
Да нету у меня там кнопок. Кругляши под слайдером — css, влево-вправо — вообще svg пока, думаю тоже на css нарисовать. Вроде всё...

S>>Тут не понял. Мой код вытаскивает объекты из думдерева для последующей работы с ними, а твой устанавливает им id

НС>Куда он, нафик, вытаскивает? Ты js из базы что ли берешь?
В голову. Вообще, буду замеченный тобой код отделять, он для админки предназначен. А в админке с помощью того кода длинные таблицы бьются на страницы и код подгружает страницы с сервера через jquery. В юзерской части вряд ли пригодится...

S>>Можно и так конечно, если задача скрыть или показать. Но у меня в планах сделать анимацию на проявление и скрытие

НС>Изучай — http://api.jquery.com/toggle/
Я ж говорю — можно и так. Свой выбор я сделал сознательно, так мне больше по душе.
Matrix has you...
Re[34]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:55
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Ты правда думаешь, что большинство будет заходить на твой сайт больше 1 раза? Это ж ведь не rsdn, где у 99% посетителей статика давно закеширована, а типичный сайт-визитка.

При одном заходе просматривается обычно не одна страница.
Matrix has you...
Re[35]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 13:58
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

S>>Поднять и настроить — день.

НС>Поднять и настроить — меньше получаса. Даже с учетом чудесов настройки постгри на линуксах.
Ну да, ну да. В том числе первоначально теги занести, рубрики, юзеров настроить, меню всякие, галерею, плагины нужные поставить... Минут десять, не более, ага.

S>>А вот подобрать тему, которая устроит всех

НС>Всех это кого? Директора санатория?
У нас это человек пять.

НС>На коммерческих проектах тему не подбирают колхозом, а заказывают у приличной фирмы, которая, в отличие от вас, в этом хорошо разбирается.

Это уже мы сами как нибудь решим.
Matrix has you...
Re[35]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 14:00
Оценка:
Здравствуйте, genre, Вы писали:

G>Ради интереса, а сколько ты уже потратил времени на свой сайт?

Чистого времени — чтото около месяца. Размазанного времени — с декабря.
Matrix has you...
Re[36]: cppcms
От: Sheridan Россия  
Дата: 24.09.14 14:01
Оценка:
Здравствуйте, Privalov, Вы писали:

P>>>Не, ты определенно хорошо устроился. На работе вместо работы занимаешься непонятно чем, и всех это устраивает.

S>>В свободное время.
P>Ну не знаю. У меня на работе время рабочее.
У админов, знаешь ли, бывают варианты
Matrix has you...
Re[31]: cppcms
От: Ночной Смотрящий Россия  
Дата: 24.09.14 14:04
Оценка:
Здравствуйте, Sheridan, Вы писали:

НС>>Под мелкими я вовсе не галерею понимаю, а кучу всякой фигни типа кнопок.

S>Да нету у меня там кнопок.

Я ж наверное в лог браузера смотрю.
http://www-test.sergos.ru/media/img/logo/ord.png
http://www-test.sergos.ru/media/img/loading/16x16.gif
http://www-test.sergos.ru/data/media/qrcode/33539634bdf0e36aa0f7c0b0180dce26_96.png
http://www-test.sergos.ru/media/img/icons/arrow-right-b.svg
http://www-test.sergos.ru/media/img/icons/arrow-left-b.svg
http://www-test.sergos.ru/media/img/icons/loop.svg

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

S>влево-вправо — вообще svg пока


А что, svg уже не отдельный файл, что ли? Оно ж у тебя не запихнуть внутрь страницы.

S>>>Можно и так конечно, если задача скрыть или показать. Но у меня в планах сделать анимацию на проявление и скрытие

НС>>Изучай — http://api.jquery.com/toggle/
S>Я ж говорю — можно и так. Свой выбор я сделал сознательно, так мне больше по душе.

Чем он тебе больше по душе, можешь обосновать?
Re[36]: cppcms
От: artelk  
Дата: 24.09.14 14:05
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Здравствуйте, artelk, Вы писали:


A>>Если в куче, то, например, трогать то, что выше по стэку череповато?

A>>void DoStuff(int x)
A>>{
A>> Coroutine coro;//переключились на стэк в куче
A>> //...
A>> DoSomeOperation(x);// упс, x в другом стэке
A>>}

EP>Если DoSomeOperation принимает x как ссылку И может пережить выполнение DoStuff — то да, правильно, это повлечёт проблемы. Тем не менее, использовать stackful coroutines для "выпрямления" асинхронного кода это никак не мешает.


EP>В C#, кстати, тоже возможна подобная ситуация — например какой-нибудь ресурс, типа файла, привязан к некоторому scope, через using, и в этом scope запускается async метод который работает с этим файлом, причём переживает вызвавший его scope в другом потоке.


Если стоит await, то не переживет. Разве что специально что-то сделать чтоб пережил... Ну не суть, корутины, полагаю, будут создаваться в самом начале потоков пула.

Со стеками в куче и хитрыми макросами, возможно, получится сделать как нужно — чтобы и без лапши и масштабируемо.
Давай опишу чего хотелось бы добиться:
async Task<int> GetResult()//запускается из IOCP потока
{
  //...
  var x = await DoSomeIOAsync();//Запускаем операцию, возвращаем текущий поток в пул.
  //Продолжение будет со следующей строчки из (в общем случае) другого IOCP потока.

  //...
  var y = await DoSomeCPUAsync();//Внутрях прыжок в worker threads пула.
  //Продолжимся там же.

  await mySemaphore.WaitAsync();//Вах какая красота, "блокировка" без блокировки потока и без системного вызова (даже если длительная). ))
  //Продолжимся в worker thread позже, когда семафор освободится.
}


Хотелось бы увидеть образцово-показательный код на С++, чтобы в качестве сервисного метода было, например, что-то вроде такого:
async Task<byte[]> GetValue(byte[] bytes)//bytes - пришедшие от клиента данные
{
  //изображаем нагрузку на память
  var arr = new byte[bytes.Length*2];

  //изображаем нагрузку на CPU
  bytes.CopyTo(arr, 0);
  bytes.CopyTo(arr, bytes.Length);
  var md5 = GetMD5(arr);

  //эмулируем асинхронный вызов некоего удаленного сервиса с латентностью в секунду + делаем перескок в worker thread
  await Task.Delay(1000);

  //изображаем нагрузку на память и CPU
  arr = new byte[bytes.Length + md5.Length];
  bytes.CopyTo(arr, 0);
  md5.CopyTo(arr, bytes.Length);
  return GetMD5(arr);
}

На сколько реализуемо?
Re[36]: cppcms
От: Ночной Смотрящий Россия  
Дата: 24.09.14 14:08
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>>>Поднять и настроить — день.

НС>>Поднять и настроить — меньше получаса. Даже с учетом чудесов настройки постгри на линуксах.
S>Ну да, ну да. В том числе первоначально теги занести, рубрики, юзеров настроить, меню всякие, галерею, плагины нужные поставить... Минут десять, не более, ага.

В нормальных CMS — да. А если в cppms все перечисленное требует целого дня, то это плохая cms, негодная.

НС>>Всех это кого? Директора санатория?

S>У нас это человек пять.

Кого вас?

НС>>На коммерческих проектах тему не подбирают колхозом, а заказывают у приличной фирмы, которая, в отличие от вас, в этом хорошо разбирается.

S>Это уже мы сами как нибудь решим.

Считаешь это доблестью?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.