Задать вопрос
  • К какому классу в данном случае будет обращаться интерфейс?

    При обращеннии к методу через интерфейс, что будет, если я создам такой же класс PhoneReader2, и реализую другую реализацию интерфейса, в таком случае класс MobileStore чей интерфейс реализует? PhoneReader или же PhoneReader2?

    Какую передашь - такая и будет.
    Если никакую не передашь - будет NRE.
    Ответ написан
    Комментировать
  • Как настроить SSH для GitHub?

    Предупреждение: ключ хоста ECDSA для 'github.com ' отличается от ключа для IP-адреса '140.82.121.4'

    Недавно там какая-то фигня на гитхабе была, что они опять ключи перевыпустили.
    Удали старую запись о гитхабе из known_hosts

    "ssh-keygen" не распознано как имя командлета

    Проверь, что у тебя установлен openSSH в компонентах.
    Ответ написан
  • Производиельность процессоров AMD серии U, ваш опыт исспользования в разработке?

    UPD: Я ошибся. У меня серия H, а не U. А конкретно 4600H

    Владелец ноутбука с процессором из этой серии. ryzen 5 хз какой, 16гб, ssd на 500гб.

    Полёт вроде ок - мощности хватает на работу с C# в Rider, работу с нодой в VS Code, работу с Rust в CLion и VS Code с rust-analyzer.
    По скорости компиляции - ок (хотя при первой компиляции большого проекта на rust можно идти чай заваривать)
    Браузер работает норм.
    В том числе всё вышеперечисленное вместе с WSL2.
    Оперативки хватает на то чтобы поиграться с minikube.

    Думаю, если захочется ещё больше контейнеров запускать - можно взять ryzen 7 + 32gb оперативки.
    По аккумулятору - спустя год хватает на мб половину рабочего дня (не мерял, тк редко без зарядки сижу)
    Шумит вроде не сильно
    Ответ написан
  • Какой бекэнд выбрать для компилятора?

    Это не смотрели? https://llvm.org/docs/Reference.html#llvm-ir

    придется нам раскрыть исходный код IDE

    Нет, не придётся.

    и самого языка

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

    скриптовый язык программирования.

    Если скриптовый, то обычно пофиг на производительность. Очень много чисто скриптовых языков даже без JIT-компиляции живёт, исключительно в режиме интерпретатора.
    Ответ написан
    Комментировать
  • Возможна ли комфортная работа c IDE через x-server (vcxsrv, x410, xming, etc..)?

    В случае с ide-шками от JB ты можешь использовать изкоробочный Jetbrains Gateway - это точно будет лучше, чем иксы.

    Устанавливается через jb toolbox

    Дополнение по возможным проблемам:
    0. Должен быть установлен wsl :)
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    wsl --set-default-version 2
    wsl --install -d Ubuntu

    (в процессе может понадобится перезагрузка)

    1. Обязательно должен быть wsl2. wsl1 не подойдёт.
    Проверить версию самой подсистемы можно при помощи команды wsl --status
    Исправить можно при помощи команд wsl --set-default-version 2 и wsl --set-version <имя дистра> 2

    2. Говорят, что работать будет только с Ubuntu минимум 20 версии. Проверить установленные дистры можно командой
    wsl --list
    Установить новую версию можно через ms store или командой
    wsl --install -d Ubuntu-22.04
    Но у WindBridges заработало даже на 18.04
    Сделать новую версию версией по-умолчанию можно через
    wsl -s Ubuntu-22.04

    3. Почему-то не работает на ядре версии 4.*.
    Чтобы узнать текущую версию ядра можно ввести команду wsl --status
    Чтобы обновиться (до актуальной версии ядра. Сейчас 5.*) : wsl --update
    Ответ написан
    6 комментариев
  • Как развернуть веб-приложение?

    Какая ОС должна быть установлена на сервере

    Если у тебя старый asp net, а не новый asp net core, то у тебя как минимум должна быть машина с Windows Server и IIS.

    Sql Server можно развернуть на ней же, а можно на линуксовой тачке - смотри что удобнее, в зависимости от имеющихся лицензий и компетенций админов.

    Если всё-таки asp net core, то можно развернуть на машине с Linux, например с Ubuntu. Для этого необходимо установить все зависимости (какие и как - написано в инструкции по установке на сайте MS). Для автоматического запуска при включении сервера и перезапуска при падении - заворачивай в systemd (нужно будет написать буквально 1 небольшой конфиг на десяток строчек - инструкции тоже есть в интернете)

    предоставить доступ к сайту не абсолютно всем пользователям в сети Интернет, а только филиалам предприятия

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

    И как в данном случае приобретается доменное имя для поиска сайта, ведь в данном случае у предприятия собственный сервер и он не приобретает хостинг.

    Тк предполагается доступ только из сети предприятия - никакой домен приобретать не нужно.
    Всё прописывается в DNS предприятия.
    Ответ написан
    7 комментариев
  • Почему куллер не охлаждает ЦП мгновенно?

    Это физика - невозможно мгновенно отвести тепло с процессора на кулер, тк у кулера есть масса и некоторая собственная теплоёмкость/теплопроводность.
    Невозможно вентилятор мгновенно разогнать до более высоких оборотов, тк у него есть масса и + воздух сопротивляется.

    Немного загладить пик можно, заранее увеличив обороты вентилятора.
    Ответ написан
    2 комментария
  • Хруст матрицы на ноутбуке, плохо ли?

    Если экран не сенсорный, то трогать его лишний раз не следует.
    Ответ написан
    Комментировать
  • Почему сначала нужно писать import, а только потом require?

    Тк ошибку выдаёт eslint - у тебя такие настройки значит.
    Там написан номер правила и ты можешь подробнее о нём почитать
    Ответ написан
  • Как решить ошибка при установке Eslint на MacOS?

    Либо вызывай с sudo, либо устанавливай не глобально, а в каждый проект по отдельности.
    Ответ написан
    Комментировать
  • Как называется стандартная форма для MacOS?

    Ключевое слово: Cocoa
    https://stackoverflow.com/questions/30269329/creat...

    Но если это не самоцель, то лучше смотри на SwiftUI и на всякие кроссплатформенные фреймворки.
    Ответ написан
    Комментировать
  • Анонимный выход в сеть?

    Использовать устройства с esim?

    При подключении через esim ты точно также передаёшь провайдеру свои паспортные данные.

    Искать продовцов палёных симок?

    Всё ещё остаётся imei и поведенческий фактор - по тому как ты передвигаешься можно будет сопоставить эту симку с тобой. А если ты ещё и будешь использовать номер телефона где-то - это вообще сразу 1-к-1 сопоставление будет.

    Остаётся вариант с подключением к интернету в другой стране и прокидывания моста по воздуху.
    Переезжаешь жить куда-нибудь на границу с Казахстаном, подключаешь интернет в какой-нибудь деревне там, тоже на границе, и подключаешься из России при помощи моста.

    буквально смертельная комбинация.

    Практика показывает, что метод неуловимого Джо работает.

    Описание метода неуловимого Джо

    Городок в западно-американской степи. Салун. За столом сидят два ковбоя, местный и приезжий, и пьют виски. Вдруг по улице кто-то проносится на огромной скорости, паля во все стороны из пистолетов. В салуне никто и ухом не ведёт. Приезжий местному:
    — Билл?
    — Да, Гарри?
    — Что это было, Билл?
    — Это был Неуловимый Джо, Гарри.
    — А почему его зовут Неуловимым Джо, Билл?
    — Потому что его никто ещё не поймал, Гарри.
    — А почему его никто ещё не поймал, Билл?
    — Потому что он на *уй никому не нужен, Гарри.
    Ответ написан
    9 комментариев
  • Как правильно реализовать асинхронный httpclient C#?

    1:
    Не выбрасывай HttpClient после первой загрузки - используй его повторно для второй загрузки и далее.

    2:
    Ограничь количество параллельных запросов:
    using var socketsHttpHandler = new SocketsHttpHandler()
    {
    	MaxConnectionsPerServer = 16
    };
    using var httpClient = new HttpClient(socketsHttpHandler);


    3: Подумай о том, чтобы порефакторить свой код.
    Можно, например, вместо ручного заполнения массивов из тасок - использовать Parallel.
    + Можно попробовать событийную модель через System.Threading.Channels.

    Прям на корню убрать соединения в TIME_WAIT у тебя не выйдет. Можно только увеличить лимит сокетов или уменьшить время на уровне ОС, что делать не рекомендуется:
    https://stackoverflow.com/questions/11569441/how-d...

    Если программу нужно по несколько раз запускать подряд - лучше поменять код, чтобы не нужно было так делать и httpclient мог нормально переиспользовать уже открытые соединения.
    Ответ написан
    1 комментарий
  • Почему именно VPN?

    В первую очередь прокси позволяет работать только с HTTP, а VPN - со всеми протоколами.
    Во вторую - VPN можно использовать не только для обхода блокировок. (ну это если поднимать свой сервер, а не пользоваться услугами третьих лиц)
    Три - браузерные расширения со словом VPN - это маркетинговый ход. Это самые обычные прокси.
    Ответ написан
    Комментировать
  • Зачем нетлифаю гитхаб?

    Потому что netlify для начала хостинга берёт файлы из твоего git-репозитория (по крайней мере импорт файлов из git - это первый вариант, который предлагает сам netlify)
    Проще всего его завести через GitHub
    Ответ написан
    Комментировать
  • Как откатить iphone 3g на ios 2.0?

    Вероятно следует использовать не текущую версию 3uTools, а инструменты времён самого iPhone 3G
    Ответ написан
    Комментировать
  • Как в этом сниппете кода работает владение (Rust)?

    vabka
    @vabka Куратор тега Rust
    Не может одновременно существовать mutable borrow и immutable borrow.
    Замыкание берёт mutable borrow и пока замыкание находится в области видимости - никто не может читать значение переменной.

    Мне кажется, лучше чем компилятор это не объяснит:
    Compiling playground v0.0.1 (/playground)
    error[E0502]: cannot borrow `counter` as immutable because it is also borrowed as mutable
      --> src/main.rs:11:30
       |
    7  |     let mut increase = || {
       |                        -- mutable borrow occurs here
    8  |         counter += INCR;
       |         ------- first borrow occurs due to use of `counter` in closure
    ...
    11 |     println!("counter = {}", counter);
       |                              ^^^^^^^ immutable borrow occurs here
    ...
    14 |         increase();
       |         -------- mutable borrow later used here
       |
       = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0502]: cannot borrow `counter` as immutable because it is also borrowed as mutable
      --> src/main.rs:16:34
       |
    7  |     let mut increase = || {
       |                        -- mutable borrow occurs here
    8  |         counter += INCR;
       |         ------- first borrow occurs due to use of `counter` in closure
    ...
    14 |         increase();
       |         -------- mutable borrow later used here
    15 |
    16 |         println!("counter = {}", counter);
       |                                  ^^^^^^^ immutable borrow occurs here
       |
       = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0503]: cannot use `counter` because it was mutably borrowed
      --> src/main.rs:18:12
       |
    7  |     let mut increase = || {
       |                        -- `counter` is borrowed here
    8  |         counter += INCR;
       |         ------- borrow occurs due to use of `counter` in closure
    ...
    14 |         increase();
       |         -------- borrow later used here
    ...
    18 |         if counter == STOP {
       |            ^^^^^^^ use of borrowed `counter`
    
    Some errors have detailed explanations: E0502, E0503.
    For more information about an error, try `rustc --explain E0502`.
    error: could not compile `playground` due to 3 previous errors
    Ответ написан
    6 комментариев
  • Как реализовать добавление даты и времени в SQLite3 через бота на aiogram?

    Дату и время в sqlite можно сохранить двумя вариантами:
    Как строку - удобно и ничего не нужно будет выдумывать.
    Как число (Unix time) - компактно и можно будет нормально фильтроваться, но нужно будет конвертировать.


    И чтобы дата и время не повторялись в бд

    Уникальный индекс.

    Телеграм и python к вопросу отношения не имеют.
    Ответ написан
  • Используется ли шаблонизатор в проде?

    Сам лично видел коммерческий проект, где используется symfony + twig + точечно react
    Ответ написан
    Комментировать