• Что означают температуры в даташит на светодиод 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.
    Ответ написан
    Комментировать
  • Zabbix срезает # и все что справа, как побороть?

    vabka
    @vabka
    Токсичный шарпист
    И правильно делает. # - это для браузера штука и в http-запросах никогда не фигурирует.
    Ответ написан
    Комментировать
  • Как создать Токен для Tinkoff?

    vabka
    @vabka
    Токсичный шарпист
    https://www.tinkoff.ru/kassa/dev/payments/#tag/Sta...
    Видимо таки какие-то параметры не те указываешь.

    Вот, как на самом деле формируется токен:
    https://www.tinkoff.ru/kassa/dev/payments/#section...
    Перед выполнением запроса MAPI проверяет, можно ли доверять его инициатору. Для этого сервер проверяет подпись запроса. В MAPI используется механизм подписи с помощью токена. Мерчант должен добавлять токен с каждому запросу, где это требуется.

    Токен - это не просто конкатенация. Это конкатенация + хэширование


    Она направила на документацию и на этот сайт https://tokentcs.web.app/

    Этот сайт как раз демонстрирует, как происходит генерация токена исходя из пароля и параметров запроса

    Вот прям пошаговый алгоритм:
    1. Собрать массив передаваемых данных в виде пар Ключ-Значения. В массив нужно добавить только параметры корневого объекта. Вложенные объекты и массивы не участвуют в расчете токена.

    В нашем случае это TerminalKey и PaymentId

    2. Добавить в массив пару {Password, Значение пароля}. Пароль можно найти в личном кабинете Мерчанта
    3. Отсортировать массив по алфавиту по ключу
    У нас получается Password, PaymentId, TerminalKey
    4. Конкатенировать только значения пар в одну строку
    У нас получается Password + PaymentID + TerminalKey
    ВАЖНО! payment_id нужно брать именно такой, какой тебе пришёл из API. Лишние или недостающие нули - всё сразу пойдёт по сам-знаешь-какому месту.

    5. Применить к строке хеш-функцию SHA-256
    В питоне для этого можно использовать hashlib
    Я хз каким образом без этого у belkinark заработало. Мб он что-то напутал.
    6. Добавить получившийся результат в значение параметра Token в тело запроса и отправить запрос
    Ответ написан
    8 комментариев
  • Почему занята 50% 16 ГБ ОЗУ но используеться не болле чем 3 ГБ?

    vabka
    @vabka
    Токсичный шарпист
    Так у тебя же там всё написано, на что используется память.
    Всё вполне нужное.
    В чём проблемы, если у тебя ещё половина свободно?
    Ответ написан
  • Можно ли упростить данный код (см. внутри), заменив ConcurrentBag list'ом и установив lock?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Код не читал, но попробуй так:
    У меня есть задача: есть много текстовых файлов, заполненных рандомным текстом, в котором иногда встречаются имэйлы.
    после того, как какой-то поток считал имэйлы, он должен записать их на один файл, при этом всех три потока должны записывать считаннные данные на этот один файл, не на разные файлы.


    1. Для каждого из файлов запусти по потоку (таске), каждый из которых пусть свой файл читает в поисках имеилов.
    2. Для записи в итоговый файл - заведи ещё 1 поток (таску).
    3. Коммуникацию между N читающими и 1 пишущим организуй через System.Threading.Channel

    Таким образом ты избавишься от ненужных блокировок и затрат на синхронизацию доступа к какому-то списку.

    UPD: в двух и больше файлах могут быть несколько одинаковых имэйлов и считывать мне надо именно первую копию имэйла из первого файла, где эта копия встретилась, если этот имэйл имеет несколько копий в разных файлах.

    UPD: тогда смотрим на количество данных.
    Если имеилов мало (по сравнению с количеством ОЗУ), то тогда можем прямо в памяти держать HashSet и проверять его в пишущем потоке.
    Если имеилов побольше - можем сделать HashSet не по самим и имеилам, а по их хешам.
    Если имеилов совсем много, то тогда можно записывать в отсортированную структуру данных на диск (двоичное дерево поиска например).

    UPD2:
    Для каждого из файлов запусти по потоку (таске), каждый из которых пусть свой файл читает в поисках имеилов.

    На самом деле можно попробовать запустить несколько потоков, разделив каждый файл ещё на N сегментов и назначив потокам эти сегменты. Плодить новые можно до тех пор, пока у тебя IO не кончится.
    Ответ написан
    1 комментарий
  • Как происходит тарификация запросов отслеживание ГЕО, локатора и тд в Я. Карты?

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

    В данном случае тарификация будет исполючительно за запросы к Яндексу в рамках тарифа на SDK.

    https://yandex.ru/maps-api/tariffs

    Конкретная цена будет зависеть от того, где карта будет показана (сайт или МП).

    Либо, если ты будешь локацию определять не сам (через GPS), а через яндексовский геолокатор, то тогда цена тоже будет за запросы к API.
    (Это уже в дополнение к уже оплаченной карте)
    Ответ написан
    Комментировать
  • Как пожаловаться на противоречащий сам себе вопрос?

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

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Тоже не супер новая библиотека, но написано под netstandart https://github.com/UNIT6-open/TemplateEngine.Docx
    Ответ написан
    1 комментарий
  • Сетевой инженер: каковы особенности данной профессии?

    vabka
    @vabka
    Токсичный шарпист
    Суммируя вопрос:

    Здравствуйте бла бла бла

    Это вообще не вопрос.

    В связи с этим хотелось бы узнать, является ли такой режим и график работы для сетевика нормой?

    Можно посмотреть на то, какие обязанности у конкретного работодателя.
    Вообще всякие дежурства, даже ночные - это норма, особенно если инфраструктура критичная для бизнеса.
    Откуда по твоему седина у многих опытных инженеров?)

    Второй момент, который меня интересует - это обязанности сетевого инженера.

    Все описаны в конкретной вакансии.
    Профессия формируется не от названия, а от компетенций.

    Зачастую смотря вакансии, я вижу, что порой предлагают заниматься какими - то странными вещами (которыми по моему сетевик заниматься не должен), что-то типа поддержки пользователей, сборки компов и ремонта оргтехники и тд.

    Показательный пример того.

    В сторону каких компаний можно посмотреть, на что обратить внимание, чтобы заниматься действительно сетевыми вопросами: настройкой и администрированием сетевого оборудования и тд, а не объяснять юзеру по телефону почему у него принтер не работает или программка не открывается )

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

    Ну, и, конечно же, очень интересует финансовая часть.

    Смотри на вакансии и требования в них.

    Вообще статистики достаточно много в свободном доступе и в среднем цифры такие:
    Junior - меньше 100к
    Middle - от 100к до 200к
    Senior/Lead - 200к+
    Ответ написан
    Комментировать