Anonymous
В REST контроллере, что являет View? То есть в обычном контроллере View это html или jsp страница, а в REST? Утверждения верны? 1. Controller в REST- это обычный контроллер 2. Model в REST - это JSON и объекты базы данных 3. View в REST - это JSON который мы отправляем в response?
Oleksii
И heap ОЗУ,и стек ОЗУ...Просто почитай про страничную организацию памяти.
Это понятно, что все это ОЗУ. Просто (не только в программировании) говорят, что данные хранятся в памяти, выделяется ОЗУ(если не хватает видеопамяти), игры/программы потребляют именно кучу, а не стек
Oleksii
Я это хотел уточнить
Andrii
Это понятно, что все это ОЗУ. Просто (не только в программировании) говорят, что данные хранятся в памяти, выделяется ОЗУ(если не хватает видеопамяти), игры/программы потребляют именно кучу, а не стек
Видеопамять это отдельно на чипе видеокарты. Да, она через PCIe мапится на физическую, но ты проседаешь по скорости. Программы просто пишут таким образом, что они преимущественно потребляют кучу, а не стек. Но это ап ту ю. Стек просто зарезервированное место, из которого по одной страничке подкладывается память по мере надобности. Как только зарезервированное место закончилось, программа падает. Но сколько надо резервировать, ты можешь управлять. Количество зарезервированного места это больше баланс между потребностями приложения и ловлей бесконечной рекурсии. Например, допустим ты вначале зарезервировал для стека 1T виртуальной, а всего физической у тебя 128G. Если у тебя будет бесконечная рекурсия, то она отожрёт весь стек достаточно быстро. Ну, пока физической памяти хватает, то вроде бы всё ОК. Но как только она закончится, система уйдёт в swap (если он есть), либо какое-то из приложений получит отказ на выделение памяти, что обычно приводит к крешу.
Andrii
Поэтому методом большого пальца примерно пришли к выводу, что обычно 8M приложениям хватает, а будет бесконечная рекурсия, ну 8M это вообще понты. Но... если твоя программа использует стек активно, то... увеличивай :)
Andrii
$ cat stack.c #include <stdio.h> #include <string.h> #define DELTA 4096 void infinite_recursion(size_t sz, void * prev) { static const float factor = 1.0f / 1024.0f / 1024.0f; printf("Stack now approx %.2f Mb.\n", factor * sz); /* Dummy operations with stack to avoid optimization */ char var[DELTA]; memset(var, 0xAA, DELTA); if (prev != NULL) { memcpy(prev, var, DELTA / 2); } /* Do it! */ infinite_recursion(sz + DELTA, var); } int main() { infinite_recursion(0, NULL); return 0; } $ make stack cc stack.c -o stack $ ./stack | tail -5 Stack now approx 7.37 Mb. Stack now approx 7.37 Mb. Stack now approx 7.38 Mb. Stack now approx 7.38 Mb. Вот простой эксперимент, закрешились около восьми
Andrii
Опять же, попробуем поменять значение стека: $ git diff --- a/stack.c +++ b/stack.c @@ -1,4 +1,6 @@ +#include <sys/resource.h> #include <stdio.h> +#include <stdlib.h> #include <string.h> #define DELTA 4096 @@ -19,8 +21,21 @@ infinite_recursion(sz + DELTA, var); } -int main() +int main(int argc, char * argv[]) { + const char * sz_str = argc <= 1 ? "0" : argv[1]; + int sz = atoi(sz_str); + if (sz > 0) { + static const size_t one_mb = 1024 * 1024; + const size_t stack_sz = sz * one_mb; + struct rlimit rlimit = { stack_sz, stack_sz }; + int status = setrlimit(RLIMIT_STACK, &rlimit); + if (status != 0) { + fprintf(stderr, "Cannot change stack size, status is %d.\n", status); + return 1; + } + } + infinite_recursion(0, NULL); return 0; } $ make stack cc stack.c -o stack $ ./stack | tail -3 Stack now approx 7.38 Mb. Stack now approx 7.38 Mb. $ ./stack 16 | tail -3 Stack now approx 15.77 Mb. Stack now approx 15.77 Mb. $ ./stack 1024 | tail -3 Stack now approx 1012.06 Mb. Stack now approx 1012.06 Mb. $ time ./stack 10240 | tail -3 Stack now approx 10121.26 Mb. Stack now approx 10121.26 Mb. real 0m2,921s user 0m0,683s sys 0m2,243s
Andrii
Всё прекрасно работает, выделили 10G стека, закрешились за две секунды где-то... почти за три
Oleksii
Про видеопамять я говорил в контексте того, что когда ее не хватает, часть ОЗУ используется вместо видеопамяти, хоть скорость ОЗУ и меньше
Andrii
Про видеопамять я говорил в контексте того, что когда ее не хватает, часть ОЗУ используется вместо видеопамяти, хоть скорость ОЗУ и меньше
Нет, не используется, неможливо. Обычно просто урезают на уровне алгоритма, текстуры зрузят поменьше, ещё какая ерунда... У тебя просто передача данных на видяху из ОЗУ сожрёт все ресурсы.
Andrii
Если у тебя какой-нить APU то да, там память общая, можно играться. Но если у тебя дискретка, то у неё своя память на борту.
Pavel
Салют всем. Совмещение js и jquery кода плохая идея или не критически? к примеру, синтаксис самой функции написано на js, а внутри код jq, к примеру обращение к определенному селектору?
Andrii
может буду выглядеть как дурачок, но переспрошу. может не правильно высказался https://forum.ixbt.com/topic.cgi?id=10:61459
А же не говорю, что нельзя. Я говорю, что сожрёт все ресурсы. В данном конкретном случае судя по всему просто не было сцен, где бы использовались текстуры на 1.8G, я бы так скорее сказал причину. Как это число определяется? Ну прогонят разрабы игру, посмотрят, что максимум было 1.2, c запасом скажут 1.8, чтобы наверняка :) На самом деле идея проста, GPU не может нарисовать фрейм, если текстуры нет в памяти видеокарты. Поэтому когда мы определяем, что текстуры нет в памяти, то просто останавливаем игру, копируем память из CPU в GPU и продолжаем. При этом может освободить неиспользуемое что-то в GPU.
Никита
Тут есть гении математики?
Никита
Ай нид хелп.
Никита
Можешь натолкнуть на оптимизированное решение?
Andrii
У тебя на чипе GPU есть ассемблерная команда, получить цвет по текстуре. Ты передаешь туда два (если и три) float и она сама из памяти вычитывает и интерполирует цвет. Она работает только с видеопамятью.
Erik
Можешь натолкнуть на оптимизированное решение?
Зайди в дискасс, там куча решений
m700
Gravity
ЭТО ДА
Igor
Можешь натолкнуть на оптимизированное решение?
ты второй день чтоли решаешь задачу? Перебираешь сперва первое число, оцениваешь второе число через сумму и первое число.
Никита
Там 1000000 дают и больше.
Igor
Тайминги большие.
у тебя перебор в лоб. второе число нужно оценить сверху и снизу через сумму и первое число.
Igor
У тебя есть сумма чисел и есть одно из слагаемых ... нужно придумать неравенство которое скажет каким самым маленьким может быть второе число и каким самым большим ... допустим сумма 500500 перво число 500 ... есть ли смысл перебирать 1,2 или с какого числа нужно начать и точно так же для максимума ... до какого числа перебирать. При хорошей оценке у тебя там останется всего 2-3 числа которые нужно проверить для каждого i
Igor
пусть i, j искомые числа s - сумма чисел от 1 до n тогда уравнение такое s - i - j = i * j ... s и i известны нужно придумать неравенство для j
Igor
j может быть от 1 до n ... пускай j с обеих сторон это разные j но мы хотим чтобы выполнялось . j = (s-i-j) / i вот если вместо j справа подставить 1 или n мы получим минимум и максимум чему может быть равно j слева
Maksim Pozharskiy
кажется мем 5летней давности)
m700
не смешной мем
Maksim Pozharskiy
не смешной мем
согласен, слишком много джавистов в меме
Maksim Pozharskiy
-5 к социальному рейтингу
Oleg
-5 к социальному рейтингу
Какой-нибудь Chatkeeper или Axenia в помощь
m700
Так
Coldavior
Жесть вы задушили молодого
Maksim Pozharskiy
Robert
А чё рубист такой модный, я не понял?
Robert
Блин, и удалили как раз.
m700
да в мусор его, разжигающий мем
Robert
Я б того рубиста... На аватарку ставил, а не то, что вы подумали.
Igor
Продолжим ;) в конечном итоге выйдет что то типа def remov_nb(n): res = [] s = n * (n+1) // 2 for i in range(1, n+1): for j in range((s-i-n) // i, min((s-i) // i + 1, n+1)): if s-i-j == i*j: res.append((i,j)) return res P.S. тесты кстати на КВ как всегда говно в этом решении крайние случаи обрабатываются не верно, но оно заходит ;)
Anonymous
Всем привет ! Никто не сталкивался проблемой : browsersync не открывает браузер ? пробовал методы из инета - безрезультатно
21.baxramov
Откликнулся на 400+ вакансии, но 0 приглашение. Кто может помочь с улучшением резюме
Andrii
Откликнулся на 400+ вакансии, но 0 приглашение. Кто может помочь с улучшением резюме
Одна вакансия ничего не значит, не факт, что его вообще прочитали
finegorko
покажи
Andrii
Не 1 а больше 400
Ну тогда вакансий, потому что непонятно. Но в целом, как по мне, ситуация в айти обратная — тебе должны писать
21.baxramov
21.baxramov
Вот резюме
Лирик
Вот резюме
Пробел перед запятой в «О себе» Лично я на такие штуки очень много внимания обращаю Хотя и понимаю, что это не так чтобы важно
Лирик
Мне кажется, что во многом может мешать то, что тебе 17 лет Может быть просто убрать это из резюме?
Andrii
Норм, только (1) ссылки некликабельны, как-то неудобно копировать и вставлять (2) информация как-то сильна раскидана по всему резюме. «Эта была подработка» Зачем это писать? «Занимался созданием приложений на заказ, разрабатывал новый функционал и исправлял баги в уже существующих приложениях.» Блин, а делал то ты что? Это каждый может написать я вот тоже на работе разрабатываю новый функционал и фишку баги. github мне скорее не понравился, коммитов мало, сразу большой кусок кода добавляется, ну то такое.. Непонятно, зачем всякие .idea файлы в репе, ну может я не Java разраб. Я бы просто подсократил бы до одной страницы, вначале вынес бы Образование, Ключевые навыки Сертификаты бы тоже написал бы одной строкой, и не акцентировал бы внимание на курсы, рассказал бы больше о проекте где работал
Andrii
А не знаю, как в РФ, но на Украине лучше CV на английском языке
Шурок
Вот резюме
Резюме c HH.ru - я хз Но почему-то думаю такое даже не смотрят Указание возраста Не кликабельные ссылки Упоротное “где хочу работать” Фиг пойми какой опыт работы Криво оформленный опыт работы Курсы без ссылок Школу можешь нафиг убрать Ну и не на английском с английским Б2
Виталик Голоенко
Вам реал делать нечего:D
Igor
Вам реал делать нечего:D
Ладно уговорил ;) больше не буду ;)
m700
имхо почему нет - 1 возраст 2. судя по образованию вайтишник . А так резюме в целом намного лучше чем многие видел в разборах резюме
Vyacheslav
имхо почему нет - 1 возраст 2. судя по образованию вайтишник . А так резюме в целом намного лучше чем многие видел в разборах резюме
Какой вайтишник в 17?) Скорее возраст всё-таки решает тут, потому что возни много с оформлением а дефицита в джунах вроде не наступило ещё
m700
Ну... Не знаю насчёт возни, как по мне при прочих равных лучше 17 чем 25
почему? во первых в 17 гормоны играют так что на плато не вышли, во вторых опыта общения от слова нихрена
Vyacheslav
Ну... Не знаю насчёт возни, как по мне при прочих равных лучше 17 чем 25
Ну тут просто все В России очень жёстко с "детским трудом" и в 17 он все ещё несовершеннолетний Так что там либо схемы мутить, но если контора попадётся будет жопа
Andrii
Ну тут просто все В России очень жёстко с "детским трудом" и в 17 он все ещё несовершеннолетний Так что там либо схемы мутить, но если контора попадётся будет жопа
Да, тогда у вас прёт совок... В 17 уже можно воевать, а работать ни-ни... Як зазначено в Цивільному кодексі України - повна цивільна дієздатність може бути надана фізичній особі, яка досягла шістнадцяти років і яка бажає займатися підприємницькою діяльністю.
m700
до 18 устроться реально сложно, не зряже 50% сидящих по 228, по работать решили