Перейти к публикации

arialttf

User
  • Сообщений

    850
  • Зарегистрирован

  • Посещение

  • Время онлайн

    6д 5ч 16м 52с

О arialttf

  • Звание
    Wicked Sick

Profile Information

  • Gender
    Male
  1. arialttf

    Divinity: Original Sin

    ты можешь просто пойти и убить грифа. Тут нет квестов, которые запорят тебе игру, можешь вообще пойти и всех убить, т.ч. не парься Какой лут нужен чтобы квест сдать? У меня 1 апельсин есть. Может их несколько надо? Там нужен Unusually large orange (хз как по русски). Если мейн персонаж красный принц и ты согласился схавать фрукт перед тем как дунуть, то он будет испорчен и нада будет убивать Гриффа.
  2. arialttf

    Программирование, т. 7

    а куда тогда ехать за бабками? В Киев. В Европу можно ехать жить, но, как правило, не на заработки. Мифические зарплаты в много тысяч ничего не стоят, важно то (ну хотя у всех свои ценности) сколько остается после трат на жизнь в том или ином месте. В СНГ на зп программиста можно жить выше среднего, в остальном мире не особо. Тот же Сингапур по бабкам выходит лучше Европы, по крайней мере из тех вакансий что мне предлагали и уровня затрат. Возможно можно и больше иметь где-то в долине, но в целом Киев не самый худший вариант для денег
  3. arialttf

    Программирование, т. 7

    даже на gcc последней версии, гдето в оффдоках говорят НЕ использовать strlen printf sprintf (стрлен всегда был медленный Та ну, дефолтная имплементация гораздо лучше чем этот вариант с 4 ифами. Я думаю получше имплементировать стрлен можно, заюзать AVX какой-нить, но уж точно не 4 ифа. Это офк касается обычных архитектур. вот такая оптимизация на низком уровне На самом деле это довольно плохая идея делать конкретно такие оптимизации на современных архитектурах, процессор отлично запрефетчит линейный доступ к данным (а может еще и компиляетор векторизует, шансы без брейка на это гораздо выше), лишний джамп не сыграет роли. интереса ради сравнил эту имплементацию с int Strlen2(const char *zSrc) { register const char *zIn = zSrc; for (; *zIn; ++zIn); return (int)(zIn - zSrc); } И вариант с 4 ифами у меня всегда медленнее на ~5-7% (х86 с -О2 в релизной сборке) на строке с 200 символами. Библиотечная функция быстрее в 300-500(!) раз.
  4. arialttf

    Программирование, т. 7

    ​в x86 идет 4 байта на "блок" и чтоб "быстро" пролистывать идет 4 раза в одном "блоке" кода(в асме это блок с прыжком в начало и на каждую инструкцию проц по 1 такту тратить, если убрать 4 повтора оставить 1, то сам jump будет съедать больше времени чем исполение одной инструкции плюс время на переход в "прошлый блок памяти" где мы листаем 2 3 4 байт после первого)​но в x86_64 другой размер блоков как и в любой друго архитектуре, также как и линейность памяти-перебирать адрес конца начала это плохо он ищет конец памяти строки по попытке выхода из ее адреса(я думаю всем понятно что это прямой путь в утечки памяти и ошибки памяти, не все компиляторы даже для ПК будут выдавать нулевые значения по выходу из памяти) Че за бред, си строки должны быть нуль терминированными (по крайней мере для дефолтного стрлена). Ну и это логично, если тебе надо найти конец чего-то и у тебя нет размера, то тебе нада знать признак конца. В цикле он разименовывает указатель и сравнивает значение с нулем (можно переписать if(*zIn == '\0') break;), че и куда там "выходит за адрес"? Выйдет он за пределы только если у тебя строка не нуль терминированая, ну тут нарушается контракт метода. Вполне себе обычная имплементация. Оптимизация с ифами скорее всего ниче не даст на современных компиляторах, но если это ембеддед там часто юзаются свои компиляторы, так что может дать результат. Ну и дефолтный стрлен почти всегда будет быстрее (например вот http://www.stdlib.net/~colmmacc/strlen.c.html),и никаких слипов, естественно, там нет. В ембеддеде стдлиб может офк отличаться, но там своя атмосфера.
  5. arialttf

    Программирование, т. 7

    Оставаться значит оставаться. Что делать дальше с деньгами и где жить это личное дело каждого. Мое мнение - Сингапур не тот город где бы я хотел жить всю жизнь, но поработать тут пару лет вполне нормально. Ну за те деньги что я назвал ты берешь нормальный кондоминимум с охраной, бассейном, тенисным кортом etc. Так-то можно снимать комнату у индусов в hdb за 600 американских. В больших городах европы сравнимые по характеристике квартиры стоят может и дешевле, но не на столько, сколько уйдет на налоги.
  6. arialttf

    Программирование, т. 7

    В том что Сингапур гавно ебаное где менеджер = бог прогер = гавно/раб Каким образом 4k+ в одном из самых дорогих городах мира способно выиграть у любого предложения из Канады/Германии/Нидерландов Еще на фронт енд aka отсутсвие роста в том числе и потому что не у кого учится в ноунейм стартап aka юзлес для резюме в китайском Сингапуре aka не лучший варик для изучения языка Сингапур по деньгам вполне себе выигрывает у многих предложений Европы :) По деньгам за проживание выходит может немного и дороже, но это компенсируют налоги (ну там правда не 500 баксов в год как писали, но все равно налоги значительно ниже европейских/американских). Да и на самом деле тут из дорогого только квартира, в месяц кондо стоит 1300-1500 usd, но в больших европейских городах не сильно и дешевле. Ну и еще дорого иметь машину :) Важно как бы сколько денег остается после всех трат, а не мифическая сумма в год. Правда, не знаю что там во фронтенте, но на 4к сгд я думаю можно найти ток чувака, который просто хочет съебать куда-нить за границу и пофиг на бабло, т.к он дома сможет откладывать больше. Но, в среднем по больнице, в СГ должно оставаться сравнимое с европой/америкой количество денег, учитывая среднюю зп по вакансиям.
  7. arialttf

    Программирование, т. 7

    ну, по большому счету, тут два варианта: 1) изменить сигнатуру функции на void store_args( int ) {} , компилятор не ругается на безымянные параметры. 2) избавиться от рекурсии, например воспользовавшись свойствами initializer_list (в этом случае void store_args( int arg_idx ) {} не нужен вовсе): template<typename... Args> void store_args(int arg_idx, Args... args) { (void)std::initializer_list<int>{ 0, (store_arg(arg_idx++, args), 0)... }; }
  8. arialttf

    Программирование, т. 7

    От страны к стране требования варируются. Но, в целом, если есть оффер с подходящим уровнем заработной платы, то "похожие" специальности тоже нормально работают. У меня было две релокации (Австрия и Сингапур), в обоих случаях были русскоязычные коллеги с не-айти образованием (в Австрии радиомастер, в Сингапуре физик), у них не было особых трудностей, насколько мне известно. Если совсем нет диплома (либо он гуманитарный), тогда процедура немного сложнее - нужны пруфы опыта (5+ лет профильных), ну и компания должна подсуетиться (никого не найти на эту вакансию с высшим образованием). Но, в принципе тоже всё решаемо. Ну и, насколько мне известно, канают дипломы любых государственных университетов, даже если там учат очень плохо :) PHD в престижном ВУЗе, скорее всего, поможет найти хорошую работу (особенно если она сильно связана с математикой/алгоритмами), но это далеко не маст хев.
  9. arialttf

    Программирование, т. 7

    Без диплома можно эмигрировать (в том числе и блу кард можно получить), но намного больше гемора. Соответственно нужно быть более ценным и желанным для компании, чем обычный чувак с дипломом :) А с корочкой, поработав пару лет, достаточно легко уехать куда-то, если есть желание.
  10. arialttf

    Программирование, т. 7

    Проблема длинных методов в том что их тяжело читать и тяжело тестировать.Я не сильно понимаю, почему бы тебе не сделать лямбды отдельными методами (хотябы первую).Нет ничего особо плохого в том что метод используется всего в 1 месте, как плюс ты можешь написать тесты для этого метода, что упростит поддержку в будущем.Просто, по большому счету, всю программу можно написать внутри мейна, потому что логика используется один раз в единственном месте :) Еще у тебя есть повторение структуры if (bSuccessfulTraceRoutine) { ... } else { resetBoundaries(); return false; }что не очень хорошо, это тоже можно отрефакторить. Еще я бы например сделал в начале метода что-то типа if (!GetWorld()) return false;Не нужна была бы лишняя вложенность на весь метод (ну это на самом деле больше вкусовщина, оба варианта имеют право быть). Суть в том, что если вынести все в отдельные методы, то метод с твоей логикой привратиться в что-то типа: И дальше у тебя, к примеру, есть отдельные методы, один который разбирается с правой частью, второй который с левой (это просто как пример, не обязательно делать именно так).И новый человек придя в проект сможет примерно понять что происходит с высоты птичего полета. А если ему нужно исправить то как хендлится левый предел (или что там хендлится? :) не вникал особо), то он пойдет непосредственно в нужную функцию, не тратя время на чтение большого куска кода, из которого ему важны пара строк. Если учишся в универе и есть такой предмет, то лишним не будет. Если учишся сам с нуля, то оно того не стоит, по крайней мере по началу. На ассемблере по факту почти никто не пишет, но в некоторых отрослях(все что завязано на перформанс) его неплохо знать как дополнительные знания, чтобы понимать во что превращается твой код.
  11. arialttf

    Path of Exile т.4 Perandus

    ваще они довольно прикольно сделали, но не факт что сционка будет лучше других классов, к ней не попадают самые сильные штуки как компенсация у сционки +2 скил поинта и возможность перенести стартовую точку, что кажись круто
  12. arialttf

    Path of Exile т.4 Perandus

    на самом деле РФ это не игнайт, РФ это бернинг если бы РФ был игнайтом, то http://pathofexile.gamepedia.com/Hotfooted этот джевел давал бы мувспид
  13. arialttf

    Path of Exile т.4 Talisman

    хаос скилы на самом деле крутые, но ебнутая механика в соло заебись, в пати плохо нужно чтоб мобы стояли кучно + дебаф передается только при смерти моба, в 6ппл пати пока убьешь первого моба чтоб развесились дебафы, остальные уже и без тебя убиты почти а так дамага дохуя, ессенс дреин имеет очень высокий базовый урон + 4 саппорт гема с more мультипликатором. нада в пати попробовать поиграть через гмп+чейн, но думаю хуйня будет
  14. arialttf

    Path of Exile т.4 Talisman

    просто тебя хилит, а не дамажит, не помрешь. там же на реддите видос недавно был, как чувак взял CI+EB (1хп) и коил+тейст оф хейт, у него больше 50% полученной физ дамаги переводилось в елементальный урон и он не получал урона совсем, танчил смеши ваала на 81 мапе с 1 хп. вон
  15. arialttf

    Path of Exile т.4 Talisman

    а визер не курса, это Spell, Aoe, Duration, Chaos. типа с одной курсой можно завести пасивно вульну и бегать кидать круг, на желтых мобов кастовать еще визер сверху а с двумя курсами уже нада вручную кастовать, 50% маны сильно дохуя за курсы отдавать но зато в пати поинтереснее
×
×
  • Создать...