• Насколько реально иммигрировать в США, не имея профильного образования?

    @whoareyoutofuckinglecture
    Python developer
    Не наличие\отсутствие вышки главное препятствие на пути к H1B (в конце концов, если бы у вас было 10 лет профильного подтверждённого опыта, вышка была бы не нужна). Главная проблема - лотерея для желающих получить H1B.

    Да-да. Вот нашли вы работодателя, готового вас перевезти, а виз H1B всего 55000 на весь мир, и ещё 20000 для магистров и докторов по отдельной квоте. А желающих получить рабочую визу почти 300.000 человек, поэтому американское правительство проводит лотерею, на которую податься можно только 1-2 дня в году (в начале апреля каждого года, ЕМНИП).

    В общем, долго это, муторно и никакого прямого пути к этой визе нет: повезёт-не повезёт.

    L1-B может быть лучшим вариантом. Ради неё многие в Европу переезжают, куда-нибудь в Ирландский офис Google (как сделало несколько моих бывших коллег из Яндекса).
    L1B позволяет через год работы в филиале американской компании релокейтнуться в США. Квот нет :) Это самый нормальный путь, единственный минус - если вам не сделают гринку, то работодателя вы поменять не сможете, как на H1B. Поэтому для L1B во-первых, заранее оговаривайте с работодателем то, что он обязуется сделать вам гринкарту, во-вторых, остерегайтесь бадишопов, лучше ломиться в Google, Amazon, etc.

    Читайте форумы, например govorimpro.us
    Ответ написан
    5 комментариев
  • Что используют в реальных проектах: Django или Django Rest Framework?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    По опыту - чаще идет разработка на Django Rest Framework. Чистый Django практически не используется. Потому что во-первых веб сейчас динамичный, - требуются частые обновления не перегружая всю страницу. Во вторых - часто требуются мобильные клиенты для работы с проектом, и в третьих - сам проект может обмениваться данными посредством АПИ со связанными проектами.
    Поэтому просто делается единый REST АПИ интерфейс, с которым уже общается и фронт, и мобильные клиенты, и внешние сервисы.
    Ответ написан
    Комментировать
  • Стоит ли покупать компьютер с aliexpress?

    @spaceatmoon
    Сборка мусор. Не покупайте никогда ничего "из простого на время" если нет денег. Так вы хотя бы сэкономите. Про серверные процессы вообще забудьте, у них другая категория задач.

    Рекомендую следующую сборку которой вам хватит на 3 года и от которой у вас не будет гореть.
    1. Заменяем hdd на ssd. По деньгам одно и тоже, но профит в 500%.
    SSD 500GB за 3.7к рублей
    2. Лучше DDR4.
    3.5к за 8ГБ
    2.6к за 8ГБ чуть хуже, но вы не заметите
    Итого за 6к вы возьмете 16GB. Этого хватит ещё на долго.
    3. Материнку любую в пределах 6к берёте, но не самую галимую.
    4. Процессор берите со встроенным графическим процессором. Профит будет такой же как и от GTX 1060 3GB (да, она плоха).
    Рекомендую AMD Ryzen 3 PRO 3200G или типа того, можешь пошарить. Intel не бери, у них малый ресурс по задачам, любая задача превращается в 100% утилизацию процессора, а это проблемы с охлаждением. Итого 14к на процессор. На нём никогда не экономь. Ведь к примеру видеокарта несмотря на свою стоимость в 90% случаев тупо простаивает, а стоит она больше всех.

    Считаем - 6 + 6 + 6 + 14 = 32 тысячи рублей. При этом сборка будет современна, радовать глаз и есть возможность её усовершенствовать, а хлам с алика ты выбросишь после полугода.
    Ответ написан
  • Ошибка: SyntaxError: expression cannot contain assignment, perhaps you meant "=="?

    Да
    Ответ написан
    Комментировать
  • Нужно ли параллелить чтение файлов с диска?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Многопоточность
    Седой и строгий
    В случае HDD будет падение производительности. С SSD прирост будет, если пропускная способность устройства не исчерпана.
    Ответ написан
    3 комментария
  • Скорость SSD Sandisk Extreme Portable V2 ниже на iMac чем на MacBookPro - что не так?

    profesor08
    @profesor08
    Порт, через который подключаешь, больше не могет. Или SATA шина больше не могет. Тут ты ничего не сделаешь, остается только смириться с тем, что пришлось переплачивать за скорость.
    Ответ написан
    4 комментария
  • Оцените сборку пк для программирования и геймдева?

    vabka
    @vabka
    Токсичный шарпист
    1. 100% нужно заменить HDD на SSD. Хотябы SATA, а в идеале - nvme
    2. Если ты не собираешься заниматься геймдевом, 3д-моделированием и в принципе не будешь играть на этом компе, то видеокарта тебе не нужна и её можно просто убрать из сборки.
    3. Раз видеокарты нет, то можно взять БП по проще ватт на 400
    4. На сэкономленные деньги берём i7 со встроенным видео и 32гб оперативки
    Ответ написан
    2 комментария
  • Оцените сборку пк для программирования и геймдева?

    kotomyava
    @kotomyava
    Системный администратор
    Видюху не брать, и взять ssd, если уж мы о программировании.
    Ответ написан
    5 комментариев
  • Nonetype object почему выводит?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Да не используйте вы все f-строки! Они не для этого.
    Как правильно подставлять значения из переменных /...
    Ответ написан
    1 комментарий
  • Как избавиться от кучи if в методе?

    xez
    @xez
    TL Junior Roo
    Похоже на chain of responsibility.
    Смысл в том чтобы создавать обработчики заказа, которые будут передавать его друг-другу по цепочке пока в каком-то из них он не будет обработан.
    Ответ написан
    1 комментарий
  • Как программисты хранят частоиспользуемые куски кода, чтобы каждый раз не вспоминать заново?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Программисты такое не забывают, чтобы где-то хранить. Забыть можно названия функций, коих 100500 в различных API. Но синтаксис и стандарты языка - это как бы алфавит. Вот вы часто забываете алфавит? Сможете сейчас его воспроизвести: "а", "б", "в"... ? А если другой язык: "a", "b", "c"... ? Также и (настоящие) программисты помнят подобное, как основы основ.

    Частоиспользуемый код оформляется в виде функций, и пропадает необходимость в копировании/переписывании. Многие такие простые функции входят в стандартную библиотеку, и названия таких функций практически не меняются от языка к языку. Поэтому даже если в языке не оказалось одной из таких функций, то она создаётся с заранее известным названием, которое программисты помнят хорошо. А если функция специфична для проекта, то таких функций не много, и их тоже легко помнить (на время работы с проектом).
    Ответ написан
    Комментировать
  • Как не повторять рандомный вывод со списка?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    import random
    previous = ''
    a = ''
    for i in range(15):
        while a == previous:
            a = random.choice(["вперед", "назад", "вверх", "вниз"])
        previous = a
        print(a)
    Ответ написан
    3 комментария
  • Как ограничить количество одновременно исполняемых Promise?

    @GrayHorse
    Это называется семафором (Semaphore).
    class Semaphore {
        constructor(max = 1) {
            if (max < 1) { max = 1; }
            this.max = max;
            this.count = 0;
            this.queue = [];
        }
        acquire() {
            let promise;
            if (this.count < this.max) {
                promise = Promise.resolve();
            } else {
                promise = new Promise(resolve => {
                    this.queue.push(resolve);
                });
            }
            this.count++;
            return promise;
        }
        release() {
            if (this.queue.length > 0) {
                const resolve = this.queue.shift();
                resolve();
            }
            this.count--;
        }
    }


    const semaphore = new Semaphore(10);
    for (const url of urls) {
        await semaphore.acquire();
        void downloadUrlSynchronized(url, semaphore);    
    }
    
    async function downloadUrlSynchronized(url, semaphore) {
        const resp = await fetch(url);
        const blob = await resp.blob();
        semaphore.release();
        // const name = new URL(url).pathname.slice(1);
        // downloadBlob(blob, name, url);
    }

    Загрузка (fetch) будет не больше 10 в один момент, что собственно и требовалось.

    ---
    На примере 3:
    61ee50a555b4a690601785.png
    Ответ написан
  • Почему нее качаются библиотеки пайтон через пайчарм?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Приносим извинения, все штатные экстрасенсы в отпуску, в связи с чем мы не в состоянии увидеть текст ошибки, отображаемый в вашей консоли что затрудняет возможность осмысленного ответа. Попробуйте приложить текст ошибки или обратиться попозже.
    Ответ написан
    Комментировать
  • Как вытаскивать только математические выражения из текста?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Учись, гугли, изучай
    Ответ написан
    Комментировать
  • Чему учит Марк Лутц?

    @AVKor
    Я новичок в программировании, и не совсем понимаю необходимости чтения книг.

    Изучение начал с просмотра 4-часового ролика на ютубе, где разъясняется весь синтаксис языка.

    Тогда лучше стать не программистом, а видеоблогером.
    Многие рекомендуют книги, и по Python именно Марка Лутца. Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен.

    Встаёт вопрос: А есть ли смысл читать его?

    Нет. Лучше сразу послать резюме в крупнейшие ИТ-компании мира.
    Ответ написан
    Комментировать
  • Как сделать нормальный калькулятор?

    vabka
    @vabka
    Токсичный шарпист
    Ну для начала нужно сформулировать, что такое "нормальный калькулятор" и какие примеры он должен решать)
    Потом исходя из этого выбирать конкретный подход.
    По нормальному тебе придётся как-то парсить математическое выражение и как-то его интерпретировать.
    Для решения этой задачи вот тебе несколько тем, которые ты можешь покопать:
    1. Префиксная, постфиксная, и инфиксная нотация. Для постфиксной очень легко написать калькулятор
    2. Алгоритм сортировочной станции. Это про то как можно из инфиксной нотации сделать постфиксную
    3. Абстрактные синтаксические деревья. Это про то как можно сделать что-то более сложное.
    Ответ написан
    Комментировать
  • Насколько актуальна сборка ПК для программиста?

    vabka
    @vabka
    Токсичный шарпист
    БП - самый обычный дешёвый. С таким же качеством можно немного сэкономить, взяв другой бренд, либо наборот немного добавить и получить сильно лучше по качеству.
    Если берётся без задела на мощную видеокарту, то 600вт просто не нужно.

    Корпус сделан из фольги (Толщина металла 0.45 мм)
    SSD я бы больше взял (если бы для себя)
    А ещё у тебя не хватает видеокарты - без неё не будет работать.

    Остальное ок.
    Ответ написан
    9 комментариев
  • Как расставить точки над i, по вопросу использованию Bash и Python для DevOps?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вы не годитесь в девопсы.
    Это очень частый ответ на этот очень частый вопрос.

    Девопс - это человек, который не задаёт вопросы. Он на них отвечает. Самостоятельность является для девопса одним из ключевых навыков. У вас он отсутствует.
    И это совершенно точно человек, которого НЕ пугает прочтение 326 страниц мануала.
    Девопсу приходится читать примерно в сто раз больше документации. В год. Подумайте хорошенько, а надо ли оно вам, если перспектива выучить даже самые примитивные основы вас пугает настолько, что вы пришли на тостер поторговаться?

    В девопс, как и в инфосек, очень редко можно войти с нуля.
    Надо начинать либо сисадмином (не эникейщиком), либо программистом (не вордпресс).
    И потом, уже развившись как программист/сисадмин, можно подумать о движении в сторону девопса.
    Ответ написан
    2 комментария
  • Верно ли это утверждение?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Не раскрыто понятие "успешный программист" и его связь с любопытством. Так что это утверждение - чушь. Программист - это человек, который умеете переводить конкретную задачу в конкретный код. Что именно при этом делает "компьютер" достаточно понимать в общих чертах, потому что слишком много технологий, который вообще соединяются для того, чтобы ваш код выполнился. Электричество, полупроводники, вот это всё? Поэтому понятие "любопытство" в таких вещах может быть даже вредно, этим занимаются учёные в компаниях. Если для вас программирование вновинку, то вам в первую очередь надо научиться ставить чёткие задачи и учится достигать ими задуманного результата.

    Программирование происходит в голове, а не на компьютере.
    Ответ написан
    1 комментарий