#go#compression#decompression#deflate#go#golang#gzip#snappy#zip#zstandard#zstd
The "github.com/klauspost/compress" package offers many fast and efficient compression tools in pure Go, including zstandard, S2 (a faster Snappy replacement), optimized deflate for gzip/zip/zlib, and snappy with better compression and concurrency. It also provides entropy encoders (huff0, FSE), HTTP gzip handlers, and a parallel gzip implementation (pgzip). These tools are drop-in replacements for Go's standard libraries but run about twice as fast, saving time and resources. You can easily add it to your project with `go get`. It supports current and recent Go versions and offers options to disable unsafe code or assembly for compatibility. This package benefits you by improving compression speed and efficiency while maintaining compatibility with standard Go compression APIs, making your applications faster and more resource-friendly.
https://github.com/klauspost/compress
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js