• Как лучше реализовать несколько запросов через CORS (XMLHTTPRequest)?

    AlexXYZ
    @AlexXYZ
    Дмитрий Щербаков: Гляньте документ: https://developer.mozilla.org/en-US/docs/Web/Secur...
    Там в первой таблице в первом разделе "Definition of an origin" как раз ваш случай с пометкой "failure". Так что скорее всего дело именно в смене протокола. Если я правильно понял, то смена протокола не обходится.
  • Как лучше реализовать несколько запросов через CORS (XMLHTTPRequest)?

    AlexXYZ
    @AlexXYZ
    Дмитрий Щербаков: А вы fiddler-ом не пользуетесь? Он то как-раз покажет, что реально пришло в браузер и будет ли там заголовок 'Access-Control-Allow-Origin'.
  • Как массово удалить символьные иконки (➨,+,★,♥ и т.д.) из имени файла?

    AlexXYZ
    @AlexXYZ
    ILoveYAnny: Ну так это решение на самый крайний случай, когда готовые уже не помогают. То регулярку нормальную не вбить, то какой-то файл позарез нужно переименовать по особенному, а в каталоге немеряно тыщ файлов. Главное разделить процесс создания новых имён от самого процесса переименования, когда откат будет стоить ну очень дорого даже для одного раза. Excel так удачно подвернулся под руку.
  • Почему не передаются данные методом POST?

    AlexXYZ
    @AlexXYZ
    not-deanon: Поставьте fiddler: www.telerik.com/fiddler . Эта штука поможет посмотреть, что передаётся и принимается.
  • Почему не передаются данные методом POST?

    AlexXYZ
    @AlexXYZ
    Если я правильно понял, то переменная передаётся в обоих случаях, но вы не всегда получаете ответ? Просто тот параметр true/false - означает false-синхронный/true-асинхронный. Если это не совсем ваш ответ, то можно уточнить, что и когда не прибывает на сервер или клиент?
  • Чем отличается REST от AJAX?

    AlexXYZ
    @AlexXYZ
    Станислав Макаров: Почему же не пригодиться? Конечно пригодится. Суть моего ответа - REST сам по себе не нужен, если его нечем спросить. А чем спрашивать - без разницы.
  • Чем отличается REST от AJAX?

    AlexXYZ
    @AlexXYZ
    Евгений Безымянников: Точно! Кстати, это ещё позволяет стирать ржавчину во время движения. Но что-то с трамваями не задалось, даже не смотря на то, что у них пантографы круглой формы (видимо думали, что провод будет постоянно съезжать в стороны, а вот и не хочет). Но мне кажется, что пантографы всё равно на трамваях пилятся проводом посередине. Кстати, почему?
  • Чем отличается REST от AJAX?

    AlexXYZ
    @AlexXYZ
    Станислав Макаров: Иногда (а по больше части, по моим ощущениям % на 90) бывает не понятно не потому что тема сложна, а потому что она слишком проста, чтобы быть понятой в правильном смысле. Ну как, например, наша планета круглая (почти). Или то, что земля вращается вокруг солнца, а не наоборот.

    Так же всё просто с ajax и rest. ajax - спрашивает, rest - отвечает. В этом их разница. Не нужно усложнять ответ, пока не спросят деталей. Ну и как ответ почему они одно целое - потому что по они сами по себе по отдельности не нужны. Они нужны только в паре.
  • Чем отличается REST от AJAX?

    AlexXYZ
    @AlexXYZ
    DTX: Ок. Стоял я как-то на жд платформе, ждал электричку и смотрел на контактный провод. Обратил внимание, что он висит не прямо по центру колеи, а зигзагами. Сначала подумал, что крепили пьяные электрики, но нет - регулярность зигзага была слишком аккуратной, чтобы быть случайной. На первом столбе ближе на полметра от центра колеи к столбу, на следующем дальше на полметра от центра колеи (полметра - условно, может несколько меньше). В общем - настоящая треугольная пила. Значит пилообразность контактного провода не случайна. Вопрос - почему?
    (Дополнение - на трамваях и троллейбусах этого нет, только на электричке)
  • Чем отличается REST от AJAX?

    AlexXYZ
    @AlexXYZ
    Алексей Уколов: Однажды у меня на собеседовании тоже разговор не очень клеился, но в итоге мне разрешили задать вопрос. Я задал им простую задачку на пространственное воображение, которую они не смогли решить. Видимо интервьюирующие не всегда понимают, что демонстрировать высокий уровень знаний и понимание в постановке задачи должен не только кандидат.
  • Как правильно обновлять ресурсы сайта?

    AlexXYZ
    @AlexXYZ
    exaller: Ну так в nginx можно указать какие вещи кэшировать, а какие - нет.
  • Перебор древовидного объекта?

    AlexXYZ
    @AlexXYZ
    staffID: А что вас смущает в рекурсии на JS? Если нет требований, то не стоит и заморачиваться. На практике я не сталкивался с большим уровнем вложенности - два, три, четыре уровня. Всё остальное как правило - тесты на пограничные состояния. Если вы хотите из принципа разложить, то не советую этому уделять много времени. Разложить в итоге получится, но глубину вложенности нужно всё равно будет чем-то компенсировать. Например, сделать стек переменных с курсором бегающим по стеку как по уровням вложенности. Ну и зачем изобретать такой стек, когда JS умеет это делать за вас без всяких заморочек с обычным рекурсивным кодом?

    P.S.
    Когда делаете обход важно понять где остановиться - останавливать "проваливание" вглубь рекурсии надо на элементарных значениях.
  • А как вы реализовываете кроссдоменную авторизацию?

    AlexXYZ
    @AlexXYZ
    gubin_niko: Пожалуйста ) Если вам понравился ответ, который вы нашли, может кините сюда ссылку, чтобы другие могли его тоже почитать? Вдруг кому-то ещё пригодится. )
  • Перебор древовидного объекта?

    AlexXYZ
    @AlexXYZ
    staffID

    Вот пример рекурсивной функции:

    function jsonPaths1(obj, str, arr) {
    	if (!str)
    		str = "";
    	if (!arr)
    		arr = [];
    
    	if (typeof obj == "object" && obj instanceof Array ){
    		arr.push(str+"=[]");
    	}else if(typeof obj == "object" && obj instanceof Object){
    		arr.push(str+"={}");
    	}else{
    		arr.push(str+"="+obj+"");
    		return arr; // Такое происходит, если в функцию передаётся только примитивное значение, а не объект. Например, jsonPaths1(5, "obj")
    	}
    
    	function temp(){
    		var propPath = null;
    		if (isNaN(Number(o)) == false) {
    			propPath = str + "[" + o + "]";  // Если индекс является числом, то не брать его в кавычки
    		} else {
    			propPath = str + "['" + o + "']"; // Если индекс - "слово", то заключить его в кавычки.
    		}
    		var oobj = obj[o];
    
    		// Если свойство - функция, то ничего не делать. Функции не нужны.
    		if (typeof oobj == "function") {
    			return;
    		}
    		// Если свойство является массивом, то нужно войти в массив и пройтись по его свойствам
    		if (typeof obj == "object" && (obj instanceof Array || obj instanceof Object)) {
    			// Если элемент массива является массивом или json-ом, то нужно исследовать его:
    			if (typeof oobj == "object" && oobj instanceof Array || typeof oobj == "object" && oobj instanceof Object) {
    				jsonPaths1(oobj, propPath, arr);
    				return;
    			}
    			switch( typeof oobj ){
    				case "string":
    						arr.push(propPath+"=\""+oobj.replace(/\"/gi, "\\\"").replace(/\n/gi,"\\n")+"\"");  // только строку обрамить кавычками
    					break;
    				case "boolean":
    				case "number":
    				default:
    					arr.push(propPath+"="+oobj+""); // остальное печатать без кавычек, в том числе и булевы значения.
    					break;
    			}
    			/*
    			if( isNaN(oobj)==true || typeof oobj=="string" && oobj.length==0 ){
    				arr.push(propPath+"=\""+oobj.replace(/\"/gi, "\\\"")+"\"");  // только строку обрамить кавычками
    			}else{
    				arr.push(propPath+"=\""+oobj+"\""); // остальное печатать без кавычек, в том числе и булевы значения.
    			}
    			*/
    			return;
    		}
    	}
    
    	var arr_keys = [];
    	if (typeof obj == "object" && obj instanceof Array ){
    		for ( var i=0; i<=obj.length-1; i++ ) {
    			arr_keys.push(i);
    		}
    	}else{
    		for ( var o in obj ) {
    			arr_keys.push(o);
    		}
    		arr_keys.sort();
    	}
    	for ( var i=0; i<=arr_keys.length-1; i++ ) {
    		var o = arr_keys[i];
    		temp();
    	}
    	return arr;
    }


    Вот пример результата:
    jsonPaths1( {a: {c: {d: "v"}}, c: {d: "v"}, d: "v", e:["f", "g", "h"]}, "obj" ).join("\n")

    696a93f0da594923a3610a42b8352d29.png
  • А как вы реализовываете кроссдоменную авторизацию?

    AlexXYZ
    @AlexXYZ
    Вообще есть тема SSO (Single Sing-On). OAuth - частный случай.
  • Как планируют устанавливать личность в соц сетях?

    AlexXYZ
    @AlexXYZ
    АртемЪ: "но человеком не признающим очевидное прослыть можно" - за отрицание того, что Земля вертится вокруг Солнца раньше сжигали на костре. Всё зависит от времени и наличия инквизиции. "Очевидно" - это для инквизиции, которая как гиены огненной боится конкурентов и подрыва своего и без того шаткого авторитета.

    beduin01: Не бегите впереди паровоза. Это проблема следователя доказывать, что написали именно вы. Для начала исключите возможность свидетелей, которые бы могли подтвердить, что вы занимаетесь такими "публикациями". У нас, в России, можно получить срок на основе свидетельских показаний. Не обсуждайте для начала свои публикации с друзьями и коллегами, хотя свою позицию в разговорах с ними (пока) можете озвучивать. Поэтому, если не будет таких свидетелей, то всё технически усложняется на порядки.
    Если вас несколько пугают резонансные дела, то в них много чего не сообщается, чтобы создать "интригу", что якобы за пост посадили. Скорее всего довести до суда конкретное дело было не просто, но наши СМИ любят делать из мухи слона. Вот и складывается впечатление, что посадить раз плюнуть.
  • Как узнать, что в проекте(файлах и папках) были изменения?

    AlexXYZ
    @AlexXYZ
    Правильное направление, но только нужно быть готовым к тому, что FileSystemWatcher очень нетривиально мониторит и выдаёт события. Например, если вы сохраняете картинку из браузера, то получите два события - первое - создание файла, второе - изменение файла (наполнение содержимым). Программы MS Office вообще ведут себя неожиданно - сначала сохраняют изменения во временный файл, потому удаляют старый файл и переименовывают временный на старое имя. И это только небольшая часть странностей. Но другого метода нет.
  • C#, требуется отправить сырой HTTP(S) запрос?

    AlexXYZ
    @AlexXYZ Автор вопроса
    Петр: Теперь стал более лучше понимать суть HTTP-запросов. )
  • C#, требуется отправить сырой HTTP(S) запрос?

    AlexXYZ
    @AlexXYZ Автор вопроса
    Петр: Не прокатывало, пока не убрал из первой строки после GET имя сервера, которое уже указано в заголовке Host: . Да и заголовок "Content-Length" надо было добавить. Может другие сервера к этому спокойно отнесуться, но ElasticSearch оказался серьёзным малым!