All streams
Search
Write a publication
Pull to refresh
21
0.1
Send message

Ха! Драйвер. Я у одной из LLM'ки не смог выпытать правильный класс самописного ORM для одной таблицы с полями id (автоинкремент), name, email (строки not null). На моё запрос, что предоставленный код не обновляет в классе id записи LLM сначала написала код вида

id = conn.rowAffected();

Потом переписала на

select id from users where name = $1 and email = $2

Но это тоже будет работать неправильно, если запрос вернёт больше, чем одну строку (нет ограничения уникальности на эти два столбца).

Правильный ответ был бы insert ... returning id;

Тут хотя бы современный 64-битный ассемблер, пример которого (упс!) соберётся и будет выполняться только в линуксе, так как используются системные вызовы, минуя, например, стандартную библиотеку Си.

Чуть больше примеров:

; fasm hello.asm
; chmod +x hello
; ./hello
format elf64 executable 3

; linux 2.6.35 compatible x86-64 syscalls table
sys_read = 0
sys_write = 1
sys_exit = 60

stdin = 0
stdout = 1
stderr = 2

segment readable
c_hello db "Hello world", 10
.len = $ - c_hello

segment executable
entry $
_start:
    ; write(stdout, c_hello, len)
    mov rdi, stdout
    mov rsi, c_hello
    mov rdx, c_hello.len
    mov rax, sys_write
    syscall
    
    ; exit(0)
    mov rdi, 0
    mov rax, sys_exit
    syscall

Впрочем, интереснее вызывать уже готовые функции Си:

; fasm helloc.asm
; ld -dynamic-linker /lib64/ld-linux-x86-64.so.2 -lc helloc.o -o helloc
format elf64
extrn printf

    ; printf(c_hello, g_name)
    mov rdi, c_hello
    mov rsi, g_name
    call printf

Вариант, если файл обязательный (в С++ нельзя вернуть код возврата из конструктора, в расте, как видно, с этим проще):

use std::fs::File;

struct Data {
    handle: i32,
    file: File,
}

impl Data {
    #[allow(unused_assignments)]
    fn try_new() -> std::io::Result<Self> {
        let mut handle = 255 * 255;
        let file = File::open("example.txt")?;
        handle = 0;
        Ok(Self {handle, file})
    }
}

Криптопро без проблем работает под линуксом. Или нужно что-то большее, чем просто подписать файл?

бывают ли кейсы, когда выгоднее взять юникс, а не линукс?

Знаю админа, у которого все сервера на OpenBSD (или FreeBSD?). Перечислялись достоинства возможности беспроблемного отката приложений, обновления безопасности. Отсутствие systemd и простое и единое хранение конфигов. Могу ещё предположить, что меньшее потребление ресурсов и меньшая площадь атаки.

И все эти "сильные дети" линяют из колледжа в ВУЗ с потерей года.

Можете рассказать подробнее? Я что-то не понял схемы. Чтобы поступать по внутренним испытаниям вуза у поступающего должно быть оконченное начальное/среднее профессиональное высшее, наличие которого подтверждается бумажным дипломом и (или) информацией из ФРДО. Я не могу понять как студенты колледжа переводятся в вуз и становятся студентами вуза?

нужно на ЕГЭ очень сильно облажаться

Да легко! В одном из вузов около 5 %-и поступающих сдала ЕГЭ на баллы меньше минимальных (для минобровских вузов, информатика - 44, русский язык - 40, например), или не сдавала профильную математику или третий предмет. Звучит невероятно, но такие люди регулярно находятся: приходят поступать в высшее заведение и только тогда узнают, что надо было сдавать три предмета, а лучше - четыре. Причём этот процент за последние пять лет стабилен.

Учительница биологии, нам тогдашним школьникам, рассказывала, что "трахаться же хочется, вот и было по 5+ детей, а вы давайте предохраняйтесь". И ещё много восторженных слов в сторону современной контрацепции.

UFO landed and left these words here

Скомпилировал для nginx модуль https://github.com/google/ngx_brotli. Так динамическое сжатие уменьшило исходящий трафик где-то в три раза, на некоторых файлах экономия доходила до шести раз.

Можно было бы сжать статические файлы и отдавать их (nginx и такое умеет), но больше возни с настройками, повышение нагрузки на процессоры не замечено.

gzip, deflate, br, zstd

Хуже бывает, когда СМСкой называют электронное письмо. "Вы мне на телефон прислали СМС..." - и ты думаешь, когда у тебя в организации появился СМС-шлюз и что же такого вы могли рассылать через него.

Опрыскиватель от блох - дорого, мне помог Клопоед. Подсказал знакомый фармацевт, который был у меня в гостях и как раз увидел бутылку опрыскивателя.

Внезапно на некоторых платформах char может оказаться размером 32бита.

Не может, стандарт гарантирует, что sizeof(char) == 1. Другое дело, что char может оказаться, как знаковым, так и беззнаковым (зависит от архитектуры процессора, ОС и даже версии компилятора). Так что если нужен байт, то лучше взять типы uint8_t или int8_t.

Information

Rating
3,009-th
Registered
Activity

Specialization

Application Developer
Software development
Database
Oracle PL/SQL
Oracle SQL
Linux administration
Python
Rust
Git
Database administration
Oracle administration