Jump to content
  • Sign Up

DeadMage

User
  • Content Count

    622
  • Joined

  • Last visited

  • Time Online

    113d 2h 31m 36s

About DeadMage

  • Rank
    Unstoppable

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

5,075 profile views
  1. Это ты хорошо придумал. Если у нас на ринге с одной стороны работяга АСУ ТП, а с другой бэкендер заливающий 3 обновления приложения на 300 серверов, с версионированием апи/бд, без простоя и с запуском а/б тестов, то твой легат победил, да. А если бэкендер будет обычный, тот у которого один прод на который заливается жар-файл в надежде что заработает, то не знаю, может уже любой победить. Пруф это мой личный опыт. Понимаю что тебя это не удовлетворит, но если у тебя есть личный опыт противоречащий тому что я утверждаю, буду рад прочитать и для меня это будет "пруф". One shot learning? А вообще, может ты меня неправильно понял: я не утверждаю никакого превосходства низкоуровневых программистов над высокоуровневыми, или наоборот. Только то что тем кто начал обучение/карьеру с низкого уровня, на основе моего опыта, проще перекатиться наверх, чем наоборот. И в этой связи рекомендую и обучение так проводить, если есть на то возможность. Если хочется просто вкатиться на макс зп, то я бы советовал жс+реакт - относительно просто, много вакансий и денях.
  2. 1 - ничего, ты что, думаешь на с/++ не пишут серверов? бд твоя, которая тебе дарит консистентность и все прочее кем и на чем написана по твоему? 2 - большинство - нет, будут бояться и не станут этого делать Еще раз напишу что я считаю перекатываться (или хотя бы изучать "другой уровень") полезно и возможно, но по моему личному опыту те кто начали с уровня выше очень редко перекатываются вниз. Чаще всего на какие-то функциональные языки. Интересно еще то что современный компьютер на низком уровне очень даже напоминает бэкенды, и проблемы консистности/кэша/сохранения данных там тоже есть, но конечно для этого нужно писать какой-то многопоточный код с прицелом на производительность. Впрочем и на бекенде тоже самое, большинство просто закинет данные в бд и на это все заботы о скейле закончатся. Так что "байтоебы" могут очень неплохо разбираться в проблемах которые возникают у БД :) И чтобы точно была ясна разница, вот тебе аналогия: есть люди которые учились водить автомобиль с автоматической КПП (в некоторых странах на правах им даже добавляют пометку об этом) - они, естественно, имеют большую часть скила вождения, но не смогут сходу поехать на авто с ручной КПП. Они могут научиться, но большинство этого никогда не сделает. В другую же сторону учиться ничему новому не нужно, просто одно из действий теперь автоматизировано.
  3. Я то согласен что перекатываться туда-сюда, если какая-то база есть не очень сложно. Но вопрос где больше шанс такую базу получить - где ты байтиками оперируешь и примитивами ОС, или в сэндбоксе браузера/ноды, где почти все строка/жсон и гц делает половину работы за тебя (хуево делает). И по моим наблюдениям, люди которые освоили что-то низкоуровневое без проблем юзают скрипты на питоне и могут запилить что-то на жсе/жабе/сисярпе. А фулл или халф стеков при упоминании поинтеров обычно расширяются глаза и они ничего об этом слышать не хотят.
  4. Рекомендую всем вот эту штуку: https://handmadehero.org/ там чел делает игру с нуля, используя минимум средств, только то что ОС предоставляет, все объясняет. За 20-30 часов, у тебя будет код (если будешь печатать вместе с ним) который на винде может нарисовать на экране что-то, проиграть звуки, читать файлы и обрабатывать ввод (клавиатура/геймпад). Из этого уже можно дальше что сам захочешь делать, не обязательно за ним продолжать делать игру. Преимущество в том что чел хорошо объясняет, и все делается на практически самом нижнем уровне. Оттуда потом "подняться" к питону/жаваскрипту/реакту и прочей ебале должно быть несложно. В другую же сторону сложно, хотя мне кажется по большей части это просто страх "низкоуровнего". Ну и плюс игру делать думаю интересно, особенно если подходишь к этому как к хобби, а не перекату чтобы подороже продавать свою РАБоту. Ну и вообще, лучше найти какой-то проект который тебе лично был бы полезен и интересен и потом уже искать способы его реализации. Так будет мотивация и конкретный результат который можно проверить. А на курсах будешь делать какие-то выдуманные задания которые хз зачем тебе нужны и кто/как будет их проверять.
  5. У Promise.then() два аргумента коллбека. Превый будет вызван при успешном завершении промиса (resolve() был вызван), второй при ошибке (reject() был вызван). Каждый из этих коллбеков может вернуть свой результат. Например ты делал запрос на сервер, он не удался с ошибкой "503 Service Unavailable" - это не перманентная ошибка, можно подождать и попробовать снова, и тогда запрос может быть успешным и из второго коллбека (который был вызван из-за reject()) тебе нужно иметь возможность вернуть успешный результат. Это и есть то что ты делаешь в своем коллбеке, но как значение ты возвращаешь ошибку. Если ты хочешь чтобы был reject, то делай так: return preq(v).then(() => true, (e) => Promise.reject(e));
  6. Грац, хорошие монеты для ремоута
  7. Я все хочу какую-то сплит клавиатуру попробовать, но это надо вопрос изучать, потому что их все долго ждать и достаточно дорого. Если что выберешь, напиши и тегни плз, интересно будет узнать как оно. Сам пробовал только MS Ergonomic Keyboard, и рукам было заметно удобнее, хоть и непривычно сначала было. Думаю стоит приобрести пока туннельный синдром не подъехал.
  8. На скейте быстро не уедешь
  9. Уж они тебя в беде не бросят
  10. Можешь посмотреть на I2P, у них там есть децентрализованые приложения разного рода, включая почту (на основе которой можно запилить и чатик). UI выглядит уныло и людей там последний раз когда я проверял было не очень много, но зато никаких блокчейнов :)
  11. Аргумент за это утверждение это то что код в условном хромиуме уже протестирован милион раз разными способами и людьми. Но против то что 1) у них кода намного больше чем будет нужно для твоего конкретного случая, а чем больше кода тем больше багов 2) не факт что челики там лучше/больше знают чем ты. Опять же, сильно зависит от собственно скила и уверенности. Я думаю в тестовом задании резонно использовать современный C++ (или какой там нужно язык), а не 92 года, если это не специально не указали. Не, спс, не буду. Можешь считать что ты меня убедил этим, если тебе легче станет
  12. Да я в CTFы играл, и простые exploit таски обычно могу решить, так что вполне понимаю где уязвимости бывают. Вот только дело не в сравнении строк/выделении памяти обычно, а в их неправильном использовании. Конечно если ты не уверен в своем знании языка/библиотеки, возможно не стоит использовать низкоуровневый язык или функции, но это не значит что их нельзя использовать правильно, и избежать уязвимостей. Я не хочу гадать что ты знаешь или нет, но если эта тема интересна то советую поиграть в CTFы или например https://pwnable.kr/ будет меньше магических багов/уязвимостей и больше ясности где они могут быть/как правильно писать код. Но и в электроне/хромиуме/V8 регулярно находят уязвимости, несмотря на годы потраченые на "защиту". PS: все еще жду уязвимости в моем коде
  13. Ок, С++17. Ты перечислил просто какие-то рандомные вещи, что и почему из них уязвимость не ясно. Ты хочешь сказать что любая программа которая сравнивает строки уязвима к чему то? Если так, ну тогда и электрон не поможет А по теме - не прошу ни одной страницы текста, а просто инпут (достаточно одного) для этой программы (собранной g++ 8.3.0 без каких-либо флагов, на linux'e amd64, раз ты любишь детали) который ты считаешь приводит к уязвимости.
  14. Какие уязвимости? C++ просто чтобы была готовая мапа из стандартной библиотеки, на С все тоже самое можно сделать.
×
×
  • Create New...