• Подойдёт ли такая сборка пк для современных игр?

    @Drno
    Процессор менять на intel i5. 11го или 12го поколения
    Материнку - на gigabyte или msi
    Оперативку AMD не брать НИКОГДА. Возьмите kingston или hynix
    видяха слабовата, если есть возможность брать хотя бы 3060
    Ответ написан
  • О прибыльной карьере в российской технологической индустрии?

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Никак. Выбор инструмента - это задача тимлида и/или техлида. Т.е. ведущего/главного разработчика, отвечающего за принятие ключевых технических решений. Ваша задача, как заказчика, четко оформить требования, ограничения и сформировать начальное ТЗ и описание, что вам требуется от проекта, прототипы интерфейса, например. Без вникания в технические детали. Т.е., "хочу чтобы были фичи такие-то и работил они так-то, ограничения такие-то, требования такие-то". Далее уже задача найти разработчика/команду с большим или достаточным для данного проекта опытом. Далее из начального ТЗ формируется полноценное техническое задание: описывается весь требуемый функционал, рисуется дизайн, прописываются требования, ограничения и прочие хотелки. И на основе ТЗ, тим/тех лид уже подбирает/подбирают наиболее оптимальные и конкретные инструменты и решения, основываясь на собственном опыте и знаниях для конкретно этой задачи. Например, если человек хорошо знает несколько разных инструментов и есть достаточный опыт их использования - он может реализовать проект используя любой из них как одинаково хорошо, так и одинаково плохо. У разных ЯП и фреймворков свои плюсы и минусы. Далее из ТЗ формируется более детальное ЧТЗ и происходит разработка проекта.

    Вот вы говорите:
    Нужно будет выполнять много запросов к БД

    Важная быстрая скорость работы нашего сайта

    Много/быстро это сколько? 100 запросов в час? 1000 в минуту? 1М в секунду? Загрузка страницы за 30/10/1с или даже 100мс? А к какой именно БД? Какая характеристика самих данных и какого типа запросы? На какое количество соединений? В каком регионе? Есть ли там тяжелые или еще какие-то вычисления? Медиа файлы - картинки, видео? Тут очень много нюансов. В идеале следует определиться с конкретными значениями/параметрами и их описать в ТЗ. Ну или определить примерное, а фактическое значение определить на стадии прототипа/MVP и/или провести какое-то исследование/тестирование. Можно потратить десяток лямов на написание крутого кода на го/расте/С++/ассемблере в течении года и все будет летать на простейшем сервере. А можно купить свой сервер за лям (ну, условно, конечно), нанять питонщика или PHP-ника за 300к и он за пару-тройку недель добьется такого же результата. Большинство веб-задач сегодня достаточно просто или с минимальными усилиями решаются абсолютным большинством решений для веба. Да, у всех решений есть свои плюсы и минусы.

    Безопасность от всяческих XSS и SQL атак.

    Вот с этим проще: использовать популярные OpenSource решения, регулярно проводить тесты, нанять отдельно опытного разработчика, красноглазика и пентестера - и тратить на них деньги, пока деньги не кончатся или не будет достигнут необходимый уровень безопасности. Безопасность противоположна удобству, защита отстает на шаг от атак. Риск есть всегда и надо просто быть готовым к последствиям и иметь запасной плат хотя бы в общих чертах.

    А так - уже правильно посоветовали сразу брать дот-нет, т.к. у вас требование к использованию конкретной библиотеки для дот-нета.
    Ответ написан
    1 комментарий
  • Как создать подобную функцию в JavaScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Вот так: JavaScript -> Reference -> Classes

    Либо просто добавить нужную функцию к объекту:
    let o = {
        foo: function() { console.log('foo called') }
    }

    >> o.foo()
    <- foo called
    Ответ написан
    Комментировать
  • Какой роутер выбрать для оптоволокна GPON?

    @Massacre_Rage
    Нельзя купить любой gpon роутер и подключить его, так как на OLT провайдера может стоять блокировка ont других вендоров.
    Даже если блокировки нет, то не факт, что твоя ont заработает с имеющимися профилями, а делать отдельный профиль под конкретно твою ont никто не будет.
    Ну и вдобавок у тебя может оказаться совсем не GPON, а GEPON.

    Поэтому ответ на твой вопрос знает только твой провайдер.
    Ответ написан
    Комментировать
  • Как достучаться до докер контейнера из браузера?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Потому что стучаться надо не на локалхост, а по имени контейнера.
    Ответ написан
    Комментировать
  • Что за ошибка в python?

    Vindicar
    @Vindicar
    RTFM!
    Поясню ответ Алан Гибизов: Обратный слэш (\) в строковых литералах Питона (как и во многих языках) имеет специальное значение, зависящее от следующего символа. Например, \n означает символ перевода строки, \t - символ табуляции, и т.д. Последовательность \u позволяет задать символ юникода по его коду, например, символ \u00A7 это значок параграфа (§). Но это также разделитель каталогов в пути на платформе Windows. А у тебя в пути есть последовательность "C:\Users\777\Desktop\Новая папка\67.png".
    Избежать этого конфликта можно одним из трёх способов:
    * использовать последовательность \\ - она означает просто символ \ без специального поведения.
    * использовать "сырой" строковой литерал - my_path = r'C:\Users\'. В таких литералах символ \ не имеет специального поведения, это просто символ.
    * Записать путь, используя прямой слэш /. Винда это позволяет.
    Ответ написан
    Комментировать
  • Что за ошибка в python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Попробуйте варианты:
    Поставить r перед строкой пути
    my_path = r'C:\Users\'
    Задвоить все слеши
    my_path = 'C:\\Users\\'
    Заменить все слеши на обратные
    my_path = 'C:/Users/'
    Ответ написан
    1 комментарий
  • Как мне убрать несколько символов из tuple?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Изучать самые основы языка.
    Ответ написан
    4 комментария
  • Возможно ли авторизоваться если злоумышенник получит чужие куки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    С точки зрения современного инфо-беза логин + пароль - уже не танцуют.
    Сейчас - основной упор на безопасность - это многофакторка. И время сессии
    желательно как можно меньше. Например 15 минут. В кабинетах банков так уже делают.

    Если злоумышленник у вас угнал куки то у него есть очень мало времени чтобы ими
    воспользоваться иначе надо будет доставать как-то ваш телефон или RSA-брелок.

    Кроме того сами методы многофакторки рандомно меняются. Банк для авторизации
    входа может позвонить голосом. Чтоб подтвредить. Может попросить ввести число
    с генератора в MSAuth/Okta/Duo. Или приложить палец к сканеру отпечатков.

    Тоесть кража самих кукисов - влечет для нас целый квест вопросв и ответов которые нужно
    дальше спрашивть прежде чем сказать что-то утвердительно.
    Ответ написан
    Комментировать
  • Почему window хранит в себе переменные, но не делает их ссылками внутри себя?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Во-первых, у let блочная область видимости:
    >> let a = 0;
    <- undefined
    >> window.a
    <- undefined

    Во-вторых:
    function foo(x) {
      this.x++
    }

    Вот в этой функции, локальная переменная x и свойство x объекта this - это разные вещи.

    Если хочется иметь функцию, которая будет менять определенное или произвольное свойство объекта window или произвольного объекта - то делать надо это явно и прямо. Например:
    window.x = 0
    window.x++

    Или же:
    let propName = 'a'
    window[propName] = 0
    window[propName]++
    Ответ написан
    4 комментария
  • Как остановить цикл по нажатию кнопки html / js?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    let isButtonClicked = false;
    
    function snowFall() {
        while(isButtonClicked !== true) {
            //функция
        }
    }
    
    document.getElementById('break_while').onclick = function() {
        isButtonClicked = true;
    }
    
    snowFall();


    Но что-то мне подсказывает, что пока цикл выполняется, кнопка будет некликабельна )))
    Ответ написан
    2 комментария
  • Купил бу комп.. В диспетчере указывался 1 cpu. После перестановки винды в скрылся обман. Cpu другой. Как это сделали как противостоять не разбирая пк?

    vabka
    @vabka
    Токсичный шарпист
    Смотреть через биос.
    Приносить свою ОС на флешке и гонять бенчмарки - смотреть чтобы результат был близок к эталону
    Ответ написан
    Комментировать
  • Как список кортежей превратить в строку?

    Maksim_64
    @Maksim_64
    Data Analyst
    На случай если в кортеже может быть больше одного элемента
    from itertools import chain
    l = [('monkey',), ('dog',), ('cat',), ('fish',)]
    ', '.join(chain(*l))
    Ответ написан
    Комментировать
  • Как список кортежей превратить в строку?

    xzripper
    @xzripper
    0xC0000005
    llist = [('monki', ), ('doge', ), ('cat', )]
    
    print(', '.join(s[0] for s in llist))
    Ответ написан
    Комментировать
  • С++; Дескоптные приложения или веб или операционные приложения?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Если хочется драйвера, то тебе нужен WDK:
    https://learn.microsoft.com/en-us/windows-hardware...
    На Linux драйвера на C++ не пишутся - там долгое время только Си был, а сейчас ещё и Rust.

    Веб на C++ можно писать, но это и правда мазохизм (говорю как человек, который видел веб на C++)
    Но если очень хочется, то есть:
    1. emscripten для wasm, если хочешь на фронте что-то делать
    2. Несколько фреймворков для бэка: яндексовский userver, Drogon из топа techempower, libhttpserver, POCO, да и ещё целая куча разных (кажется их даже больше, чем для какого-нибудь nodejs)
    Ответ написан
    8 комментариев
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Раст же вроде планируется как замена С/С++ и является более низкоуровневым.
    Ему прямой путь в системное программирование. А финтех это немного другое
    Ответ написан
    4 комментария
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    vabka
    @vabka
    Токсичный шарпист
    На Java пишется очень много разных вещей, в тч не требовательных к утилизации ресурсов и задержкам так что предположу, что многие вещи просто нецелесообразно переписывать.

    Кроме Java в финтехе вообще много разных языков используется. Даже такая экзотика как Haskell и F# бывает.

    Могу сказать, что сейчас работаю в большой корпорации и мы как раз пишем на Rust штуки, которые отвечают за работу с платёжными системами.

    Раньше примерно то же самое писалось на плюсах.

    На Java такое не писалось, тк авторизация транзакций должна меньше чем за секунду происходить после того как покупатель приложил карту к терминалу, и при этом нужно много разных проверок произвести.
    При этом многомиллионную ораву клиентов спокойно обслуживает не самый мощный сервер (емнип всего 32гб оперативки) с минимальным количеством сбоев.
    Ответ написан
    5 комментариев
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    На сколько я знаю, на сегодняшний день у раста проблемы с интеграциями. Брошеные либы, зависимости от версии и платформы и вот это все... (я рад бы ошибаться, возможно, г-н Василий Банников меня поправит).
    В джаве же есть спринг-бут, который умеет интегрировться хоть с чертом лысым, при этом поддерживается, развивается, выходят новые версиии...
    В большом энтерпрайзе это важно.

    Ну и у джавы, нерешаемых проблем довольно мало, чтобы от нее отказываться. На рынке есть много персонала разной квалификации, JVM - прекрасная, развивающяяся платформа.
    На расте же писать никто не умеет (по сравнению с джавой), не понятно какие у технологии перспективы, есть вышеуказанные проблемы. Чем он может заинтересоваться большой бизнес?
    Производительностью? Так и jvm достаточно производительна, во-первых, а во вторых, есть куча приложений, для которых никакой хай-лоад и никакое лоу-латенси не предусмотренно...
    Ответ написан