TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #254 · 11 јун.

Тип строки в Python имеет очень много удобных методов. Сегодня пост про два таких метода которые чаще всего используются "однобоко". Это методы startswith() и endswith() Самый обычный сценарий использования — проверка, начинается ли строка с указанной подстроки? >>> "some_string".startswith("some") True И аналогичная ситуация с зеркальным вариантом этой функции, проверка совпадения с конца >>> "some_string".endswith("some") False Так они используются в большинстве случаев что я видел. Но у этих функций есть еще два варианта использования. 🔸Сравнение нескольких подстрок Для проверки нескольких подстрок в одной строке обычно вызывают эти функции несколько раз. Но на самом деле достаточно передать кортеж со всеми строками один раз. Если будет хоть одно совпадение то функция вернёт True. >>>"my_image.png".endswith(("jpg", "png", "exr")) True 🔸Диапазон поиска Вторым аргументом можно передать индекс символа с которого следует начать сравнение, а третий аргумент это индекс последнего символа. >>> ".filename.ext".startswith("file", 1) True >>> "file_###.ext".endswith('#', 0, -4) True Индексы можно указать отрицательными, что означает отсчёт с конца. #trics#basic

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #ifdef

当前筛选 #ifdef清除筛选
Welcome to the Black Parade

@TheB1ackParade · Post #506 · 05.03.2024 г., 03:58

莫名其妙忙起来了,随便记点免得忘了: 1. tproxy / bpf_sk_assign 对 established tcp 的性能影响是负的,因为设置上 skb->sk 会让 ip_rcv_core 里的 tcp_early_demux 检测失败,从而必须进路由系统。所以正确使用方法是只对 tcp syn 使用 tproxy/sk_assign。 2. 能不能优化 bpf_sk_assign,让它对 listening socket 的 assign 也能像 tcp_early_demux 一样?不能,因为 listening tcp socket 的 sk->sk_rx_dst 是 null,只有 established sk 才有这个 dst。 3. tcpdump ip6 and tcp 生成的 cbpf 是“错的”。它没考虑 ip6 extension。但是 tcpdump (libpcap) 有个对 v6 特别的过滤器: ip6 protochain 6 , 就迭代了 ip6 extension,四次,但是对大部分场景也够用。 4. 晦涩的逻辑。icmp6_host_handle 这个函数名看起来没啥,但是要是我告诉你它实际语义是:只需要在 ( ingress 方向) 或者 (防火墙启动时候的双向) 执行它,如果在 ingress 方向执行的时候不要反弹 icmp6,如果要反弹 icmp6 的话不要反弹 NS for node IP,但是也不要直接返回给内核栈而是继续执行剩余的 nodeport lb。我看着这个原本简单的函数从两个参数变成现在的五个,里外的 #ifdef 嵌套层层恐惧,真是美好的软件。

Hashtags

KernelSU Next

@ksunext · Post #815 · 20.07.2025 г., 20:11

kernel: guard syscall hook types - for kernel syscall hooks we need to pass additional guards for ksun (#ifdef CONFIG_KSU -> #if defined(CONFIG_KSU) && !defined(CONFIG_KSU_KPROBES_HOOK)) or else it will fail to build because of undefined symbol - reference https://github.com/KernelSU-Next/kernel_patches/blob/main/syscall_hook/min_scope_syscall_hooks_v1.4.patch https://github.com/KernelSU-Next/KernelSU-Next/commit/45ad73e9dd86a0ff04a02e73a8fc2dbc3160ee6c

Hashtags