Интерполяция строк в C#.

Интерполированная строка в C#, это строа перед которой находится символ $.

Такая строка может содержать специальные выражения в фигурных скобках:

int x = 18;
Console.Write($"Указанный возраст {x} лет."); // Выводит: Указанный возраст 18 лет.

Внутри фигурных скобо может находится любое допустимое выражение C# любого типа. C# преобразует значение value в string, используя метод ToString() или эквивалентный ему для выбранного типа.

Формат вывода может быть изменен добавлением выражения форматирования после двоеточия, например:

string s = $"223 in HEX format: {223:X2}"; // X2 - Двухзначный шестнадцатиричный формат числа.
// Результат \"223 in HEX format: DF\"


Интерполированная строка должна быть в одну строку или содержать дословный идентификатор "@", к примеру:

int x = 10;
string s = $@"The wall height is {
x} meters.";


Чтобы включить фигурную скобкук в интерполированную строку, надо просто повторить фигурную скобку дважды.

Подробнее

Пример преобразования XML в DYNAMIC и его использование.

Пример преобразования XML в DYNAMIC и его использование.

Для начала, нам понадобятся некоторые библиотеки:

using System;
using System.ComponentModel;
using System.Xml.Linq;
using Newtonsoft.Json;


Код:

string str = "<response><setter><name>Kiril</name></setter></response>";
XDocument doc = XDocument.Parse(str);
string jsn = JsonConvert.SerializeXNode(doc);
dynamic res = JsonConvert.DeserializeObject(jsn);

Console.WriteLine(res.response.setter.name);


Этот код преобразует строку string в XML, затем XML в JSON и затем в объект dynamic.
Затем из объекта получает свойство Name и выводит его в консоль.

Подробнее

Пример кконфигурации для FTP (vsftpd) с блокировкой пользователя в домашней папке.

Пример кконфигурации для FTP (vsftpd) с блокировкой пользователя в домашней папке.

IУстанавливаем FTP в Ubuntu:

sudo apt install vsftpd

Это просто.


Теперь открываем конфигурационный файл:

/etc/vsftpd.conf


Проверяем чтобы параметры в этом файле были как эти:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
ftpd_banner=Welcome to My FTP service.
allow_writeable_chroot=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO


Так-же создаем файл 

/etc/vsftpd.chroot_list

(если его не существует)

и добавляем в него коды пользователей, к примеру так:

1002
1003

Коды пользователей можно посмотреть в /etc/passwd


Перезапускаем FTP сервис, и пробуем подключиться по FTP.

Если у вас включен файрвол, тогда надо добавить в нем правила для 20 и 22 портов.

Теперь пользователь при входе по FTP будет блокирован в собственной домашней папке.

Домашняя папка пользователя может быть изменена в /etc/passwd

Подробнее

Пример создания последовательности SEQUENCE в MSSQL

Примр создания последовательности SEQUENCE в MSSQL:

CREATE SEQUENCE [dbo].[CardNum] 
 AS [bigint]
 START WITH 1
 INCREMENT BY 1
 MINVALUE -9223372036854775808
 MAXVALUE 9223372036854775807
 CACHE 
GO

Этот сккрипт создаст последовательность SEQUENCE CardNum с типом BIGINT и стартовым значением 1 в текущей базе данных.


Чтобы получить новое значение value из последовательности SEQUENCE:

set @card_num =  NEXT VALUE FOR [dbo].[CardNum];


Чтобы получить текущие свойства properties для последовательности SEQUENCE:

SELECT * FROM sys.sequences WHERE name = 'CardNum' ;
Подробнее

Включение возможности использования xp_cmdshell в MSSQL


Для включения возможности использования xp_cmdshell в MSSQL необходимо:

-- Разрешаем изменение дополнительных параметров.
EXEC sp_configure 'show advanced options', 1
GO

-- Обновkztv текущее настроенное значение для дополнительных параметров
RECONFIGURE
GO

-- Включаем cmdshell.
EXEC sp_configure 'xp_cmdshell', 1
GO

-- Обновляем текущее настроенное значение для cmdshell
RECONFIGURE
GO
---
Подробнее

Перезапуск (Restart) MSSQL Server на Linux (Ubuntu).

Перезапуск (Restart) MSSQL Server на Linux (Ubuntu).

Microsoft рекомендует перезапускать сервер так:

-- Получить состояние сервиса
sudo systemctl status mssql-server

-- Остановить сервис
sudo systemctl stop mssql-server

-- Запустить сервис
sudo systemctl start mssql-server

-- Перезапустить сервис
sudo systemctl restart mssql-server


Для Ubuntu я лично предпочитаю такой способ:

service mssql-server status
service mssql-server stop
service mssql-server start
service mssql-server restart
Подробнее