Бэкенд это в основном чтение данных из БД и отдача на клиент.
современный фронтенд мне кажется сложнее бэкенда.
f = open("10gb.txt",'rb+')
проверять на seekable если да, прыгать seek'ом по файлу, нет - страдать последовательно.
io.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Чего?
В случае SSD есть шанс не получить проседания производительности, просто уперевшись в ограничения котроллера и не получив пользы от многопоточности. В случае обычных жёстких дисков получите дополнительные издержки на позиционирование головки, которую будут отбирать друг у друга потоки, пытающиеся читать из разных участков файла.
public class Thought {
public void message() {
System.out.println("Я себя чувствую как стрекоза, попавшая в параллельную вселенную.");
}
}
public class Advice extends Thought {
@Override
public void message() {
System.out.println("Внимание: Даты в календаре ближе, чем кажутся!");
}
}
class Rectangle
{
public:
virtual void print() const;
private:
double length;
double width;
};
void Rectangle::print()
{
cout << "Length = " << length << "; Width = " << width;
}
class Box : public Rectangle
{
public:
void print() const;
private:
double height;
};
void Box::print()
{
Rectangle::print(); //Не обязательно вызывать метод предка, но если текущий его дополняет, то пожалуйста.
cout << "; Height= " << height;
}
type
TBase = class(TObject)
public
procedure Show; virtual;
end;
TNested = class(TBase)
public
procedure Show; override;
end;
implementation
{ TNested }
procedure TNested.Show;
begin
//inherited; //Не обязательно вызывать метод предка, но если текущий его дополняет, то пожалуйста.
ShowMessage('35345');
end;
{ TBase }
procedure TBase.Show;
begin
ShowMessage('Hi!');
end;
Весь контент это куски html встраиваемые на лету.