Задать вопрос
  • Как правильно преобразовать Text to HTML в Aps.Net?


    Returns text transformed into HTML using simple formatting rules. Two or more consecutive newlines(\n\n or \r\n\r\n) are considered a paragraph and wrapped in tags. One newline (\n or \r\n) is considered a linebreak and a
    tag is appended. This method does not remove the newlines from the text.

    You can pass any HTML attributes into html_options. These will be added to all created paragraphs.

    Options
    :sanitize - If false, does not sanitize text.

    :wrapper_tag - String representing the wrapper tag, defaults to "p"

    Конкретно такого никогда не видел.
    В принципе навелосипедить такое не сложно.
    Велосипед

    static string ToHtml(string text, bool sanitize = true, string? wrap = null)
    {
    	var normalized = text.Replace("\r\n", "\n");
    	if (sanitize)
    		normalized = WebUtility.HtmlEncode(normalized);
    	var paragraphs = text.Split("\n\n")
    		.Select(paragraph =>
    		{
    			var lines = paragraph.Split("\n");
    			return string.Join("\n<br/>", lines);
    		});
    	var htmlText = string.Join("\n\n", paragraphs.Select(p => $"<p>\n{p}\n</p>"));
    	return wrap != null 
    		? $"<{wrap}>\n{htmlText}\n</{wrap}>" 
    		: htmlText;
    }


    Если нужно более сложное форматирование, то есть либа для работы с markdown: https://github.com/xoofx/markdig
    Ответ написан
    1 комментарий
  • Как обновить данные в SQlite3 используя C#?

    UPDATE пишется по другому:
    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
    Ответ написан
    6 комментариев
  • По каким то причинам юнити пишет "Transform' does not contain a definition for 'left'?

    transform.right Содержит значение красной (правой) оси. Чтобы получить значение "левой" оси - надо просто взять right со знаком "минус"

    Не забывайте про документацию: https://docs.unity3d.com/ScriptReference/Transform...
    Ответ написан
    5 комментариев
  • В PowerShell не выполняется команда -newname, если в пути пробелы, что сделать?

    Попробуйте
    $items = Get-childItem -Path "D:\Instagram\курс по продвижению\*qwer*" -Recurse -Force 
    foreach($item in $items) {
        Rename-Item -Path $item -NewName $item.Name.Replace("qwer", "")
    }

    Или
    Get-childItem -Path "D:\Instagram\курс по продвижению\*qwer*" -Recurse -Force | % Rename-Item -NewName {$_.Name.Replace("qwer"m "")}


    Rename-Item переименовывает только один файл/папку за раз, а вы ему список подсовываете.
    Ответ написан
    3 комментария
  • Demo в Google Play публикуют отдельным приложением?

    Я видел два подхода:
    1. Бесплатное приложение с внутренними покупками. Полная версия приобретается внутри.
    2. Два приложения - бесплатное и платное.
    Ответ написан
    Комментировать
  • Как реализовать компилятор в игре?

    Да. Тут люди дают пример со встраиванием полноценного компилятор или интепретатора (Компиляция C# в рантайме, lua/luajit) - это можно, но в принципе никто не запрещает встроить какой-нибудь свой ограниченный DSL и интерпретировать его самостоятельно. Нужно отталкиваться от задачи.

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

    def get(id):
        return {f'{id}': 0}
    
    ids = ['a','b','c']
    result = list(map(get, ids))
    
    print(result)

    Выдаёт [{'a': 0}, {'b': 0}, {'c': 0}]
    Ответ написан
  • Android developer или Web developer?


    В веб разработке большой спрос, много конкурентов (из 40 отбирают одного), на уровень ниже доход чем android development, порог входа минимальный.


    Этот тезис уже очень спорный, тк всё очень сильно зависит от стека уровня навыков.
    Я так понимаю, под web-разработчиком вы понимаете недоверстальщика на html+css+jquery и недобэкендера на php или какой-нибудь CMS типа WP. Такие да, зарабатывают меньше android-разработчика.

    В андройд разработке, маленький спрос, практически нету конкурентов, выше доходы чем web development, порог входа больше чем в вебе.

    Спрос достаточен, чтобы найти работу. Порог входа действительно сильно выше, чем в примере "Web developer" парой строк выше.

    Вопрос такой, куда легче устроиться джуном ?

    Мне кажется, в веб сильно проще, тк начальный уровень знаний требуют меньше, а количество вакансий больше.
    В случае с android-разработкой вы сможете написать своё приложение и попытаться на нём заработать, в принципе.

    nb: Web-разработка ужасно обширное понятие и вам стоит уточнить направление и стек.
    Ответ написан
    4 комментария
  • Как правильно обработать исключение?

    Что-то заорал с этого кода:
    SQLiteCommand cmd = new SQLiteCommand($"SELECT Name FROM users WHERE Login = '{LoginField.Text}'", load);
                SQLiteCommand comand = new SQLiteCommand($"SELECT Surname FROM users WHERE Login = '{LoginField.Text}'", load);
                SQLiteCommand command = new SQLiteCommand($"SELECT Image FROM users WHERE Login = '{LoginField.Text}'", load);
                SQLiteDataReader Reader = cmd.ExecuteReader();
                SQLiteDataReader Readr = comand.ExecuteReader();
                SQLiteDataReader reader = command.ExecuteReader();

    И у вас не возникло ощущение, что вы что-то делаете не так и люди не пишет Reader,Readr, reader, cmd, command?
    В вашем случае нужно писать что-то типа этого:
    using System;
    using System.Data;
    using System.Data.SQLite;
    
    using var connection = new SQLiteConnection("Data source = accounts.db");
    connection.Open();
    using var cmd = new SQLiteCommand("SELECT Name, Surname, Image FROM users WHERE Login = @Login", connection)
    {
    	// Параметры используются, чтобы защититься от SQL-инъекций
    	Parameters =
    	{
    		new SQLiteParameter("@Login", "test") // то значение, которое должно быть подставлено вместо @Login
    	}
    };
    using var reader = cmd.ExecuteReader(CommandBehavior.SingleRow);
    var name = reader.GetString("Name");
    var surname = reader.GetString("Surname");
    var image = reader.IsDBNull("Image")
    	? null
    	: Convert.FromBase64String(reader.GetString("Image"));
    connection.Close();
    // Делаем с name, surname и image что хотим

    Ещё я советую использовать async-await, чтобы интерфейс программы не зависал, пока запрос выполняется.
    Ответ написан
    Комментировать
  • Зачем Python Django девелоперу нужно знать SQL?

    1. Чтобы писать эффективные запросы, которые будут нормально ложиться на индексы и быстро выполняться
    2. Чтобы избегать глупых ошибок, когда пишется запрос, который принципиально невозможно превратить в SQL
    3. Чтобы избегать подводных камней с ORM, таких как N+1 и (хз как называется - когда ORM выгружает все данные из базы, а потом обрабатывает их на стороне приложения)
    4. Чтобы не порождать дыры в безопасности.
    5. Чтобы писать запросы без ORM - иногда быстрее зайти в datagrip и ввести запрос там, чем писать одноразовый скрипт.

    ORM, имхо, нужна только для ускорения написания запросов и абстрагирования от синтаксиса конкретной СУБД, но не для замены SQL
    Ответ написан
    Комментировать
  • С помощью какого фреймворка сделать красивый дизайн?

    Со стороны стилей это сложным не выглядит, кмк - делал подобное без CSS-фреймворков.

    Но судя по интерфейсу - тут много интерактивных динамичных элементов, так что я бы последовал совету Много Чего и сразу взял какой-нибудь js фреймворк для создания SPA.
    Например react, angular, или vue
    Ответ написан
    Комментировать
  • Какой Linux занимает меньше места после установки на диск?

    Самый минимальный, хоть и не debian/rpm - это alpine (несколько мегабайт)
    Самый мнинималистичный дебиан - debian minimal
    Ответ написан
    Комментировать
  • Почтовый клиент с поддержкой рассылки по списку и шаблонов (вставка ФИО, должности), кроме Bat?

    В Thunderbird можно делать шаблоны писем с переменными.
    Ответ написан
    Комментировать
  • Как удалить все строки-дубликаты из txt файла?

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

    UPD: можно использовать OrderedDict для быстрого поиска дубликатов без потери порядка следования
    from collections import OrderedDict
    
    lines = ["GL", "gL", "aa", "bb"]
    print("Before:")
    print(lines)
    
    unique_lines = OrderedDict()
    for line in lines:
        normalized_line = line.capitalize()
        if (normalized_line not in unique_lines.keys()):
            unique_lines[normalized_line] = line
    
    print("\nAfter:")
    print(unique_lines.values())

    В моём варианте оригинальной строкой будет считаться первая попавшаяся, а сравниваться строки будут без учёта регистра
    Ответ написан
    2 комментария
  • Почему у многих файлов в Linux есть несколько жестких ссылок, созданных системой?


    Жёсткой ссылкой (англ. hard link) в UFS-совместимых файловых системах называется структурная составляющая файла — описывающий его элемент каталога.

    Файл в UFS представляет собой структуру блоков данных на диске, имеющую уникальный индексный дескриптор (или i-node) и набор атрибутов (метаинформацию). Жёсткая ссылка связывает индексный дескриптор файла с каталогом и даёт ему имя.



    Символическая («мягкая») ссылка (также «симлинк», от англ. Symbolic link) — специальный файл в файловой системе, в котором вместо пользовательских данных содержится путь к файлу, открываемому при обращении к данной ссылке (файлу).

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

    Символические ссылки используются для более удобной организации структуры файлов на компьютере, так как:

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

    Ответ написан
    Комментировать
  • Для чего в ноутбуке с SSD программа HDD Free Fall Protection?

    Эта штука автоматически паркует считывающие головки на ЖД, когда ноутбук падает, чтобы не повредить данные.. Раз у вас SSD, то смысла в ней нет.
    Ответ написан
    3 комментария
  • Что не так с UX/UI этого интерфейса?

    1. Какой-то нечитабельный текст в самом начале (просто не приятно его читать)
    2. Раз уж это сайт отеля, то где тут самое важное - бронирование номера?
    3. Какие-то странные иконки в преимуществах. Что означают эти цвета и почему в преимуществе о пляже нарисован геймпад?
    4. Какое-то контринтуитивное и странное содержимое подвала. Как я должен догадаться, что там есть поиск?
    5. Что за "Идеи"?
    6. Что мне даст кнопка "Войти"? Нигде не сказано о необходимости входа и преимуществах регистрации на сайте.
    7. Крайне посторонне выглядит блок с "парнёрами" - наталкивает о мысли о вирусно-рекламных, типа новостных сайтах.
    8. В целом сайт выглядит очень странно.

    Я ни разу не дизайнер. Оценивал с точки зрения пользователя.
    Ответ написан
    Комментировать
  • Как быть с open-source библиотеками в своей игре с закрытым исходным кодом?

    Стоит ли держать сторонние библиотеки в виде .dll/.so файлов отдельно от исполняемого файла игры?

    В зависимости от лицензии. Иногда можно и статически слинковать.

    Нужно ли вместе с игрой распространять какие-нибудь файлы типа LICENSE или писать о используемых библиотеках в about?

    Да. Тексты всех лицензий и названия используемых библиотек и их авторов нужно упомянуть, в соответствии с их лицензиями.

    Примеры можно увидеть в тексте лицензий многих игр и приложений.
    Ответ написан
    Комментировать
  • Java: почему дефолтный объект самостоятельно присваивается переменной?

    У вас код плохо отформатирвоан, по тому и не очевидно:
    public class Human {
        String name; // по-умолчанию все поля null
        Car3 car;
    
    
        void info() {
            // Компилятор ничего не знает о значении полей.
            // Он только знает, что есть поле car типа Car3
            // По тому он и позволяет его писать
            System.out.println(car.color);
        }
    }
    Ответ написан
    Комментировать