Don
привет всем девелоперам )
Don
такая проблемка, не знаю как решить 1) Есть сервер, на нем крутится Nginx -php-fpm 2) Есть второй сервер, где крутится NGINX и проксирует первый сервер При проксировании статики (css,js,img) я в секции выставил expries 1d (например), после обновления страницы я получаю новые заголовки, что на 1 сутки ставится кэш (якобы), но при след обновлении опять 200 статус, а не 304 как должно быть ____ Почему я указал про 2 сервера и что один проксирует другой, так потому что если без проксирования сервера указывать, статику отдает прекрасно и кэшируется в браузере под 304 статусом... Подскажите кто знает, что нужно впилить в хэдеры локейшена или как вообще этот вопрос решить? Перенос файлов на проксируемый сервер не обсуждается
Anonymous
а клиент у тебя в запрос пишет if-modified-since?
Anonymous
да
Don
Don
нет, такие запросы спрашивает клиент
Don
я уже и локально попробовал кэш сделать и expries добавить
Don
все равно 200 ответ выдает мне
Don
то есть лишний раз оно выкачивает с сервера файл
Don
Don
замутил такое, но не работает один хрен
Anonymous
значит, что-то неправильно настроил. какой-нибудь cache-control добавь
Don
да добавлял я
Don
толку то )
Anonymous
бля, у тебя там cache-control: no-cache
Anonymous
ты часом не с ктрл+ф5 обновляешь?
Don
бля, я дебил, сорян, disable cache стояло в хроме
Don
Don
тут была галка )
Nikolay
🌚
Roman
Двойной проход по списку. Ошибся чуток.
А зачем двойной, если можно попробовать за раз?
Roman
Спорно. Почему?
А, ты через точку чейнишь вызовы?
Roman
Ага.
Спорно. Что будет если в цепочке у одного из результатов не будет метода?
Alex
Не понял
Roman
Ну, например ты ждешь строку, а там nil
Alex
ты когда цепочку строишь ты рассчитываешь что будет конкретный результат, разве нет?
Alex
Ну значит ты где то проверку не поставил или цепочку неправильно построил. Обычное программирование.
Roman
ты когда цепочку строишь ты рассчитываешь что будет конкретный результат, разве нет?
Да, но ты ждешь каких-то данных извне, а их может и не быть.
Alex
значит надо учитывать где этих данных нет и думать что делать
Alex
Ты можешь кастомные блоки обработчики навесить по желанию.
Alex
или выбрать только те где есть данные
Alex
вот так например vk.group.posts.title.reject(&:nil?)
Alex
это же от задачи уже зависит. Можешь написать конкретный кейс.
Nikolay
сложна
Дима
map(filter(map(...), ... ), ...)
R.pipe( R.map(fn1), R.reject(R.isEmpty), R.map(fn2), ...)
Дима
es5, кстати
Alex
Что за R кстати?
Дима
Бесточечная композиция функций - кайф)
Дима
ramdajs.com
Alex
> Бесточечная композиция функций just one question, why?
Дима
> Бесточечная композиция функций just one question, why?
Ну потому что в примере выше можно менять, удалять и добавлять любой из шагов не теряя выразительности и не упоминая данные вообще, это чисто описание пошагового процесса
Alex
В примере выше те же точки только больше символов
Alex
плюс, я могу написать например так
Alex
stuff .map .reject() .select() и также менять их местами и редактировать
Alex
только как правило это не нужно
Дима
В примере выше те же точки только больше символов
Ты не можешь вставить вместо одного из шагов какую-либо свою фугкцию или целый пайплайн
Alex
больше похоже на искуственное граничение?
Дима
Я для одного проекта делал точечную версию рамды, типа писать как у тебя, но это не то
Alex
в этой рамде ведь принципиально другой подход верно? только я его не понимаю.
Дима
больше похоже на искуственное граничение?
Это расширение возможностей) Через точку можно вызывать только заранее добавленные в либу вещи, а без точек — что угодно
Дима
Плюс мне не нужно упоминать данные вообще
Alex
А, тоже верно
Дима
http://fr.umio.us/why-ramda/
Alex
я как то не подумал об этом.
Alex
У меня просто не помню чтобы нужно было вызывать что то чего мне не хватало.
Alex
обычно просто кастомный обработчик писал.
Дима
Ну это и есть кастомный обработчик, только в одну срочку)
Дима
Сейчас найду пример)
Alex
Ну это и есть кастомный обработчик, только в одну срочку)
stuff.map(&:title).map { |e| "#{e.title} - is awesome!" }
Alex
у меня тоже в одну.
Alex
т.е я пытаюсь понять преимущества рамды в подходе, кроме того, конечно же что можно lazy назначить заранее (хотя в рубях недавно тоже стало можно)
Alex
(вроде)
Дима
У меня его нет, у меня на выходе функция, его принимающая
Alex
Да я понял что ты заранее все это назначаешь.
Alex
Для JS наверное и неплохая вещь.
Дима
Во, это один целиковый поток исполнения с кучей опций и обработок, читать снизу вверх https://github.com/zerobias/speak-r/blob/develop/app/core/splitter.js
Дима
Правда наверное это не лучший пример, я тут кажется был мощно упорот, потому что я вообще не понимаю происходящего))
Alex
> потому что я вообще не понимаю происходящего)) Перловые однострочники FTW
Alex
мне кажется как раз таки здесь однострочники вроде моего читабельнее.
Alex
например мне не нужно лезть к определению.
Дима
В смысле?)
Alex
ну всмысле ты сначала создаешь определение где пайпаешь обработчики
Дима
Ну, это оно и есть
Alex
а потом уже получившейся функции кормишь данные и она дает тебе результат
Дима
Да