Задать вопрос
  • Можно ли заменить javascript языком dart/flutter?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно создатели языка имеют в виду некую свою философию или идею чтобы пояснить
    зачем собственно они его создали. Вот несколько цитат с авторского сайта https://dart.dev/overview

    Dart is a client-optimized language for developing fast apps on any platform.


    The Dart language is type safe; it uses static type checking to ensure that a variable’s value always matches the variable’s static type.

    Dart has built-in sound null safety. This means values can’t be null unless you say they can be.

    Начало хорошее. Мне нравится. Возможно проблема null-safety для веба и не сильно выражена. Но для
    back-end - это ошибка в мильярд баксов. Так ее называют из за суммарного урона на всю историю
    существования фичи.

    Native platform: For apps targeting mobile and desktop devices, Dart includes both a Dart VM with just-in-time (JIT) compilation and an ahead-of-time (AOT) compiler for producing machine code.

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

    Web platform: For apps targeting the web, Dart can compile for development or production purposes. Its web compiler translates Dart into JavaScript.

    А вот это уже фигня какая-то. Рантайм в браузере остается JavaScript-овым. Пока я отмечаю новизну этого
    языка только в части Native. Для браузера - по сути тот-же TypeScript. Остается провести сравнительное
    тестирование и решить стоит ли TS замены на Dart.
    Ответ написан
    Комментировать
  • Как реализовать взаимодействие нескольких библиотек между собой на c++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это преподаватель тебе такие задачи подкидывает?

    Загружай все три библиотеки и построй над ними полиморфизм через языковые возможности С++.
    Ответ написан
    Комментировать
  • Как запустить Python приложения на хостинге с Cpanel?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Пишет что нет модуля aiogram. Установи.
    Ответ написан
    Комментировать
  • Как нарисовать график (интересует мат. формула)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Рисование графика по эскизу - это не такая простая задача. Обычно в школе нас учили рисовать графики
    полиномов до 2 степени. Это было не сложно. Надо было понять куда парабола смотрит. Рогами вверх или вниз.
    Куда она сдвинута относительно нуля координат. Это давало поправочные суммы к x, y. И насколько резко рога
    у нее взлетают. Обычно парабола пересекает точки (-1,1) (0,0) (1,1) в дефолтном варианте. И видя
    ее искажение по вертикали или горизонтали - можно примерно придумать какие множители добавить к X.

    В данном рисунке скорее всего имеет место композиция двух функций. Первое - это линия вида
    y = 0 если x = [0,2]
    и y = F(x) если x - [2, ∞] где F(x) - это некий полином может второй степени или выше.
    чтоб точнее понять надо брать например производные в каких-то ключевых точках
    и подставляя проверить что совпадает фактическое значение. На графике конечно
    мы глазами видим не производную а тангенс угла между OX и касательной в точке.

    На графике очевидно что производная (или практически - дифференциал) в точке
    (0,2) почти равен нулю и в точке около (8, ?) равен примерно тангенсу 45 градусов.
    Вот надо по этим прикидкам примерно представить что это за графика такой.
    Если производная от x^2 равна 2х то дальше считаем и подставляем.

    Хотя я могу придумать много графиков которые выглядят как эта кривая. Здесь подойдет
    и фрагмент синусоиды тоже.
    Ответ написан
    Комментировать
  • Как конвертировать ogg в mp3 python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не для Питона. Для bash я использовал комбинацию из ffmpeg + lame

    ffmpeg -acodec libvorbis -i "$i" -acodec pcm_s16le

    lame [options] <infile> [outfile]

    Там кажется можно исхитриться и сделать pipeline чтоб не создавать промежуточный wav файл. Но навскидку
    я не помню как. Вот. Далее вызвать из Питона эти утилиты.
    Ответ написан
    Комментировать
  • Как остановить отаку ботов на сайт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не знаю годиться ли такой сценарий для Wordpress. Вот есть штука такая в NGINX как dynamic denylisting https://docs.nginx.com/nginx/admin-guide/security-...

    Осталось автоматизировать сбор ботов с логов.
    Ответ написан
    Комментировать
  • Равноценно ли использование MariaDB вместе MySQL?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для учебных задач тебе будет почти безразлично. Можешь ставить MariaDb.
    Ответ написан
    Комментировать
  • Как перенаправить вывод strace в tail?

    mayton2019
    @mayton2019
    Bigdata Engineer
    strace ничего не знает про Python и будет показывать только системные вызовы.
    До того как использовать strace я-бы предложил поискать диагностические инструменты
    pyhhon (я думаю такие есть) и начать с них.

    Тем более что мы имеем не бинарник а вполне себе доступный исходник.

    К чему это я. В strace надо смотреть с какими-то expectations. С ОЖИДАНИЕМ того что мы хотим увидеть.
    И с пониманием того как с этой информацией поступать дальше.

    Просто так смотреть в стрейс из любопытсва - это зря терять время.
    Ответ написан
    Комментировать
  • Как vk_боту с помощью Python скачать изображение?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почему вы Питонисты никогда не обрабатываете коды ошибок http?
    def download_file(url, path):
        response = requests.get(url)
        with open(path, "wb") as f:
            f.write(response.content)


    request.get - возвращает статус. Это может быть 300-тка. Ошибка клиента. 400-тка. Секюрити. Или 500-тка
    баги на сервере. Вот что у тебя пришло?
    Ответ написан
  • Как довести созданную БД до рабочего состояния?

    mayton2019
    @mayton2019
    Bigdata Engineer
    MySQL Workbench Community edition. Я быстро сделал все необходимые таблицы и создал связи, как нас учили, осталось только экспортировать ее для того, чтобы с ней можно было работать, но почему-то я совсем не могу понять, как это сделать.


    По данным обрывочным сведеньям невозможно сделать анализ ошибки. Опиши что ты делал по шагам.
    Процесс экспорта в MySQL начинается с

    $ mysqldump ....

    Покажи консоль. Покажи спул. Покажи какого размера получились файлы. Что внутри? Должны быть
    текстовые скрипты внутри (это важно потому что некоторые dbms под экспортом или дампом или бэкапом
    подразумевают вообще другие вещи).

    Мне кажется ты рыспыляешся и бежишь впереди паровоза. Тебя просили сделать одно а ты сам себе написал
    нефункциональные требования и выбрал dbms и словил кучу ошибок.

    Хочешь совет опытного? Если забуксовал больше 1 дня на технологии - выкинь ее. Возьми Excel или Access.
    Твоей маме будет безразлично а тебе - проще. Короче реши что тебе надо на самом деле. Изучать новые
    dbms или помогать родственникам.
    Ответ написан
    Комментировать
  • Как вытащить данные со страницы Binance?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Зачем лазить в binance с черного хода когда там есть официальный API https://www.binance.com/en/binance-api
    И куча коннекторов под все языки написаны.
    Ответ написан
    1 комментарий
  • Как получить непересекающиеся строки между двумя запросами с group by?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Используй except:
    select * from ....
    except
    select * from ....
    Ответ написан
    Комментировать
  • Где можно прочитать про всю суть ЯПов под капотом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Литералы это сокращения названия объектов

    Впервые такое слышу. Возможно фраза вырвана из контекста.

    Вот литералы. Текстовый
    "Hello"
    Вещественное число
    3.14

    Что такое ключевые слвоа

    Это зарезервированные слова которые являются частью синтаксиса языка.
    Например.
    class, interface, override, trait, extends, case ....

    Из них нельзя делать имена переменных и их нельзя использовать
    в спорных контекстах когда неизвестно что имеется в виду (ключевое слово
    или то что ты хотел объявить).

    Говорить о них обобщенно нет смысла потому что в каждом языке - свои такие слова.
    Бери конкретный язык и по нему смотри.

    Отличие выражений от инструкциий


    По выражению я тебя адресую вот в эту статью https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%80%D...

    Здесь очень хорошо описано. Насчет инструкции - непонятно. Опять-же ты получаеться полез
    в терминологический спор без контекста. Так не бывает. Вот чтоб ты понял. Если собрались
    математики и начинают что-то обсуждать то самое первое что они делают - это договариваются.
    Какие у нас будут символы что обозначать. Комплексные числа? Кольца? Алгебры и т.п.
    Потому что инструкция в ассемблере - это одно а в другом - вообще другое. И если я попробую
    обсуждать инструкии без понимания где я нахожусь - я буду смешно выглять.

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

    ООП - это софистика и схоластика современного айти и не дай бох вам попасть на собеседование
    с такой подготовкой как щас. Поэтому если вы просто хотите проникнуться с духом ООП - изучите его
    реализацию в одном языке. Например в C#. На примерах с кошкой собакой и с волком. И этого будет достаточно.
    Больше для бизнес-программирования от ООП не требуется.
    Ответ написан
  • Как сделать, чтобы приложение Java с классом Robot работало в проекте STALCRAFT?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Поскольку в хабре нет тега майнкрафт и плагины - то мы можем обсуждать только Java.
    Давай код и лог с ошибками. Там уже по ходу жизни будем смотреть.
    Ответ написан
  • Является ли Не перенос строки синтаксическим сахаром?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет. То что ты нарисовал - это просто форматирование.
    Ответ написан
    Комментировать
  • Как определить, где запущен код python - в PyCharm или в Google Colab?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно все процессы (и питонские и прочие) запускаются в виде Linux процесса в окружении
    переменных environment.

    Сравни наборы переменных вот как тут пишут
    https://stackoverflow.com/questions/4906977/how-ca...
    Ответ написан
  • Почему сайты открываются не с первого раза?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я так понимаю что с какого-то года понятия Интернет больше нету. Есть государства. И каждое из них
    на своей территории ведет свою политику и свое видение Интернета. Вот в таких реалиях
    надо жить и задавать вопрос уже в контексте. И смена DNS может и не быть решением проблемы.
    Ну зарезолвишь ты имя. А по IP адресу еще остануться блокировки а то и по блокам адресов и по целым
    странам.
    Ответ написан
    5 комментариев
  • (Вопрос без однозначного ответа) Почему в window socket 2 используется так много различных дефайнов и псевдонимов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я тоже до конца не понимаю цели и задачи которые ставились для winsock2 но вот можно
    почитать аннотацию здесь https://learn.microsoft.com/en-us/windows/win32/wi...

    С моей точки зрения было время большого разлада между лагерем Microsoft и Unix. И вместо того
    чтобы просто позаимстовать сетевые библиотеки или купить лицензии, MS как всегда стал делать
    что-то свое, "сумчатое" и ни на что не похожее. Яркий пример Component-Object Model (COM).
    Нигде такого нет.

    Для чего создаватьtypedef struct addrinfo{}? Только ради того, чтобы не писать struct в Си?

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

    Для чего определять *PADDRINFOA

    Вот здесь не знаю для чего. Хотя подобный подход я видел не только у Microsoft но и у других.
    Вообще иногда мы не догадываемся но код может быть сгенерирован кросс-компилляторами
    и в этом случае названия идентификаторов могут быть очень длинными и причудливыми.
    А удаление звездочки из синтаксиса сужает возможности разработчика тоесть не дает
    допустить ошибку. Такая себе строгая типизация в квадарате.

    Где-то спокойно используется int, а где-то используетсяtypedef unsigned __int64 UINT_PTR, опять же вместо того, чтобы просто писать unsigned __int64.

    Это очень старый технический долг языка С++ и его уже нельзя исправить. Дело в том
    что спецификация языка не объясняет какой разрядности должен быть int. Он может быть
    16, 32 бит в зависимости от целевого железа. По сути он - синоним регистра процессора.
    И когда мы делаем цикл от 1 до 10 и нам по сути неважна разрядность параметра цикла - мы просто заказываем
    int чтоб долго не думать. И компиллятор собирает очень быстрый и оптимальный код.
    sizeof(int), или константы в в limits.h могут дать подсказку по вашей текущей архитектуре.

    typedef unsigned __int64 UINT_PTR

    Здесь идет форсирование разрядности в 64 бита. Такие потребности возникают
    в момент когда у нас есть например жестко заданный формат (сетевой протокол
    или дисковый формат файла) и мы должны гарантировать что другие архитектуры
    микрокотноллеры, мобилы и прочее правильно смогут интерпретировать эту структуру.
    Тут еще и порядок байтов внутри слова тоже важен. В наше время даже есть сет
    стандартов на описание таких структур ASN, AVRO, Protobuf, Thrift.
    Ответ написан
    1 комментарий
  • Как найти 3 самых частых символа в строке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Много путей. Можно отсортировать и потом просто пройтись по всем сериям.

    aaaaaaaabbcccccdeeeeeeeeeeee
    Вот здесь глазами видно что серия а и е самые длинные а потом еще с.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сама идея объединения USB устройств в хабы - заложена в протокол. Благодаря ему и существуют всякие портативные разветвители для ноутбуков. Тоесть 1 слот и там ... до хрена устройств подключить. Это
    как TCP сеть в миниатюре. Вообще после всяких COM/LPT слотов USB шина была прорывом. Размножение
    устройств например на SCSI кабеле было реализовано за счет электрических свойств самого кабеля.
    USB после этого конечно верх удобства.

    По поводу припаять. Скорее всего не получиться. Дело в то что флешка это не кусок памяти. Это
    вполне себе умное и завершенное устройство со своим контроллером и со своими зашитыми
    от производителя возможностями. И это умное устройство паять тоже нужно по умному.

    А так можно попробовать просто вставить 2 флешки в хаб и как-то объединить их в один логический
    volume средствами ОС Linux например. Правда надежность такого волума будет падать.
    Если какое-то устроство отъезжает от случайного шатания слота - то весь диск будет развален.
    Ответ написан
    Комментировать