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())
Жёсткой ссылкой (англ. hard link) в UFS-совместимых файловых системах называется структурная составляющая файла — описывающий его элемент каталога.
Файл в UFS представляет собой структуру блоков данных на диске, имеющую уникальный индексный дескриптор (или i-node) и набор атрибутов (метаинформацию). Жёсткая ссылка связывает индексный дескриптор файла с каталогом и даёт ему имя.
Символическая («мягкая») ссылка (также «симлинк», от англ. Symbolic link) — специальный файл в файловой системе, в котором вместо пользовательских данных содержится путь к файлу, открываемому при обращении к данной ссылке (файлу).
Целью ссылки может быть любой объект: например другая ссылка, файл, каталог или даже несуществующий файл (в последнем случае при попытке открыть его должно выдаваться сообщение об отсутствии файла). Ссылка, указывающая на несуществующий файл, называется висячей или битой.
Символические ссылки используются для более удобной организации структуры файлов на компьютере, так как:
- позволяют для одного файла или каталога иметь несколько имён и различных атрибутов;
- свободны от некоторых ограничений, присущих жёстким ссылкам (последние действуют только в пределах одной файловой системы (одного раздела) и не могут ссылаться на каталоги).
Стоит ли держать сторонние библиотеки в виде .dll/.so файлов отдельно от исполняемого файла игры?
Нужно ли вместе с игрой распространять какие-нибудь файлы типа LICENSE или писать о используемых библиотеках в about?
public class Human {
String name; // по-умолчанию все поля null
Car3 car;
void info() {
// Компилятор ничего не знает о значении полей.
// Он только знает, что есть поле car типа Car3
// По тому он и позволяет его писать
System.out.println(car.color);
}
}
Что нужно делать:
- разрабатывать ядро и приложения биллинга. Много правил, сложная логика, работа с деньгами;
- участвовать в проектировании фич. Это непросто. Мы делаем коробочный продукт, поэтому фичи надо проектировать с расчетом, что ими будут пользоваться десятки клиентов при сотнях разных обстоятельств;
- принимать решения по технологическому развитию продукта;
- обеспечивать «поставку» продукта, настраивать CI, писать тесты, делать ревью, все атрибуты современной разработки;
- часть биллинга, написанная на Python у нас особо ответственная — она принимает платежи и обрабатывает сотни запросов в секунду на предоставление услуг на средней инсталляции.
Требования:
- опыт промышленной разработки на Python от года;
- опыт работы с реляционными базами данных. Надо понимать не только как сделать запросы через ORM, но и что такое транзакции, и как ими пользоваться;
- опыт работы в команде;
- писать качественный код с пониманием зачем он пишется, и что он будет делать. Тесты к нему тоже потребуются.
int x, y;
var quadrant = x > 0
? y > 0
? "I"
: "IV"
: y > 0
? "II"
: "III"
int x, y;
var quadrant = (x, y) switch {
(>0, >0) => "I",
(>0, <0) => "IV",
(<0, >0) => "II",
(<0, <0) => "III",
_ => "Точка находится на одной из осей"
}