41

Мы обновились (by Fornex)

Привет. Этот пост для  тех кто видал заглушку с 4 утра до 5. Мы удачно обновили инфраструктуру pikabu и как всегда, сайт стал работать шустрее на 7%. На тех больших нагрузках, которые выдерживает проект - это значительно. Эй, йоу, а тут есть админы? Может у вас есть вопросы?

Вы смотрите срез комментариев. Показать все
6
Автор поста оценил этот комментарий

@alexp89, вы здесь?)

раскрыть ветку (11)
5
Автор поста оценил этот комментарий

Только не "вы", а "ты" :)

раскрыть ветку (9)
7
Автор поста оценил этот комментарий
Вы случаем не в курсе, какие у сервера ограничения относительно отправки команд от одного пользователя?

С помощью JavaScript хочу собрать кое-какую статистику - есть список из 250+ пользователей, у каждого разное количество постов. Большое количество страниц придётся "открыть" JS-ом, а значит, отправить дофига запросов на сервер.

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


У админа как-то спрашивал - он не в курсе таких технических подробностей. Может вы ближе к теме.


P. S. "Вы" в этом сообщении по привычке написал, лень исправлять уже :DD

раскрыть ветку (8)
5
Автор поста оценил этот комментарий

В курсе конечно. И да, не позволит система некая это провернуть. Если это единичный случай и для благих целей, можете написать нам на support-собака-fornex.com и мы пообщаемся по этому вопросу ;)

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

Написал

0
Автор поста оценил этот комментарий
Wow. А как сохранить JS-ом картинку под своим названием(без вызова диалога сохранения windows) часом не в курсах?(даже если для каждой придётся кликать на кнопку)

Сколько не рыл инет - ничего не работает=\ В нескольких местах написали что прямой доступ к файлам вообще запрещён политикой безопасности JS, но ведь vk.opt как-то сохраняет под нормальными названиям...(а в его исходниках разобраться не вышло, всё упёрлось на нескольких функциях, добавляющих действие в очередь, а где концы - не понятно\ )

p.s. разве для твоего случая недостаточно было бы костыльного варианта с таймером и оставлением скрипта на ночь?)

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

На случай, если еще актуально или еще кто прочитает: можно создать элемент ссылку с атрибутом download, у которого значение - имя сохраняемого файла. Правда работает это только если загружаемый ресурс расположен на том же домене. Так что как vkopt работает для меня тоже загадка

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Правда работает это только если загружаемый ресурс расположен на том же домене

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

Но, эту задачу я(ну, как я — искал хоть что-то похожее в интернете и лепил всё, что хоть как-то работает) уже решил) (не смог найти эту тему, пришлось спамить кодом в какой-то пользовательской=\ )

Задача была не тупо сохранить имеющуюся картинку (что можно сделать десятью другими способами, и все советы капитанов в интернете рассчитывали только на такой случай), а считать url(которого у нас, к тому же, нет, вместо него адрес на локальный кэш мини-версии картинки), модифицировать его, и тогда уже скачивать. Так как на первое время лишь бы как работало, сделал тупо кнопку для хрома внизу страницы, и в после загрузки оной, сначала пролистывал мышкой все превьюшки(чтобы их кэш-версии поменялись на реальные картинки и в с ними появился url на сервере). Вместо этого можно было бы прихерачить и виртуальный MouseHover по каждому элементу, но уже влом было тогда запариваться. Понадобится ещё - попробую прикрутить.


(function()

{'use strict';

var buttonX = document.createElement (('v' == '\v') ? '<input name="buttonX">' : 'input');

buttonX.name = 'buttonX';

buttonX.type = 'button'; //

buttonX.id = 'myUniqueID';

buttonX.value = 'PRESS X TO WIN!';

buttonX.style.cssText = 'color: red; ...';

buttonX.text='PRESS X TO WIN';

buttonX.onclick = function()

{


var images = document.getElementsByTagName('img');

alert('Img count #'+images.length +' ');

for(var i = 0; i < images.length; i++)

{

if (images[i].src.indexOf('w200')>-1)

{

var a = document.createElement('a');

a.href = images[i].src.replace("w200", "w640").replace("h200", "h640");

a.download = 'image#' + i +'';

document.body.appendChild(a);

a.click();

document.body.removeChild(a);

}

}

};

document.body.appendChild(buttonX);

})();


Для лисы же склепал значительно позже, так что там вышло сделать уже без подтверждения скачивания, кнопок, и прочей фигни. Клик - и нужная картинка(которой на странице нет, и она даже не img, ибо 'background-image') по маске/регулярному выражению(при надобности) уже заливается к тебе на диск в оригинальном разрешении, игнорируя переброс на другую станицу по клике на картинке. Ctrl+click - и она открылась в новой вкладке(сначала для просмотра надо было, но потом допилил и свой hover). В общем, из важного здесь только MouseEvent(выделил жирным), остальное - это уже мои допилы под конкретный сайт. Но млять, даже учитывая что я изначально забил на поиск на русском языке, а вбивал только английские запросы, нужную мне информацию нашёл только спустя недели 4. Вроде в интернете и всё есть, а вот как надо что-то не самое популярное - так фиг так просто найдёшь=\


(function (){

$("span.boximg__image--hover").click(function(aEvent_Click){

aEvent_Click.preventDefault();

if (this==null)

alert('NULL');

else

{

var url = document.defaultView.getComputedStyle(this.parentNode.childNodes[3],null).getPropertyValue('background-image').slice(5,-2).replace("medium","big");

console.log(url);

if (aEvent_Click.ctrlKey==true)

{

window.open(url,'_blank');

}

else

{

var save = document.createElement('a');

save.href = url;

save.download = url.substr(url.lastIndexOf("/")+1); //url.split('/').pop();

var event = document.createEvent("MouseEvents");

event.initMouseEvent(

"click", true, false, window, 0, 0, 0, 0, 0,

false, false, false, false, 0, null

);

save.dispatchEvent(event);

save=null;

}

}

})


})()


Надеюсь, пригодится ещё какому некропостеру.

0
Автор поста оценил этот комментарий
Достаточно - по сути так и будет, если я успею-таки его [скрипт] написать. Но я же не знал, какая задержка нужна таймеру, и достаточно ли будет её.

С файлами (да и картинками тоже) в JS не работал - так что в вопросе не шарю совсем)

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Можно было поступить как учёный: провести анализ и высчитать среднее время, которое мог бы потратить пользователь на совершение таких же действий от балды:D.

Допустим, у этих 250 людей в среднем по 300(можно подправить) постов, за раз на страницу можно загрузить 40 штук(можно больше?). Итого, это как минимум 1875 переходов на новую страницу. Даже если бы между переходами была секундная задержка(а это у тебя должен быть крутой инет и комп) - на всё ушло бы полчаса. Если задать вполне лояльные 5 сек между переходами(как раз мб. хватит обработку нужных тебе действий) - это всё завершится за 3 часа. Если уж и так блочит - 640кб 10 секунд(по мне, так довольно много) должно быть достаточно для каждого! За ночь справится.

P.S. К тому же, разве у тебя под это дело нет знакомого считателя секунд?=) @L4rever, яви нам ответ!)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Мне лень читать вот это вот, что ты понаписал тут, какое там высчитывать.

5
Автор поста оценил этот комментарий

Конечно ;)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку