Задать вопрос
  • Почему все называют TypeScript компилируемым языком программирования?

    Maksclub
    @Maksclub
    maksfedorov.ru
    В целом, если не упарываться терминами, везде для такого рода поведения как у Typescript указывается слово Compile.
    Например, контейнер в Symfony (язык php), чтобы ускорить тяжелую работу по разбору конфигов (всех разных) собирается контейнер один раз (компилируется) и спокойно все называют это дело компиляцией.
    https://symfony.com/doc/current/components/depende...

    Отдельно отмечу, что в английском языке это не самостоятельное слово для сборки программ, и может использоваться много где, где нужен смысл "собрать". Соответственно все, что собирает почти всегда корректно называть компилятором. Потому компиляция у нас — перевод "собирание вместе"
    Ответ написан
    1 комментарий
  • Взаимодействие приложений на разных стэках?

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

    В реальности, граздо чаще нужно сконнектить твой софт (твой бек) с каким-то чужим, в исходники которого ты не хочешь (не можешь) лезть, чтобы добавить ему какой-то новый "протокол общения". Или даже нужно сконнектить несколько "чужих" сервисов. Например базу данных, каие-то обработчики, нотификаторы, логгеры, и т.д.
    И тогда ты не можешь выбирать из всего спектра возможностей существующего в природе, а выбираешь как их коннектить исходя из списка того, что эти сервисы поддерживают. И выбираешь по каким-то своим критериям. Для начала, по производительности, например.

    А потом приходит начальник, и говорит. - эээ, мы вообще планировали распараллеливать эту нейронку, у нас будет от 10 до 10500 инстансов в в облаке. Данные давайте сложим вот в монго-кластер, задачи по обработке сбрасываем в очередь в celery, если очередь вырастает больше чем на N, то кубер автоматически поднимает еще несколько инстансов... и так далее, насколько у него фантазия разгуляется.

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

    И как-то так получается, что пока у тебя маленький проект на одном сервере - тебе эти накладные расходы "со всем издержками http протокола" погоды не делают. А когда компов много, то может так выйти, что кроме этого протокола и альтернатив не так уж много.

    А кроме производительности бывают вопросы типа "сервис упал во время работы, что случилось с задачей которую он обрабатывал? Нужно ли его рестартнуть? Нужно ли перебросить эту задачу на другой инстанс? Если все таски работают нормально, а эта уже в пятый раз упала, то может она кривая какая-то?" И тут понеслось новым слоем - система мониторинга, оповещения, автоматический или полуавтоматический "кризис менеджмент".

    В общем тема большая, и большие коммпании решают ее по разному - структура сервисов фейсбука и алиэкспресса может сильно отличаться, и каждый будет уверен что его подход хорош. Ну или не очень хорош, но менять архитектуру для сотени или тысяч сервисов - дорого. И комания binance основанная 5 лет назад может архитектурно оказаться гораздо современнее и технологичнее какого-нибудь paypal'а основанного в прошлом тысячелетии. И не потому что paypal не шарит, а потому что переделывать большую систему очень дорого.

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

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

    YuriyVorobyov1333
    @YuriyVorobyov1333
    Software Developer
    Является, вы не сможете подменить id

    Плюс в самом telegram многое завязано на айдишники

    А говоря про контроль доступа, никто не запрещает использовать тот же RBAC, но тут вам все равно понадобится id пользователя

    А есть еще вот такой вариант

    Исходя из вопроса вы направлены на одного определенного пользователя, это все выглядит несколько избыточно, пользователь в telegram уже аутентифицирован, и его id подходит для авторизации без нагромождения лишнего кода, но если вам нужно предоставить доступ группе пользователей, то лучше прикрутить роли
    Ответ написан
    Комментировать
  • Как нужно собирать датасет для модели бинарной классификации?

    @rPman
    Обязательно нужно собирать посты на ВСЕ тематики, точнее все, которые могут быть поданы на вход твоего алгоритма.

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

    p.s. модель llama, точнее openassistent 30b, неплохо читает новости и отвечает на вопросы, в т.ч. по категории (очень сложно составить правильный запрос), на десктопном процессоре 60 русскоязычных постов по ~7кб она читает примерно 4 часа. Так как модель прекрасно знакома с кодом, ответить на вопрос она сможет.

    ~/llama.cpp/main -t 4 -m /d/OpenAssistant/oasst-sft-6-llama-30b-22042023-q4_0.bin -n 64 --temp 0 -f prompt.txt
    ### Input:
    
    Классификация
    Как нужно собирать датасет для модели бинарной классификации?
    Я хочу создать модель, которая бы выявляла посты из соцсетей на IT-тематику. Какой подход для этого нужно выбрать -
    1) собрать как можно больше постов из соцсетей, в том числе на IT-тематику,
    2) или собрать только посты на IT-тематику?
    Если нужен первый подход, то в каком соотношении надо брать посты на IT-тематику и остальные?
    
    ### Question:
    
    Тема этого сообщения IT или нет? ответь да или нет.
    
    ### Answer:
    
    Да [end of text]
    58 секунд
    ### Input:
    
    Биолог Зоя Зорина о трактовках сознания, способности к самоузнаванию у дельфинов и экспериментах по выявлению сознания у животных
    Сознание — одно из сложнейших проявлений психики человека, которое трактуют по-разному представители разных наук. До недавнего времени его рассматривали только как «высшую, свойственную лишь человеку форму отражения объективной действительности, способ его отношения к миру и самому себе… Сознание представляет собой единство психических процессов, активно участвующих в осмыслении человеком объективного мира и своего собственного бытия. Оно… неразрывно связано с языком» и «со способностью идеального воспроизведения действительности в мышлении» (БЭС, 1996). Есть и еще более отвлеченное представление о сознании как о явлении, не сводимом только к работе мозга, как о «со-знании», совместном знании нескольких индивидов. Вполне очевидно, что искать этот уровень сознания у животных не приходится, и считалось, что в процессе эволюции психики животные останавливаются на стадии интеллекта, а стадии сознания достигает только человек (Леонтьев, 1952).
    
    ### Question:
    
    Тема этого сообщения IT или нет? ответь да или нет.
    
    ### Answer:
    
    Нет [end of text]
    119 секунд
    Ответ написан
    Комментировать
  • Морально устаревший браузер?

    @Drno
    потому что не имеет поддержки нужных технологий
    а про wifi в метро - я бы крайне не советовал тебе им пользоваться впринципе
    Ответ написан
    4 комментария
  • Какое программное обеспечение должно быть в сети?

    paran0id
    @paran0id
    Умный, но ленивый
    Первая большая группа - бизнесовое ПО. Диктуется бизнесом. Часто специфично.
    Вторая большая группа - офисное ПО. Как правило это всякий виндовс, офис, 1С, консультант+, программы для отправки отчетности. Довольно типичный набор, мало зависит от специфики бизнеса.
    Третья большая группа - инфраструктура. Сервера. AD, БД, мониторинг, СКУД, удаленный доступ. На усмотрение ИТ-отдела.
    Ответ написан
    Комментировать
  • Возможна ли комфортная работа c IDE через x-server (vcxsrv, x410, xming, etc..)?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    gedit и firefox, запущенные из WSL2 - работают без каких-то лагов интерфейса.
    И да - там нет никакого окошка и рамок - выглядит просто как запущенное приложение в Windows .
    Вот официальная дока https://learn.microsoft.com/en-us/windows/wsl/tuto...
    Ответ написан
    Комментировать
  • Компьютер сильно нагружается, после открытия диспетчера задач он перестаёт нагружаться, что делать?

    Vvvyg
    @Vvvyg
    Был админом, сейчас в ТП
    Похоже на майнер. Если Dr.Web CureIt!, KVRT не решат проблему, обращайтесь на форумы лечения:
    virusinfo.info
    safezone.cc
    forum.kasperskyclub.ru
    Сразу читаем правила раздела, создаём тему с логами.
    На первых двух форумах я присутствую. Почему лечиться лучше там, а не спрашивать совета здесь - 2 основные причины:
    1. Удобнее, ответят быстро и только компетентные специалисты.
    2. Приватность, посторонние не увидят ваши логи, в которых может быть конфиденциальная информация.
    Переустанавливать систему при каждом чихе, как тут советовали, совершенно избыточно.
    Ответ написан
    Комментировать
  • Компьютер сильно нагружается, после открытия диспетчера задач он перестаёт нагружаться, что делать?

    @As56
    Как вариант майнер. Еще могут быть кривой драйвер, кривое обновление. Первое можно задетектить антивирусом
    Ответ написан
    Комментировать
  • Prisma | Как подключится к базе данных, если данные о ней приходят из клиента?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Сходу кажется, что такого нет (как и программной настройки такового)

    Но есть issues для поддержки нескольких подключений...
    Пример в одном из issue: https://github.com/prisma/prisma/issues/2443#issue...

    Остается генерировать эти клиенты (программно в том числе :) — можно в отделной БД держать данные о файлах и номерах, можно еще где-то хранить...

    P.S. понятия не имею, что за Prisma, просто поискал в доке (не нашел) и потом поискал в issues

    P.S2: в целом не совсем понятно, зачем вам эта штука, если она поперек вашей затеи :) если генерировать отдельные приложения с ее поддержкой, то что мешает генерировать эти файлы? в общем подумайте про архитектуру и задумку с учетом инфы выше
    Ответ написан
    2 комментария
  • Как сделать поиск который понимает суть запроса?

    2ord
    @2ord
    Для этого необходимо, чтобы анализатор мог производить разбор частей речи языка, как минимум.
    Тогда анализатор будет понимать смысл речи и извлекать нужные компоненты.
    Есть технология NER.
    Ответ написан
    Комментировать
  • Какой бекэнд выбрать для компилятора?

    mayton2019
    @mayton2019
    Bigdata Engineer
    игрушечный скриптовый язык программирования.

    Какой бекэнд выбрать для компилятора?

    В самом вопросе обычно лежит половина ответа.
    Если вы дадите определение back-end - то правильно облегчите себе решение задачи.
    Вот выше вы писал про скриптовый язык. Тогда почему вдруг стали дальше писать про
    back-end и native-компилляторы?

    Есть целый пласт языков или виртуальных машин которые живут и работают не доходя
    всегда до LLVM. И нужен ли вам LLVM - большой вопрос. Что вы хотите от LLVM? HiLoad?
    Это не задача скриптинга.

    Вобщем поставте какое-то внятное целеполагание. Вы создаете скриптовый язык чтобы ЧТО?
    Ответ написан
    Комментировать
  • Как разрабатывать игру вместе с другом?

    Есть замечательная книга, доступна онлайн: оригинал, русский перевод
    Ответ написан
    Комментировать
  • Как скопировать часть сложной формы?

    Такие вещи лучше делать в CAD, а не в Блендере. Но если хочется в Блендере, то вам тут помогут boolean-операции. По описанию я не понял до конца, что хотите сделать, поэтому конкретные операции не подскажу.
    Ответ написан
    Комментировать
  • Почему куллер не охлаждает ЦП мгновенно?

    nava2002
    @nava2002
    Инженер
    Ключевое слово - Теплопроводность
    Между Кулером и Кристаллом процессора (на котором меряем температуру) находится:
    1. Ттермопаста (внутри корпуса процессора)
    2. Крышка процессора (видимая часть)
    3. Опять термопаста (нанесенная пользователем)
    4. Собственно кулер.
    Исходя из такой "многослойности" есть предел теплопереноса превысить который скорее всего не получится.
    Наличие аномальных скачков температуры Не есть хорошо.( кристалл будет расширяться и сжиматься что влияет на срок жизни детали).
    Вероятнее всего действительно эффективным методом будет понижение частот процессора.

    P.S. "Разгон" - кратчайший путь в магазин за новыми деталями.
    Ответ написан
    Комментировать
  • Анонимный выход в сеть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Чтоб жить анонимно в современном цифровизированном государстве надо просто отказаться от всех услуг государства. Выкинуть телефоны и банковские карточки. Порвать паспорт и уйти жить бомжом или к цыганам.
    Вот как-то так. Бомжа и человека без документов невозможно судить или к чему-то привлечь. И обычно полиции или военкому такие люди просто не интересны.

    Можно было-бы пообсуждать всякие tor, free-net и прочее. Я не пользовался. Но знающие говорят что работать невозможно. Трафик слабый. И есть проблема нулевого доверия которая существует почти всегда везде и во всех крипто-системах. Нет доказательства что самый первый peer к которому ты подключаешся не работает на спец-службы. И никто из крипто-сообщества насколько я знаю никогда не проводил полный анализ на безопасность например сети tor. И не доказывал сам факт безопасности. Нам просто предлагают поверить что tor безопасен примерно таке-же как и Мавроди убеждал в свое время что его денежные знаки надежны.

    А самый простой популярный протокол TCP/IP в принципе вообще исключает анонимность на уровне своей идеи. Сокетное соединение всегда знает source/dest IP и замылить или каким-то образом скрыть эту информацию просто невозможно. Прокси и наты и соксы и ВПН-ы не в счет так как они тоже ничего вам не обещают и не гарантируют.

    По поводу VPN на базе хостингов AWS/Azure. Почти все облачные провайдеры содержат на своем сайте документ
    который вы должны были читать. И он говорить о том что сервисы облачного провадера не могут быть использованы для незаконной деятельности (терроризм, наркотики, работорговля e.t.c.). Список видов деятельности может быть еще шире и поэтому надо читать. Поищите этот документ. Он должен быть. В разных формулировках но суть одинакова.
    Ответ написан
    2 комментария
  • Как вывести всю таблицу MySql C#?

    Lapita12
    @Lapita12
    Тесты, тесты?
    using System;
    using System.Data;
    using MySql.Data.MySqlClient;
    
    class Program
    {
        static void Main()
        {
            string connectionString = "Server=localhost;Database=myDatabase;Uid=myUsername;Pwd=myPassword;";
            
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                connection.Open();
                
                MySqlCommand cmd = new MySqlCommand("SELECT * FROM myTable", connection);
                MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
                DataTable table = new DataTable();
                adapter.Fill(table);
                
                connection.Close();
                
                foreach (DataRow row in table.Rows)
                {
                    Console.WriteLine($"{row["Column1"]}, {row["Column2"]}, {row["Column3"]}");
                }
            }
        }
    }

    Не забудьте заменить myDatabase, myUsername, myPassword на реальные значения для вашей базы данных, а также myTable и Column1, Column2, Column3 на реальные имена таблицы и столбцов.
    Ответ написан
    Комментировать
  • Почему именно VPN?

    @Drno
    Потому что хочется шифрования днс тоже, к примеру…
    Потому что не все приложения умеют прокси + лень каждое настраивать
    Ответ написан
    Комментировать
  • Чем не угодили 2G и 3G?

    @d-stream
    Готовые решения - не подаю, но...
    Это общая тенденция замены оборудования и технологий на следующие поколения. Ближайшие примеры: гужевые повозки и автомобили - они какое-то время сосуществуют, но на автострадах - ни-ни.
    Ну и экономика: в рамках выделенного диапазона частот в сетях новых поколений можно обслужить больше абонентов единовременно. Да и абонентам не очень комфортно наблюдать в местах массового скопления "5 палок и нет связи" лишь по причине занятости всех таймслотов.
    Вторая часть экономики: единовременно содержать сразу два поколения = двойным затратам на содержание.
    Ответ написан
    8 комментариев
  • Чем не угодили 2G и 3G?

    Lapita12
    @Lapita12
    Тесты, тесты?
    2G и 3G устарели, поэтому многие страны убирают их в пользу более современных стандартов связи, например, 4G и 5G. В США 2G и 3G уже полностью отключены, что было связано с освобождением дополнительного спектра радиочастот для более производительной сети. Вероятность отключения 2G и 3G в других странах зависит от развития сетевых технологий и инвестиций в сети.
    Ответ написан
    1 комментарий