Задать вопрос
  • Можно ли использовать код PHP в таблице mysql?


    Для того чтоб не грамоздить код if/elseif

    Для этого существует архитектура.
    Код нужно писать не как попало, а хотябы немного думать и использовать доступные возможности языка.


    Тоесть в зависимости от ситуации и вводимых данных пользователем использовать разный сценарий

    Звучит как "стратегия"


    а использовать базу для веток.


    Ну в теории ты конечно же можешь запихнуть код в БД и вызывать его потом через eval, да только это твою проблему не решит, а добавит ещё больше новых
    Ответ написан
    3 комментария
  • Почему процессоры без встроенной карты не быстрее процессоров со встроенной?


    Почему в i5 тогда не добавляют больше быстрой процессорной памяти или не сделают некоторые модели i7 без встроенной карты и таким же количеством ядре, но с большим кэшем

    Потому что технологический процесс такой, что младшие модели/модели без видеоядра получаются путём отключение кусков чипа из старшей модели, в которой есть всё.

    Либо видеоядро добавляется как отдельный чип.

    Делать отдельную производственную линию, чтобы получить более мощные процы без видеоядра тупо не выгодно.
    Ответ написан
    Комментировать
  • Как выводить числа на семисегментный дисплей в Microprocesor Simulator 5v32?

    Microprocesor Simulator 5v32

    Следовало это в заголовке отразить :)

    Задача тут получается в том, чтобы преобразовать число в сигнал для вывода на этом дисплее.
    63a3f545951b5190245050.png
    Как можно увидеть, каждый бит на PORT 2 отвечает за разные сегменты дисплея.
    Первые 7 - за сами сегменты в порядке: Верхний, Верхний-Левый, Нижний-Левый, Нижний, Нижний-Правый, Центральный, Верхний-Правый.
    Последний бит отвечает за выбор одного из двух дисплеев. 0 - первый, 1-второй.

    Вот так можно вывести 33:
    Start: 
    
    ; Чистим первый знак
    MOV AL, 0
    OUT 02 
    
    ; Чистим второй знак
    MOV AL, 1
    OUT 02
    
    ; 3 на первый
    MOV AL, 9e
    OUT 02
    
    ; 3 на второй
    MOV AL, 9f
    OUT 02
    
    END


    Преобразовать одно в другое можно разве что тупым сопоставлением:
    1=06
    2=B6
    3=9E
    4=4E
    5=DC
    6=FC
    7=86
    8=FE
    9=DE
    0=FA

    Которое можно представить в виде процедуры с кучей CMP и JNZ:
    Код


    Start: 
    MOV AL, 0
    OUT 02 
    
    
    MOV AL, 1
    OUT 02
    
    ; Для примера выведем 42
    MOV AL, 4 ; Первая цифра
    CALL 30
    OUT 02
    
    MOV AL, 2 ;Вторая цифра
    CALL 30
    OR AL, 1 
    OUT 02
    
    ; ----- DIGIT TO SEGMENT -----
    ORG 30
    
    CMP AL, 00
    JNZ ONE
    MOV AL, FA
    RET
    
    One:
    CMP AL, 01
    JNZ Two
    MOV AL, 06
    RET
    
    Two:
    CMP AL, 02
    JNZ Three
    MOV AL, B6
    RET
    
    Three:
    CMP AL, 03
    JNZ Four
    MOV AL, 9E
    RET
    
    Four:
    CMP AL, 04
    JNZ Five
    MOV AL, 4E
    RET
    
    Five:
    CMP AL, 05
    JNZ Six
    MOV AL, DC
    RET
    
    Six:
    CMP AL, 06
    JNZ Seven
    MOV AL, FC
    RET
    
    Seven:
    CMP AL, 07
    JNZ Eight
    MOV AL, 86
    RET
    
    Eight:
    MOV AL, FA
    JNZ Nine
    CMP AL, FE
    RET
    
    Nine:
    CMP AL, 09
    JNZ err ; Если это и не 9, то просто сваливаемся в ошибку
    MOV AL, DE
    RET
    
    err:
    HALT
    ; ----- END OF PROCEDURE -----


    63a3fec97bcff188600728.png

    UPD: придумал более лаконичный способ, где коды каждого символа записаны в ОЗУ (мб можно красивее)
    Код

    JMP Start
    DB fa; 0
    DB 06; 1
    DB b6; 2
    DB 9e; 3
    DB 4e; 4
    DB dc; 5
    DB fc; 6
    DB 86; 7
    DB fe; 8
    DB de; 9
    DB ee; A
    DB 7c; B
    DB 70; C
    DB 3e; D
    DB f4; E
    DB e4; F
    
    Start:
    MOV AL,0
    OUT 02 
    
    MOV AL,1
    OUT 02
    
    MOV AL,42
    CALL 40
    
    PUSH BL
    POP AL
    OUT 02
    
    PUSH CL
    POP AL
    OUT 02
    
    ; ----- DIGIT TO SEGMENT -----
    ; INPUT: AL
    ; OUTPUT: BL, CL
    
    ORG 40
    PUSH AL
    POP BL
    PUSH AL
    POP CL
    AND BL,F0
    SHR BL
    SHR BL
    SHR BL
    SHR BL
    AND CL,0F
    
    ADD BL,2
    ADD CL,2
    
    MOV BL,[BL]
    MOV CL,[CL]
    OR CL,1
    
    RET
    ; ----- END OF PROCEDURE -----
    
    
    END

    Ответ написан
  • Недостаточно аргументов для шаблона класса std::array как решить?

    Простое решение 1 - убери using namespace std;, чтобы cli::array не конфликтовал с std::array
    Простое решение 2 - напиши явно cli::array<String^>^
    Ответ написан
    5 комментариев
  • Как работает оператор &?

    То что вы написали в вопросе и в комментарии к моему встречному вопросу - это две совершенно разные вещи.

    То что в вопросе:
    const myVar = ClassCat & ClassDog;
    Тут работа идёт со значениями и & - это побитовое И.

    А вот кусок кода из вашего пояснения:
    export type CatDocument = Cat & Document;
    1. Это Typescript. В JS нет никакого Export type
    2. Тут работа идёт уже с типами (Не со значениями!). & - это пересечение типов
    CatDocument - это пересечение типов Cat и Document.

    На практике это значит, что переменная, которая имеет тип CatDocument должна иметь все поля из Cat и из Document, если Cat и Document - это объекты.
    Ответ написан
    Комментировать
  • Как можно назвать эту схему?

    Схема подключения/соединения/коммутации "чего-то" (с "чем-то"|и "чего-то")?

    Профессионализм не в том, чтобы взять очень умное слово, а в том, чтобы придумать однозначное и понятное название, которое будет понятно даже не профессионалу.

    PS: Непрошенная критика самой диаграммы

    за такой стиль диаграммы стоит руки отрывать:
    1. Цветные стрелочки, да ещё и с близкими цветами (синий+фиолетовый)
    Цветовая слепота достаточно распространена, чтобы учитывать её.
    Да и "так нужно руководителю" наводит на мысль, что кто-то захочет напечатать её на чб принтере.
    2. Один объект от другого отличается только надписью => нужно внимательно вчитываться
    3. Принципиально разные объекты собраны в кучу
    4. Стрелки очень тонкие и тоже собраны в кучу. Чтобы понять что к чему подключено - приходится играть в детскую игру про нахождение отдельных ниток в клубке.
    Примерно так это воспринимается
    wonder-day-labyrinths-31.jpg

    5. Если важны порты на коммутаторах, то почему не подписаны номера?
    Если порты не важны, то почему они в принципе отображены на схеме?

    Критикуешь-предлагай

    1. Заменил синий на зелёный, чтобы если человек слепой на 1 цвет, то чтобы хотябы только 1 из цветов оказался серым.
    2. Все цветные линии заменил на пунктирные, чтобы в случае цветовой слепоты можно было понять, какие именно линии цветные
    3. убрал выравнивание по вертикали.
    4. Сгруппировал устройства, которые подключены только к первому свичу в группу.
    5. Выделил жирным соединения двумя кабелями. (это же кабели изображены?)
    63a321fdba794668962095.png

    Ответ написан
    3 комментария
  • Почему не показываются подсказки в Avalonia?

    Нужно установить соответствующее расширение https://avaloniaui.net/IDE-Extensions
    Ответ написан
    Комментировать
  • Что значит Power consumption в программах для мониторинга показателей ПК?

    1. Может. Если никакой нагрузки нет.
    2.

    1 ватт определяется как мощность, при которой за 1 секунду времени совершается работа в 1 джоуль

    Тоесть это значит, что твой процессор/видеокарта совершает работу размером 8.5 джоулей каждую секунду, нагревая воздух (ибо вся потребляемая энергия переходит в тепло).
    Ответ написан
  • Как сделать антипорно (анти 18+ контент) в aiogram?

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

    Наиболее простой вариант - воспользоваться каким-нибудь готовым сервисом типа Azure Cognitive Services:
    Detecting adult content

    Но (применимо и для SaaS и для self hosted):
    1. Это не мгновенно => какое-то время запрещённый контент будет находиться в чате.
    А если сообщений много, а картинки большие - время нахождения в чате будет достаточно большим.
    (self hosted, как правило, будет медленнее, если используется слабое железо)
    2. Это не бесплатно (в зависимости от масштаба может быть дешевле как SaaS, так и self hosted)
    3. Возможные ложно-позитивные и ложно-негативные срабатывания. (бесплатные модели имеют меньшую точность)

    Так что тебе в любом случае придётся как-то модерировать чат и вводить запреты на спам и отравку каких-либо медиа вообще.
    Ответ написан
  • Ожидание завершения процесса С#?

    У класса Process есть метод, который буквально так и называется - WaitForExit
    Ответ написан
    Комментировать
  • Можно ли использовать GraphQL для админки где нужно не только обновлять, выводить данные, но и выполнять какие-то действия?

    В GraphQL есть концепция Mutation-ов - по сути просто функции/процедуры, которые можно вызывать.
    Так что да - можно.
    Ответ написан
    3 комментария
  • Что выбрать новичку: Avalonia или MAUI?

    Avalonia ИМХО.
    1. Производительнее.
    2. Есть нормальная поддержка Linux
    Ответ написан
    4 комментария
  • Почему тут await не ждет?

    await ждёт, но ждёт он только внутри test.
    То что вызвало test не имеет возможности дождаться, тк test объявлен как async void => вернёт управление сразу же, как только выполнение дойдёт до строчки await Task.Run
    Ответ написан
    Комментировать
  • Как найти для себя редактор кода?

    Работаю с Python, Sql, php, html+css, c#, Javascript, Java, electron js

    Пахнет средами от Jetbrains, а именно:
    Pycharm Professional - python
    Phpstorm - php
    Rider - C#
    Intellij IDEA Ultimate - Java

    При этом в контексте каждого языка среды от JB - лучшие.
    При этом в каждой из них можно делать фронт с html/css/js а также есть функции Datagrip для работы с SQL.
    Соответственно, для JS есть ещё отдельно Wbstorm, а для баз данных - Datagrip
    По красивости - новый UI там очень приятный, кмк, но если очень хочется - можно использовать их старый UI или обмазаться расширениями, которые внешний вид сильно изменят
    new_ui-2x-12.png
    Ответ написан
  • Self-hosted мессенжер?

    Jabber? Какие вообще требования, кроме "кроме matrix"?
    Ответ написан
    Комментировать
  • Как портировать приложение с юнити?

    Портировать не выйдет.

    Если очень хорошо будешь писать код, то мб сможешь потом переехать на Xamarin/Maui/Avalonia/Uno, но UI всё равно придётся писать с нуля.

    Из-за того что unity всё-таки игровой движок, то ты вероятно не сможешь в нём найти всего того, что есть в фреймворках для разработки МП.
    Ответ написан
    1 комментарий
  • Что лучше: больше полей или больше Join?

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

    Больше колонок - больше места занимает отдельная запись, больше места занимает вся база, нужно больше индексов, если нужно по этим колонкам фильтроваться. Запрос дольше выполняется из-за необходимости больше данных с диска читать.

    + Учитывай, какой вариант тебе будет поддерживать легче, если нужны будут какие-то изменения.

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

    Конкретно в этом случае мне больше нравится вариант, где будет по колонке на каждую соцсеть - так СУБД сможет в один проход и без каких-либо индексов всё посчитать.

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

    Вообще это браком не считается, но в теории в сервисе могут починить.
    Это значит, что подсветка неравномерная
    Ответ написан
    Комментировать
  • Как положить массив классов в JSON?

    Большинство сериализаторов игнорируют поля и сериализуют только свойства.

    Попробуй переписать User вот так:

    public class User
        {
            public int Id { get; set; }
            public string Login { get; set;}
        }
    Ответ написан
    Комментировать
  • Как скачать джейсон по апи и сохранить его в файл?

    1. Если вызываешь асинхронные методы, то пиши await, а не .Result
    2. Если ты и так посылаешь GET на полный адрес, то BaseAddress тебе не нужен.
    3. Заголовки можно передать вместе с HttpRequestMessage (тогда надо использовать метод Send)
    4. Параметры передаются как часть URI. Чтобы чуть удобнее было их конструировать - можешь взять библиотеку flurl
    Ответ написан