Задать вопрос
  • Как выбрать кратность из перечисленных кратностей для заданной суммы?

    lastuniverse
    @lastuniverse
    Динамическое программирование: выдача сдачи с использованием наименьшего количества монет.
    тык

    Только немного изменить критерий соответствия, чтобы искало не конкретное число а диапазон от n и до n+k, где n это число введенное пользователем а k номинал наименьшей кратности.
  • Как перенаправить запрос/аплоад картинки на другое приложение локально?

    lastuniverse
    @lastuniverse
    Роман: Хотелось бы услышать для чего Вам такие сложности? Это позволило бы ограничить варианты решений. А так, могу предложить лишь общую концепцию. Если Вы хотите вынести код обработки изображения (не записи его на диск, а что-то более тяжелое, например обрезка, изменение размеров и тому подобное) то да, неплохо бы вынести эти операции в отдельный процесс. Один из способов, тот что предложили Вы. Но я бы сделал несколько иначе Worker Threads | Node.js v11.6.0 Documentation, если же Вы в будущем планируете производить эти операции вообще на другой машине, то остается только предложенный Вами вариант или Cluster | Node.js v11.6.0 Documentation

    hckn: Именно так. Происходит изменение размеров (минимум 5 разрешений), оптимизация, конвертация в webp, добавление эффектов. В идеале в будущем вообще вынесу на отдельный сервер, но сначала хочу сделать локально в отдельных приложениях. Помимо того что распределение нагрузки, еще есть зависимости в которых не уверен, поэтому надежней их вынести отдельно в приложение, не касающееся бизнес логики. У меня есть вопрос по предложенному мной варианту. Я честно говоря так не делал никогда, знаю только в теории. Как именно мне передать сами данные (картинку или видео) из первичного запроса? Мне же получается в первом приложении нужно обработать данные из тела запроса (типо, названия картинки и другие), отдать картинку/видео на конвертацию второму приложению, дождаться от него результата операции с ответом (с метаданными, типа размеров изображения, вибранта цвета и тд), сохранить все в бд и вернуть ответ клиенту в рамках одного запроса (т.е. никаких отложенных очередей и тд). Как передать этот буфер правильно?

    Роман: Абсолютно без разницы, хоть в base64, самое главное обеспечить передачу данных без внесения ошибок в данные, а далее, в зависимости от выбранного способа передачи обеспечить преобразование переданного массива данных в формат, с которым умеет работать ваше второе приложение. Для того чтобы избежать лишних нагрузок на преобразование форматов, в первом приложении сделал бы прямую трансляцию поступающих данных об изображении на второй сервис, а всю логику по обработке и формированию формализованного пакета данных реализовал бы в нем. Если бы решал такую задачу для себя, сделал бы отправку данных сразу на второе приложение, а в первом повесил через вебсокеты связь со вторым по которой передавал результаты. Это немного нарушает линейность последовательности обработки и усложняет структуру приложения, но также и снижает нагрузку на основной сервис
  • Как сделать чтобы JS "отрабатывался" в нескольких блоках сайта?

    lastuniverse
    @lastuniverse
    Darya Shvakh, доберусь до дома скину вариант основанный на предложенном решении этого вопроса Как ускорить (скликать) таймер обратного отсчета на сайте?

    PS: Но Вы можете попробовать сделать это сами) До компа доберусь не скоро.
  • Как сделать чтобы JS "отрабатывался" в нескольких блоках сайта?

    lastuniverse
    @lastuniverse
    Черезвычайно усложненная реализация простой по сути вещи.
  • Как загрузить файл на сервер node js без перехода на новую страницу?

    lastuniverse
    @lastuniverse
    jQuery AJAX загрузка файлов на сервер

    Вам нужны шаги 1 и 2.

    html
    <input type="file" multiple="multiple" accept=".txt,image/*">
    <a href="#" class="upload_files button">Загрузить файлы</a>
    <div class="ajax-reply"></div>

    js (jQuery)
    var files; // переменная. будет содержать данные файлов
    
    // заполняем переменную данными, при изменении значения поля file 
    $('input[type=file]').on('change', function(){
    	files = this.files;
    });
    
    // обработка и отправка AJAX запроса при клике на кнопку upload_files
    $('.upload_files').on( 'click', function( event ){
    
    	event.stopPropagation(); // остановка всех текущих JS событий
    	event.preventDefault();  // остановка дефолтного события для текущего элемента - клик для <a> тега
    
    	// ничего не делаем если files пустой
    	if( typeof files == 'undefined' ) return;
    
    	// создадим объект данных формы
    	var data = new FormData();
    
    	// заполняем объект данных файлами в подходящем для отправки формате
    	$.each( files, function( key, value ){
    		data.append( key, value );
    	});
    
    	// добавим переменную для идентификации запроса
    	data.append( 'my_file_upload', 1 );
    
    	// AJAX запрос
    	$.ajax({
    		url         : '/upload',
    		type        : 'POST', // важно!
    		data        : data,
    		cache       : false,
    		dataType    : 'json',
    		// отключаем обработку передаваемых данных, пусть передаются как есть
    		processData : false,
    		// отключаем установку заголовка типа запроса. Так jQuery скажет серверу что это строковой запрос
    		contentType : false, 
    		// функция успешного ответа сервера
    		success     : function( respond, status, jqXHR ){
    
    			// ОК - файлы загружены
    			if( typeof respond.error === 'undefined' ){
    				// выведем пути загруженных файлов в блок '.ajax-reply'
    				var files_path = respond.files;
    				var html = '';
    				$.each( files_path, function( key, val ){
    					 html += val +'<br>';
    				} )
    
    				$('.ajax-reply').html( html );
    			}
    			// ошибка
    			else {
    				console.log('ОШИБКА: ' + respond.error );
    			}
    		},
    		// функция ошибки ответа сервера
    		error: function( jqXHR, status, errorThrown ){
    			console.log( 'ОШИБКА AJAX запроса: ' + status, jqXHR );
    		}
    
    	});
    
    });

  • Что здесь использовалось для оркестрации скроллинга?

    lastuniverse
    @lastuniverse
    по моему тут используют JS и МОЗГ, но сам я не смотрел, лень и .... сейчас нечем))))

    PS: праздники на носу, а их встречать лучше без головы.
  • Как найти минимальную последовательность из n элементов, сумма которых была бы >= x, даже если вычесть из последовательности любые k элементов?

    lastuniverse
    @lastuniverse
    в этом посте человек спрашивает ровно о том же, я обещался помочь, но все никак не могу найти времени, но там в моих комментариях есть ссылка на алгоритм, небольшая переделка которого позволит решить Вашу задачу
  • Как компании обеспечивают безопасность денег своих пользователей?

    lastuniverse
    @lastuniverse
    JackShcherbakov, я бы порекомендовал более подробно расписать вопрос, чтобы была понятна суть, заменить в заголовке слово "где" на фразу "как обеспечивают безопасность" ну и т.д.
  • Как компании обеспечивают безопасность денег своих пользователей?

    lastuniverse
    @lastuniverse
    На самом деле вопрос вполне понятный. А именно, как обеспечить безопасность вкладов в случае если например хостинг на котором висит сайт взломали и получили доступ ко всем скриптам, сертификатам, токенам и прочему, позволяющему управлять счетами. Честно признаюсь, я в этом вопросе полный профан, могу лишь предположить, что вся информация позволяющаяя управлять счетами находится где угодно, но только не на хостинге сайта. Для меня до сих пор открытым остается вопрос, как безопасно передается информация о совершенных операциях через интерфейс сайта на сервер(сервис) отвечающий за учет и проведение финансовых операций.
  • Как правильно передавать файлы с сервера на express через get запросы jquery(ajax)?

    lastuniverse
    @lastuniverse
    В браузер вам пришел pdf файл в виде бинарных данных. Далее его надо отобразить, но сам по себе браузер может не уметь отображать pdf. Ищите pdf viewer для браузера, подключайте его на страницу и загружайте ваши pdf средствами выбранного вами viewer-а.

    Ссылки по теме:
    1. Вот вопрос о том как вставить pdf на страницу
    2. Так же имеется вот эта библиотека для встраивания ...
    3. А это пример ее работы
  • Как выбрать кратность из перечисленных кратностей для заданной суммы?

    lastuniverse
    @lastuniverse
    dimonchik2013, )))

    NamnaR, сегодня уже не помогу, завтра тоже, занят буду, а после завтра гляну, если никто не ответит попробую помочь
  • Как выбрать кратность из перечисленных кратностей для заданной суммы?

    lastuniverse
    @lastuniverse
    NamnaR, правильно я понимаю условие Вашей задачи?

    1. есть произвольные кратности, (например 30, 70, 90, 100 но могут быть и другие)
    2. есть некоторое число, которое необходимо собрать из этих кратностей, используя следующие ограничения:
    - если число нельзя собрать из кратностей, то необходимо найти такую сумму кратностей, которая в превышает введенное число, но при этом является наиболее близким к нему
    - если есть несколько вариантов как собрать из кратностей нужное число, то выбирается вариант, содержащий наименьшее число кратностей (или наименьшие номиналы кратностей или еще какое то другое условие)

    Если я что то не допонял, распишите удовлетворяющие Вас условия, наподобие того как это сделал я. Только пожалуйста без таких вот объяснений (Дано коробка-30шт - 2упаковки, коробка-70 шт- 3упаковки, коробка 90-1 упаковка, коробка 100- 8 упаковок) я 5 минут думал что бы это могло обозначать, но так и не придумал:)
  • Как выбрать кратность из перечисленных кратностей для заданной суммы?

    lastuniverse
    @lastuniverse
    dimonchik2013, почему не сумма? Под "суммой" видимо понимается сумма к оплате, а кратности - номиналы монет, которыми надо набрать эту сумму. Просто алгоритмическая задача по выдаче сдачи из кофейного автомата кем то немного бездумно переделана.

    Конечно чистота формулировок не соблюдена, то есть тут вместо слова сумма уместней было бы слово сдача, но задача вполне понятная.

    PS: а если вдуматься, то термин "сумма" именно сумму и подразумевает:
    - если пользователь ввел 60, то надо набрать СУММУ кратностей равную 60 (2 монеты по 30)
    - если пользователь ввел 45, то надо набрать СУММУ кратностей равную 70 (1 монеты по 70, потому что в приоритет ставится дать меньшее число монет)
    - если пользователь ввел 155, то надо набрать СУММУ кратностей равную 160 (4 монеты 30 70 30 30, а вот тут не понятно какими критериями надо руководствоваться, если числом монет то надо дать 2 монеты 90 и 70)

    PPS: NamnaR, пришел к выводу что задача не полная, так как не оговаривает критерии отбора монет (наименьшее количество, а может наименьший номинал или еще какие-то другие, без этого неясно почему когда ввод 45 то сумма должна быть 70 а не 60)
  • Как организовать комнаты в socket.io?

    lastuniverse
    @lastuniverse
    Abcdefgk, я неоднократно делал чаты и знаю всю подноготную. Тут проблема совсем в другом, а именно в том, что автор понимает термин "комната" как то совсем по своему, а реально "комната" это не что иное как id по которому заносятся и выбираются записи из бд (если чат с сохранением истории) или просто зафиксированный в области видимости соединения массив объектов(комнат) (в случае если чат без сохранения истории) и ... и все)
  • Как организовать комнаты в socket.io?

    lastuniverse
    @lastuniverse
    Abcdefgk, а если честно, то автор наверное хочеть организовать чтото типа окна системных сообщений по типу того как это сделано в клиентах для irc сетей. А нам отводит роль предсказателей и гадалок на кофейной гуще.
  • Как организовать комнаты в socket.io?

    lastuniverse
    @lastuniverse
    xExplosive, не могли бы вы подробней описать предназначение таких комнат?
  • Как превратить двухмерный массив содержай цвета в качестве элементов в полноценное изображение?

    lastuniverse
    @lastuniverse
    Adamos, Почему бы и нет, в чемто формат сложнее в чемто проще. Я кинул описание текстового формата лишь потому что реализовать запись в текстовые форматы проще для понимания чем запись в бинарные форматы.