• Ценятся ли программисты-самоучки в странах Евросоюза?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ценятся профессионалы, всем плевать, как этот профессионализм был получен. Но надо понимать, во-первых, что желающих получить blue card много, а мест мало. Поэтому вам придётся конкурировать с целой кучей профессионалов и при прочих равных шансов больше будет у обладателей дополнительной бумажки. Во-вторых, интерес западных работодателей начинается на том уровне профессионализма, который у очень выдающихся программистов достигается лет через пять работы, а у остальных через десять. То есть ваш год самообразования - вообще ничто.

    P.S. Вопрос на ресурсе задавался уже очень много раз. Для программиста критически важно уметь искать информацию самостоятельно.
    Ответ написан
    8 комментариев
  • Cms или код вручную? Что выбрать при наполнении портфолио?

    DevMan
    @DevMan
    работодателю вообще плевать на это. и на ваше портфолио тож.
    Ответ написан
    3 комментария
  • Я так никогда не выучу React. Что это за ошибка?

    tsepen
    @tsepen
    Frontend developer
    Нельзя выучить Реакт не выучив Джаваскрипт, рекомендую начать с JS, иначе дальше тебя ждет еще очень много сюрпризов
    Ответ написан
    Комментировать
  • Как работать с командой eval?

    SagePtr
    @SagePtr
    Еда - это святое
    Использовать eval на стороне сервера, да ещё и отдавать на выполнение данные, полученные от пользователей - верный способ отдать сервер на растерзание злоумышленникам. Худшей дыры невозможно себе представить. Даже опаснее, чем SQL-инъекции - там-то хотя бы дальше базы данных злоумышленник залезть не сможет, а тут - сможет легко получить полный доступ ко всей инфраструктуре под правами пользователя, под которым запущена nodejs.
    Ответ написан
    1 комментарий
  • Как получить часть строки после последнего «/»?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    const getLastPartOfURL = url =>
        decodeURIComponent(url.slice(url.lastIndexOf('/') + 1));
    Ответ написан
    Комментировать
  • Можно ли организовать DNS через порты на одном ip?

    Sanes
    @Sanes
    Нет. Через Nginx Proxy это делается.
    Ответ написан
    Комментировать
  • В каких случаях стоит использовать Next.js?

    IwanQ
    @IwanQ
    Плохие времена часто дают прекрасные возможности
    Нужно использовать в случаях, когда нужно SEO. Других особо значимых причин усложнять себе разработку не вижу
    Ответ написан
    Комментировать
  • Какое направление выбрать в вузе, чтобы в будущем работать в игровой индустрии?

    B-Erolskiy
    @B-Erolskiy
    Unity Developer
    Очень советую идти в "Прикладная математика и информатика (01.03.02)". По своему опыту скажу, что в этом направлении обычно больше уделяют времени программированию, архитектуре ЭВМ и ПО.
    Но, в конечном счете, для работы в игровой индустрии важнее всего самообучение.
    Ответ написан
    Комментировать
  • Какие ЯП являются (почти) "мертвыми" и бесперспективными?

    @evgeniy_lm
    Мне лично на ум приходит такие как VBA

    Несколько лет назад общался с одним чудиком который возмущался тем что он "крутой программист" знает туеву хучу "крутых ЯП", но не может найти работу, а его "тупой" одноклассник в буржуйской фирме зашибает бабло на "сраном VBA"

    Не существует "бесперспективных" ЯП, существуют бесперспективные программисты
    Ответ написан
    Комментировать
  • Есть ли что-то в PhpStorm такого, чего нет в VSC, что-то такое принципиально нужное, чтобы стоило рассмотреть как альтернативу?

    bingo347
    @bingo347
    Crazy on performance...
    А откуда у PhpStorm столько пользователей
    Ответ на этот вопрос, Вы дали сами:
    "Ставить и пробовать" - не вариант - чтобы прочувствовать IDE нужны недели реальной работы в ней - а работать в новой IDE - боль :)


    Не стоит, однозначно... Да конечно, что все из коробки для кого-то, может и плюс. Но вот меня вариант "из коробки" никак не устраивает. А из коробки там очень мало. За это тормознутое убожество еще и денег просят... И да, чтоб нормально работать с несколькими языками, Вам придется купить несколько IDE от джетов... Например комплект который мне нужен обойдется в 120 тысяч в год и мне придется держать открытым проект в 2-3 отдельных, жрущих ни в себя оперативу, IDE. И это против 0 рублей за VSCode, который умеет любое количество языков в одном проекте без каких-либо проблем, а не так что "PHPStorm в принципе умеет в html/css/js, но для нормальной работы с ними нужен WebStorm"

    Ну и убер фичи для меня в VSCode, которых нет в штормах:
    - нормальный TypeScript работающий на основе настоящего компилятора, а не кривая пародия
    - remote development (wsl/ssh/docker/etc.)
    - возможность подключится к VSCode коллег и помочь или устроить парное программирование
    - интеграция со всем чем можно, а не только с тем что навязывают джеты
    - на крайней случай есть открытый и богатый API, через который можно запихнуть в VSCode все что угодно
    Ответ написан
    21 комментарий
  • Как понять микросервисы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Микросервисы пишут не для того, чтобы просто переделать API.

    Основной смысл микросервисов - выделить из вашего продукта компоненты, на которые идет большая нагрузка с тем, чтобы эти компоненты можно было легко горизонтально масштабировать.

    А уже исходя из этой точки зрения:

    1. Если у каждого сервиса есть свой api, зачем API Gateway (точка входа), можно же на nginx сделать обращение по location на нужный api?

    А если нужно много экземпляров, будете одним nginx-ом раскидывать по 10 локейшенам? Микросервисы в современном мире предполагается запускать в докере на собственном легковесном веб-сервере (типа Jetty), поднимать нужное количество экземпляров и балансировать чем-нибудь на входе, но не по локейшенам.

    2. Стоит ли использовать RabbitMQ для общения между сервисами? Правильно ли понимаю, что точка входа на ноде, посылает запрос в раббит и ждет от него же ответ и отдает клиенту?

    РаббитMQ или kafka позволяют множеству экземпляров вашего сервиса обрабатывать сообщения, с гарантией того, что из очереди ничего не пропадет, и если какой-то экземпляр сдохнет, то этот запрос обработает другой экземпляр. Именно ждать ответ наверное не самое правильное, но это можно смотреть как вам удобнее - периодически опрашивать очередь, или настроить чтобы message service сам пушил по событию.

    3. Например делаем микросервис по авторизации пользователя и регистрации. У него должна быть своя база данных? Как например в админке обращаться к пользователям, чтобы их добавить или заблокировать, я должен запрашивать пользователей с микросервиса? Получается микросервис отвечающий за пользователей CRUD + Регистрация, авторизация, сброс пароля?

    Это как вы хотите. Если у вас очень много пользователей и авторизация тормозит, но можно сделать микросервис с авторизацией, сделать кластер базы данных с репликацией. Дальше можете балансировать пользователей и там уже решать как их раскидывать. Или база мощная и все экземпляры могут работать с кластером. Или делите базу на части, и раскидываете пользователей по алфавиту (база юзеров от A* до H*, база юзеров от I* до M*, по региону или как вам нравится).

    Микросервисы нельзя писать до того как вы представите себе в голове общую архитектуру всего проекта, и какую проблему вы хотите решить.

    Второй немаловажный плюс микросервисов - работать над небольшим микросервисом проще, чем над крупным монолитом. Упрощается его поддержка рефакторинг. То есть в конечном счете упрощается требования к квалификации программиста. Но усложняется общая архитектура проекта, то есть на сеньоров/техлидов нагрузка возрастает.
    Ответ написан
    Комментировать
  • Как понять микросервисы?

    @deliro
    Как понять микросервисы?

    Прочитать соответствующую книгу (а лучше ещё парочку про DDD или хотя бы посмотреть этот доклад)

    Затем ответить на несколько вопросов:
    1. Почему вы решили, что микросервисы что-то вам дадут?
    2. Есть ли у вас настоящие причины для микросервисной архитектуры? (А именно: зоопарк технологий с невозможностью написать 99% на одном языке; более тысячи разработчиков; сложность выкатки монолита в виде часов прогонов CI/CD — тестов, билда, деплоя, стопоров выкатки в виде кучи проблем из-за разработчиков; вы такие же большие как гугл, убер, амазон и т.п.). Или вам просто нравится модное слово "микросервисы"?

    Не получится создать хорошую микросервисную архитектуру без умения создать хороший модульный монолит. В этом случае вы получите не только все проблемы плохого монолита: высокая связанность, каскадные падения, долгий CI/CD; но и все проблемы микросервисов: их надо оркестрировать (у вас же есть команда, которая будет поддерживать инфраструктуру?); каждому микросервису нужно своё CI/CD (и хорошее); сеть может (и будет) лагать и обрываться; длительность запросов увеличится на порядок(ки) (особенно если выбрать какой-нибудь JSON-RPC over HTTP); нужно предусмотреть failover strategy (например, идемпотентные ретраи. Вы же уже знаете про correlation id, саги и что делать, если прилетел network error на запрос в другой сервис "списать 10 баксов"?) и circuit breakers; трейсы и логи, которые не пришлось бы искать по сотням .log файлов от каждого сервиса; бизнес-логика расползётся по разным микросервисам и нарушит SRP (пофиг, что нарушит, важнее то, что это починить будет сильно сложнее). Список можно продолжать долго.
    Ответ написан
    11 комментариев
  • Что использовали для разработки данных сайтов?

    Pavel-ww
    @Pavel-ww
    Эти сайты активно используют javascript. Если обратите внимание в меню нет ссылок. Вместо этого на li элементы навешаны события click. Всё это очень не хорошо для SEO. А скорость работы - это не заслуга технологий на которых эти сайты сделаны, а заслуга минимализма структуры DOM.
    Ответ написан
    7 комментариев
  • Смогу ли я выполнять заказы с таким гитхабом?

    @mkone112
    Начинающий питонист.
    Вряд ли. Еще несколько лет поучись - может к 18 сможешь пойти в офис. В идеале - после хорошего вуза.
    P.S. Я конечно не юнити и не c# разраб, но гитхаб по сути выглядит пустым. Да и в случае проектов на юнити - мне кажется что код - дело второстепенное. Любой кто захочет ознакомиться с твоими поделками - в первую очередь захочет увидеть результат - рабочие игры, а желательно приносящие прибыль игры.
    Ответ написан
    43 комментария
  • Какой тип указать для Event?

    @SANTA2112
    const handleChange = (event: React.FormEvent<HTMLFormElement>) => {
      console.log(event.currentTarget.name)
    }
    Ответ написан
    Комментировать
  • Как рассчитать количество имеющихся лет обучения в ВУЗе и где узнать регламентированный релевантный опыт работы для иммиграции в США/Канаду для IT?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Точную информацию можно узнать только в посольстве, на сколько мне известно. Даже информация на сайтах посольства и USCIS конкретные цифры требуемого релевантного опыта не называет. Но точно то, что за 65 000 виз вам придётся бороться с профессиональными разработчиками со всего мира, имеющими и диплом, и больше десяти лет стажа. Проще говоря, ваши шансы равны нулю даже при наличии диплома.
    Ответ написан
    Комментировать
  • Как переехать в Швецию со среднем образованием?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если мне память не изменяет, Швеция - одна из немногих стран ЕС, которые выдают рабочие визы только дипломированным специалистам. Причём диплом не каждого ВУЗа ещё подойдёт. Так что выбор цели иммиграции не очень удачный. Кроме того, рабочая иммиграция хорошо работает для тех, кого агрессивно хантят, а если в родной стране никому не нужен, то в других странах и подавно.
    Ответ написан
    1 комментарий
  • Возможно ли устроиться джуном на удаленку за рубеж?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Нет, невозможно
    И вопрос на засыпку, какой вообще является работа на дистанционке за рубежом? Чисто черной? или договор присылают как-то почтой?

    Ну, тебе это не светит, можешь забыть про этот вопрос

    Вообще, если ты задал этот вопрос на тостере, то это уже показатель твоей профнепригодности и особенно за рубежом
    Ответ написан
    3 комментария
  • Почему нет альтернатив JavaScript'у в браузерах?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    А вы точно понимаете, что такое "поддержка нового языка"? Это целый долбаный интерпритатор в браузер тянуть надо (если язык интерпритируемый, для компилируемых есть webassembly ). А браузер и так много памяти потребляет

    Язык, который был бы по сути тем же JS, но разрабатывался бы с нуля

    Серьёзно, вы представляете себе масштаб работ? Попробуйте как-нибудь на досуге написать интерпритатор)

    Получается, что JS развиваясь, становится все сложнее и запутаннее,

    Имхо, за последние 5 лет JS стал... ну, не то чтобы проще, но точно удобнее. Я понимаю, о какой проблеме вы говорите, но новый ЯП не позволит отказаться от поддержки старых языковых конструкций JS . Просто добавится ЯП, где через 10 лет появится всё та же проблема с устаревшими вещами, от которых нельзя отказаться
    Ответ написан
    2 комментария
  • Как читать документацию по node.js?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    на официальномй сайте, проматываю чуть ниже и вижу

    fs.writeFile(file, data[, options], callback)#
    History:
    • file <string> | <Buffer> | <URL> | <integer> filename or file descriptor
    • data
      <string> | <Buffer> | <TypedArray> | <DataView> | <Object>

    • options <Object> | <string>
      • encoding <string> | <null> Default: 'utf8'
      • mode <integer> Default: 0o666
      • flag <string> See support of file system flags. Default: 'w'.
      • signal <AbortSignal> allows aborting an in-progress writeFile

    • callback <Function>
      • err <Error> | <AggregateError>



    When file is a filename, asynchronously writes data to the file, replacing the file if it already exists. data can be a string or a buffer.

    When file is a file descriptor, the behavior is similar to calling fs.write() directly (which is recommended). See the notes below on using a file descriptor.

    The encoding option is ignored if data is a buffer.

    If data is a plain object, it must have an own (not inherited) toString function property.
    ...


    откуда следует что:
    первый параметр - это имя файла который нужно создать,
    второй параметр - это данные которые нужно записать,
    третий (необязательный) - это объект с опциями
    а четвертый (или третий если предыдущий параметр не был указан) - это коллбэк

    ЗЫ: уважаемый ТС, я понимаю что вопрос скорее всего был задан из-за вашей невнимательности, но тем не менее ответ вы получили, отметьте его решением)))

    Вот вам способ быстро найти информацию на странице:
    - открыв нужную страницу с большим объемом текста, перемотайте страницу в начала (до оглавления) и затем нажмите комбинацию кнопок CTRL+F (поиск по тексту страницы) и в появившемся окошке вбивайте искомый текст (в данном случае fs.write). После этого нужные пункты оглавления подсветятся желтым и вы легко найдете нужный.
    Ответ написан
    12 комментариев