• Как понять строчку namespace System.Windows.Forms?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Не нужно путать неймспейсы из C# с модулями из других языков.
    Неймспейс проще всего воспринимать просто как приставку к названию всех типов, которые внутри неймспейса будут.
    А using - подсказка компилятору, чтобы он попробовал эту приставку добавить ко всем именам, которые он ещё не смог разрешить.
    Ответ написан
    Комментировать
  • Какой стек технологий выбрать для разработки веб-приложения по учету успеваемости студентов?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    1. Раз дипломная работа, а не продакшен, то совершенно не важно, что лучше/хуже.
    Отказ от DRF в рамках дипломки просто из-за того что в нём нет async/await - это странное решение.

    1) Нужна ли асинхронность, исходя из функций приложения?

    И уж тем более странным выглядит последующий вопрос после такого отказа.

    Асинхронность в вебе - это большой плюс, но точно не решающий фактор.

    2) Что лучше выбрать из перечисленного стека, если необходимо представить приложение в короткие сроки?

    То что лучше знаешь, либо обладаешь собственной внутренней мотивацией изучить в эти самые кратчайшие сроки.

    3) Исходя из функций приложения, это будет SPA (одностраничное приложение) или PWA (многостраничное приложение)?

    1. PWA - Это не "многостраничное приложение". Иди гугли и снова читай, но уже внимательнее.
    2. SPA и PWA ортогональны и выбирать между ними - это как выбирать между тёплым и мягким.

    Исходя из функций - совершенно не важно, как вообще будет работать это приложение, SPA/PWA/SSR или вообще по классике с полной перезагрузкой.
    Исходя из функций - это может быть даже полностью консольное приложение. Других требований я не вижу.

    4) В случае выбора Blazor, то что лучше Blazor WebAssembly или Blazor Server?

    "лучше" по какому параметру? В рамках дипломной работы - совершенно разницы нет. В рамках продакшена - надо смотреть на конкретные требования. В продакшене, скорее всего, будет использоваться гибрид с первым рендером на сервере и рантаймом уже на wasm.

    5) Если возвращаться на DRF, то возможно ли создание веб приложения только на нем + фреймворк на фронте (Vue/React)?

    Можно, разрешаю.
    Ответ написан
  • Как разработчики пользуются Git в компаниях?

    vabka
    @vabka
    Токсичный шарпист
    1. Все вышеописанные изменения происходят в отдельных ветках (которые отличаются от основной ветки)

    2. Перед релизом ветка должна быть слита с основной веткой (merge), при этом должны быть разрешены все конфликты и должны успешно проходить все тесты. И перед мержем код должен посмотреть и одобрить как минимум ещё 1 разработчик.

    3. Релиз происходит только из основной ветки.

    4. Профит. В продакшене всегда рабочий код.

    Таким образом ситуация из примера 1 просто невозможна, а ситуация из примера 2 приведёт к конфликту при попытке слива и на самом деле победит первый, так как не ему этот конфликт разгребать.

    Ради этого и придуман git и прочие VCS.
    Ответ написан
    Комментировать
  • Что делает атрибут [PreserveSig]?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    1. Это для работы с COM
    2. Если почитаешь подробную документацию на английском на prservesig, то всё поймёшь.
    COM методы возвращают hresult, который сообщает об успехе или ошибке.
    Проведение по умолчанию - всё что не успех преобразовывать в исключение.

    Preservesig сохраняет оригинальную сигнатуру и отдаёт hresult как есть, что может быть полезно, если ты хочешь как-то сам его проверить и обработать без выбрасывания исключений
    Ответ написан
    Комментировать
  • В каких случаях использовать С++, а в каких Blueprints?

    vabka
    @vabka
    Токсичный шарпист
    Логику пишет геймдизайнер, который не очень то программист - напрашиваются BP.

    Сетевой код, работа с голым UDP - напрашивается C++.

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

    Какое-то очень узкое место, где надо обрабатывать кучу чисел и объектов.
    Что-то типа конвейеров в factorio например.
    Напрашивается C++ из-за своей эффективности и плотности логики, ибо то же самое на BP будет очень развесистой лапшой.
    Ответ написан
    Комментировать
  • Как войти в telegram по SMS?

    vabka
    @vabka
    Токсичный шарпист
    При попытке входа сначала отправляется код на устройство.

    Через какое-то время (вроде минуту ожидания) появляется возможность отправить смс.
    Ответ написан
    Комментировать
  • В чём может быть проблема с интернетом?

    vabka
    @vabka
    Токсичный шарпист

    1) роутер я менял, уже два раза

    На другой роутер той же самой модели?)


    2) если бы проблема была в кабеле, то проблемы не появлялись бы сразу, а не через неделю, как у меня?

    Может и через время проявляться, если причина случайная.
    Например:
    Если кабель двигается - в определённых положениях может пережиматься.
    Если это экранированный кабель, а экран криво заземлен - просто будет ловить помехи.

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

    vabka
    @vabka
    Токсичный шарпист
    Все грейды кроме Lead занимаются примерно одним и тем же, но с разным уровнем ответственности и разным уровнем определенности.

    Чем выше грейд, тем больше ответственность и менее конкретные задачи.

    Ну и, естественно, нужно обладать более крепкими hard-скиллами: лучше понимать работу браузера, используемых библиотек и всяких паттернов сетевого взаимодействия

    А конкретики не будет, так как она действительно зависит от конкретной компании.
    Ответ написан
    Комментировать
  • Что означают температуры в даташит на светодиод TDS-P001L4D02?

    vabka
    @vabka
    Токсичный шарпист
    LED Junction temperature - это температура, при которой будет разрушаться сам полупроводник.
    Это точно не та температура, при которой светодиод будет нормально работать.
    Ты точно не хочешь уменьшать её.
    Для мощных светодиодов охлаждение - это обязательная вещь.

    Следи, чтобы температура светодиодов оставалась в диапазоне Operating Temperature (рабочая температура) - тогда всё будет в порядке.
    Ответ написан
    7 комментариев
  • Легальные способы покупки номеров телефонов без идентификации со стороны России?

    vabka
    @vabka
    Токсичный шарпист
    Какую-нибудь международную виртуальную симку (esim) например.
    Ответ написан
  • Почему Telegram банит аккаунт при использовании api спустя 2-3 запроса?

    vabka
    @vabka
    Токсичный шарпист
    И я не спамил запросами, задержка между ними 3-4 сек.

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

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Вроде как привык, ничего критичного, но не хватает нормального терминала, например oh my zsh.

    1. oh my zsh - это не терминал, а расширение для zsh, которое добавляет всякие красивости.
    На Windows это есть. Если для powershell, то это oh-my-posh либо starship.rs, либо можно установить альтернативный шелл - nushell, например.

    2. zsh не терминал. zsh - это шелл. На windows основным шеллом лично я бы назвал powershell core - он достаточно мощный и имеет нормальный синтаксис, в отличие от старого cmd.exe и он кроссплатформенный (если вдруг захочешь его использовать где-то ещё), в отличие от старого windows powershell.

    3. А в качестве терминала на Windows сейчас используется windows terminal, который, имхо, один из лучших терминалов в принципе, а не только на винде.

    Поделитесь опытом, как на windows создать удобное окружение для разработки? Что используете вы? WSL? Docker? Или еще может что можете посоветовать?

    В моём случае:
    1. Jetbrains-овская IDE
    2. Docker или podman на твой вкус и применимость в организации. (docker desktop нельзя бесплатно в крупных организациях использовать)
    3. WSL2 для докера и всего того что должно на линуксе крутиться (туда же и zsh можешь впихнуть)
    4. Windows Terminal + powershell core + PSReadLine + starship для красивого и удобного терминала (вместо starship можно взять oh-my-posh)
    5. Powertoys и Devtoys - просто набор всяких мелких полезных утилит, типа caffeine, полоски для запуска приложений и прочего. А devtoys - это чтобы в интернет или в консоль не лезть, чтобы что-нибудь в-из base64 переложить и всякого такого.

    PS: wamp я бы не стал использовать вообще, как бы не советовали другие отвечающие.
    1. apache давно надо выкинуть в помойку. Вместо него php-fpm+nginx
    2. как и mysql
    3. php требует доустановки целой кучи пакетов, так что пусть живёт в отдельном docker-контейнере
    4. w отсюда тоже следует убрать, так как очень врядли у тебя на проде тоже будет винда.
    Ответ написан
    Комментировать
  • Какой смысл ставить мощный Wi-Fi модуль в ограниченный роутер?

    vabka
    @vabka
    Токсичный шарпист
    Как минимум из-за того что не всякий роутер будет подключен к интернету кабелем.
    Конкретного у этого заявлена поддержка mesh-сетей. => К кабелю можно подключить роутер подороже и с нормальными портами, а вот этот недорогой использовать для расширения покрытия.

    мощный Wi-Fi модуль

    А кто тебе сказал, что там мощный wifi модуль?

    PS:

    Как показывает практика, даже в роутерах с WAN/LAN портами скоростью до 100 Мбит/с (если по тарифу 100 Мбит/с) есть смысл в поддержке стандарта 802.11ac Wi-Fi 5 GHz. Так как по Wi-Fi в диапазоне 2.4 GHz практически нереально выжать 100 Мбит/с. А в диапазоне 5 GHz без проблем можно получить эту скорость.


    А ещё тут другие отвечающие правильно заметили, что в локальной сети устройства между собой тоже могут общаться, хотя лично мне кажется, что для дома это не очень актуально (тот же nas я ни разу не видел, чтобы подключался по wifi, а не кабелем)
    Ответ написан
    Комментировать
  • Как искать работу мидлу, если не разу не работал?

    vabka
    @vabka
    Токсичный шарпист
    Мне 16. Занимаюсь разработкой 4 года. Работал на фрилансе.
    Подхожу к вакансиям на мидлов, иной раз на синьоров.

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

    Middle/Senior - это не только про умение писать код, но и про ответственность и умение работать при высоком уровне неопределённости.
    Junior - отвечает за код в рамках небольшой задачи, которую ему максимально подробно разжевали, а то ещё и старший товарищ помог в разработке.
    Middle - отвечает за крупный компонент или за целое приложение в целом, причём уже в горизонте на год вперёд.
    Senior - влияет уже в целом на команду и немного на соседние продукты, должен уметь с нуля, без спецификации (только с хотелками от бизнеса) разработать полноценное рабочее решение. Уже претендует на звание Team Lead-а, который уже и за людей отвечает.

    Лично я никогда не поверю, что школьник 16 лет отвечает требованиям на Senior, так как у него в принципе врядли когда-то был такой уровень ответственности на проекте.
    Ответ написан
    3 комментария
  • Какие примеры кода показывать работадателю, если ты под NDA?

    vabka
    @vabka
    Токсичный шарпист
    Никакие и не показывать.
    Если бы мне кандидат показал код, который под NDA, то я бы сразу его вычеркнул из кандидатов, тк такой работник и бесплатно не нужен, который при увольнении с радостью сольёт твой код.

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

    vabka
    @vabka
    Токсичный шарпист
    Просто иди получай самое лучшее образование, какое можешь себе позволить.
    Разницы по личному опыту - нет вообще.
    Да и мистические высокие должности, к которым допускают только с высшим образованием, в разработке я ни разу не видел.

    Если задача - потратить меньше сил на учёбу, то не трать их вообще и не получай высшее.

    Спустя 1.5 года нашёл работу, чему очень рад.

    Раз ты уже нашёл работу, то откуда у тебя лишние 4-5 лет, чтобы ещё и в другом городе получать образование? И зачем оно тебе, если ты уже опытом своим можешь доказать наличие нужных навыков?

    И где во фронте вообще нужно высшее?
    Ответ написан
    4 комментария
  • Почему 15,8% на 6 месяцев это 11 785, а не 11 850?

    vabka
    @vabka
    Токсичный шарпист
    Смотри на параметр "прирост капитала" и на конкретные даты открытия и закрытия вклада.
    Формула у ChatGPT получилась правильная, если мы считаем прирост капитала по месяцам (6/12*15.8%), но это не совсем правильно.

    Правильнее будет посчитать по конкретным дням: 366 дней в 2024 году, 182 дня в 6 месяцах (с 27 января до 27 июля 2024).
    Доход приходит 1 раз в момент вывода средств с вклада, и вот ту получаешь доход 11785.2459, а копейки мы отбрасываем (ну или округляем).

    Но сейчас часто вклады работают иначе - прирост капитала происходит не 1 раз, а несколько раз за весь период, что делает вклад заметно более выгодным.
    Ответ написан
    5 комментариев
  • Какой проект можно сделать на PL/pgSQL новичку?

    vabka
    @vabka
    Токсичный шарпист
    Есть две категории случаев, где следует использовать хранимые процедуры:

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

    2. У тебя несколько клиентов и тебе нужно гарантировать целостность. Тогда ты всякие валидации из обычного кода переносишь на СУБД.

    В обоих случаях клиент=серверное приложение, ибо толстые клиенты сейчас делать моветон.
    Ответ написан
    5 комментариев
  • Какая архитектура бекенда для временной информации(капча и пр.)?

    vabka
    @vabka
    Токсичный шарпист
    Тут напрашивается Redis.
    1. Ничего страшного не произойдёт, если разок при вводе капчи пользователя попросят ввести её ещё раз, если на стороне твоего Бэка что-то потеряется.

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

    3. Сессия - это по определению состояние, которое привязано к конкретному пользователю, но при этом не говорится, где оно хранится.
    В случае сервиса капч сессии неприменимы, тк ты не занимаешься идентификацией пользователей.
    Ответ написан
  • При сборке в visual studio выдаёт много ошибок. Возможно ли собрать это решение с github?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Этот проект написан на какой-то устаревшей версии .NET Framework.
    Чтобы избавиться от ошибок - тебе нужно выяснить, на какой именно и установить соответствующий devpack и ту версию Visual Studio, которая поддерживает эту версию .NET Framework.
    Ответ написан
    Комментировать