Обновление Paginator с 3.x до 8.x

Эта статья — про то, что реально изменилось, и в каком порядке я бы рекомендовал это трогать. Основано на диффе между (3.3.0) и (8.6.2).

https://habr.com/ru/articles/1030758/

#paging #kmp #paging_library #paginator

Обновление Paginator с 3.x до 8.x

Если вы сидели на Paginator 3.3.0 и решили сразу прыгнуть на актуальную 8.6.2 — это не совсем «обновление», а скорее миграция на, по сути, другую библиотеку. Концепции те же (page state, закладки,...

Хабр

Почему я написал Paginator вместо Paging 3

Это статья от автора библиотеки, поэтому нейтральным разбор не будет. Но это и не рассказ про конкретный проект — а разбор задач, на которых, на мой взгляд, Paging 3 начинает буксовать, и того, как Paginator устроен, чтобы эти задачи закрывать. KMP-библиотека пагинации для Android, iOS, JVM и Desktop. Ниже — почему она появилась именно как отдельная библиотека, а не как fork или обёртка над Paging 3.

https://habr.com/ru/articles/1030294/

#kmp #kotlin #paging3 #paging #paginator

Почему я написал Paginator вместо Paging 3

Это статья от автора библиотеки, поэтому нейтральным разбор не будет. Но это и не рассказ про конкретный проект — а разбор задач, на которых, на мой взгляд, Paging 3 начинает буксовать, и того, как...

Хабр

Мессенджер на Paginator. Боевые задачи

В прошлой статье я сравнивал Paginator с Paging 3 на кошачьем уровне: «вот простой фид, смотрите — три строки вместо тридцати». Это полезно для первого знакомства, но не отвечает на главный вопрос: а как оно себя поведёт, когда продукт начнёт требовать то, ради чего люди обычно и пишут свой велосипед поверх Paging 3? В этой статье я беру мессенджер — потому что мессенджер это честный полигон. Там есть:

https://habr.com/ru/articles/1027686/

#kmp #paging #paginator #paging3 #mobile #multiplatform

Мессенджер на Paginator. Боевые задачи

В прошлой статье я сравнивал Paginator с Paging 3 на кошачьем уровне: «вот простой фид, смотрите — три строки вместо тридцати». Это полезно для первого знакомства, но не отвечает на главный вопрос: а...

Хабр

Paging 3 хорош. Пока вам не понадобится что-то ещё

Если коротко: пагинация — это когда вы не грузите 100 000 товаров из каталога одним запросом, а показываете их страницами по 20–50 штук и подгружаете следующую порцию, когда пользователь домотал до конца. Звучит как задача на полдня. На практике — по-разному. Я пишу мобильные приложения уже давно, и каждый раз, когда в новом проекте появлялась пагинация, рядом с ней через месяц-другой появлялся один и тот же набор багов и ad-hoc-решений. Флаги isLoadingNextPage , isLoadingPrevious , isRefreshing , isEmpty , hasError , hasNextPage . Попытки «просто заменить элемент без перезагрузки страницы». Восстановление позиции после убийства процесса. Прыжок на конкретную страницу по deeplink. На Android есть Jetpack Paging 3, и его берут по умолчанию. Но как только вы выходите за рамки «загрузи следующие 20 элементов на скролле вниз» — начинается интересное. А если ваш проект — Kotlin Multiplatform, то Paging 3 вообще не ваш вариант: это Android-библиотека, она не едет на iOS. Я расскажу про опенсорсную библиотеку Paginator , которую делаю последние несколько лет. Она работает одинаково на Android, JVM и iOS из одного commonMain , закрывает сложные сценарии из коробки — и даже на самой обычной ленте настраивается короче, чем Paging 3. Это не поход против Paging 3 и не попытка что-то кому-то доказать. Это просто описание того, что есть другой инструмент, и он делает то же самое компактнее.

https://habr.com/ru/articles/1027320/

#paging #paging_library #paging3 #paginator #kmp #android #kotlin

Paging 3 хорош. Пока вам не понадобится что-то ещё

Вступление, которое можно пропустить, если вы уже делали пагинацию Если коротко: пагинация — это когда вы не грузите 100 000 товаров из каталога одним запросом, а показываете их страницами по 20–50...

Хабр

Пишем свою OS на Zig: Первый релиз с многоядерностью, FAT32 и скриптами

11 000 строк кода, 95% Zig, 0% стандартной библиотеки: история создания NovumOS с поддержкой SMP, FAT32 LFN и Huge Pages. Привет, Хабр! 👋 Меня зовут Антон, и я хочу поделиться историей создания своей собственной операционной системы. Это моя первая статья и первый серьезный релиз системы ( v0.20 ). Многие разработчики мечтают написать свою операционную систему. Обычно этот путь заканчивается на выводе "Hello World" в VGA-буфер. Я тоже начинал с малого (C# COSMOS), потом уходил в Ассемблер, бросал, возвращался... Но в этот раз я решил пойти до конца. Моей целью было не просто запустить ядро, а создать современную, масштабируемую архитектуру на современном языке. Встречайте NovumOS ...

https://habr.com/ru/articles/995136/

#Zig #OSDev #Kernel #операционные_системы #x86 #SMP #multicore #paging #FAT32 #ACPI

Пишем свою OS на Zig: Первый релиз с многоядерностью, FAT32 и скриптами

Привет, Хабр! 👋 Меня зовут Антон, и я хочу поделиться историей создания своей собственной операционной системы. Это моя первая статья и первый серьезный релиз системы ( v0.20 ). Многие разработчики...

Хабр
Paging in a REST API

PeerTube

Paging3 в стиле Compose: секретный DSL, о котором молчат все Android-разработчики

В статье описан путь преобразования предложенного экспертами Google способа отображения страничных данных с использованием библиотеки Paging3 и Compose от развесистого сборника if'ов и when'ов, вероломно нарушающего все границы архитектурных слоев, до чистого, лаконичного и затягивающего в себя DSL. Погрузиться в магию

https://habr.com/ru/articles/907910/

#DSL #paging #kotlin #compose #multiplatform #android

Paging3 в стиле Compose: секретный DSL, о котором молчат все Android-разработчики

Всем известна чрезмерная многословность библиотек Jetpack от Google для разработки на Android. Однажды я спросил у chatGPT, зачем они так со мной, на что ИИ таким же многословным образом рассказал о...

Хабр

#Paging #TheHague: #Israel’s Exploding Electronics Might Be War Crimes

Experts on international law pointed to the indiscriminate nature of the blasts in Lebanon and the prohibition on #BoobyTraps.

Jonah Valdez
September 19 2024

"A day after pagers simultaneously exploded across #Lebanon and #Syria, a second round of bombs — this time embedded in #walkietalkies and solar equipment — detonated on Wednesday in #Beirut and throughout Lebanon.

"The combined death toll from the attacks rose to at least 37 people, including a 9-year-old girl and an 11-year-old boy, with more than 3,000 wounded. Doctors at a Beirut hospital reported that many among the injured had lost eyes and had to have limbs amputated. Exploding walkie-talkies caused more than 70 fires to erupt in homes and stores across Lebanon, along with more than a dozen cars and motorcycles.

"While the Israeli government has yet to claim responsibility for the attack, multiple U.S. officials have said Israel was behind the device explosions.

"The seemingly indiscriminate nature of the attacks has drawn the attention and concern of experts in international law who caution that the explosions may rise to the level of #WarCrimes.

"'If it is Israel behind this, they’ve got some tough questions to answer, including to the U.S. government, because the U.S. government is providing great military support,' said Brian Finucane, a former State Department legal adviser under Presidents Barack Obama and Donald Trump. 'It really should be in the U.S. government’s interest to ensure that its military partners are complying with the laws of war.'"

https://theintercept.com/2024/09/19/israel-pager-walkie-talkie-attack-lebanon-war-crimes/

#Israel #IsraeliWarCrimes #BibiIsAWarCriminal #FreePalestine #CeasefireNow #USGovernmentIsComplicit #StopFundingGenocide #Divest #IsraelDivestment #IsraelHumanRightsViolations

Paging The Hague: Israel’s Exploding Electronics Might Be War Crimes

Experts on international law pointed to the indiscriminate nature of the blasts in Lebanon and the prohibition on booby traps.

The Intercept

Demand-paging is pretty cool.

Also don't compress your #Lisp program images, that means the whole thing has to be read into memory to decompress it and then only has the opportunity to paged out eventually.

If you think your images are too big on disk, use a storage system (like a #filesystem) that can transparently compress data stored in it, such as #ZFS or #btrfs.

Then you get your demand-paging benefits *and* reduced storage load.

#CommonLisp #Paging #Swap #Memory #IO

Putting the "You" in CPU

Curious exactly what happens when you run a program on your computer? Learn how multiprocessing works, what system calls really are, how computers manage memory with hardware interrupts, and how Linux loads executables.

Putting the "You" in CPU