duangsuse::Echo
#math #web 看来想完成EqvJS的设计,还要简化自己之前的许多作品里的技术 (图: easing 曲线, Svelte ease-out 代表先快后慢 #apple #tool Epic Easing - easings.net - animejs.com #dalao https://lisyarus.github.io/blog/programming/2023/02/21/exponential-smoothing.html#:~:text=speeds%20up%20naturall…
This media is not supported in your browser
VIEW IN TELEGRAM
看到个有意思的, #android 夜间切换特效
>GLSL https://www.shadertoy.com/view/4sBfRd
用HTML-SVG 做的话,在clone出的
但无论如何 都比canvas或paint的方法好移植且快
Android上,深色主题如果是靠bg/fgcolor 切换,除了 transition: 不是一等公民,需要自己填Animator
还有复杂的自定义“复用”Recycler.View失效问题 🥰 而 clusterize.js.org 呢?往table调一个函数就能优化,安卓那种复杂度,对它够支持瀑布流了
可能,还需要手动setAttrValue 什么的
H5里做排版的XML,安卓做style
H5里做交互的JS,安卓做排版.. Compose 等于是简化下HTML的语法,却硬是让View框架被“重新定义”了
H5里自带的Web平台API,安卓靠Gradle.. 依赖地狱什么的这不就来了?
>GLSL https://www.shadertoy.com/view/4sBfRd
#define circ distance(P,iMouse.xy)背景也可以是波浪。忘记 sine scroller 的关键词了 🥰
#define swing(x) cos(.5*(1.-x)*radians(180.))
//混成AB两版的main, 对B版用圆选区, transition: --len_vw 4s ease-out
void mainImage(out vec4 bg, vec2 P) {
_mainImage(bg,P);
bg=(circ< swing(iTime/4.)*iResolution.x? bg:1.-bg);
}
用HTML-SVG 做的话,在clone出的
#app.dark
上剪裁 clip-path:circle(var)
很方便,但如果想用更灵活的mask:radial-gradient(var)
就只能靠自定义filter了但无论如何 都比canvas或paint的方法好移植且快
Android上,深色主题如果是靠bg/fgcolor 切换,除了 transition: 不是一等公民,需要自己填Animator
还有复杂的自定义“复用”Recycler.View失效问题 🥰 而 clusterize.js.org 呢?往table调一个函数就能优化,安卓那种复杂度,对它够支持瀑布流了
可能,还需要手动setAttrValue 什么的
H5里做排版的XML,安卓做style
H5里做交互的JS,安卓做排版.. Compose 等于是简化下HTML的语法,却硬是让View框架被“重新定义”了
H5里自带的Web平台API,安卓靠Gradle.. 依赖地狱什么的这不就来了?
#dev #android 面试题 🤔
- 技术上提升最大的一个项目,展开介绍
对比业界同种算法流行和不流行实现、重写自己的任何项目,都比从事GPT都能完成的原型要好
- 为什么选择 Flutter,在业务方面学到了什么
Compose界原神的名气真的太大了,居然能用Navbar,Tab等自带组件,居然能调style!
- Java 里重载和重写的区别
在编译期vs运行期确定函数,改方法签名vs改子类值
- 什么是线程安全
避免共享变量(不相交),或使用Atomic/独占锁 避免读写异步
- Service 是什么
是Android版的主要线程,与daemon线程相反,适合后台Worker
- Fragment 和 Activity 有哪些区别
不刷新重载vs带参单页(Intent)
- Retrofit 用到了哪些设计模式
都是nodejs事件队列,ES6默认参数,函数名Proxy,组合函数(适配 装饰 策略) 之类的东西
- UDP 和 TCP 有什么区别
TCP和stdio文件没区别,UDP允许丢包和无连接发送
- 算法题,输入两个包含数字的 String,求它们的和,要求可进行任意长操作(不能直接变成基本类型算)
BigInt,即从右遍历相加,记录>10到carry=1 进位。遍历int[]也一样
- 为什么选择 Flutter,引导你选型的逻辑或者核心原因是什么
流行是唯一的原因
- Looper 为什么不会卡死?我们往深层次一点说,天马行空一点,你能想到什么办法让一个死循环不会卡死?
for绘制进度条,两层for+SIGINT,for调度函数队列-这样死递归还不会栈爆呢
- 如果网络碰到延迟会如何解决
做一个加速条,利用安慰剂效应;也可以Cache-Control或Protobuf压缩
- 技术上提升最大的一个项目,展开介绍
对比业界同种算法流行和不流行实现、重写自己的任何项目,都比从事GPT都能完成的原型要好
- 为什么选择 Flutter,在业务方面学到了什么
Compose界原神的名气真的太大了,居然能用Navbar,Tab等自带组件,居然能调style!
- Java 里重载和重写的区别
在编译期vs运行期确定函数,改方法签名vs改子类值
- 什么是线程安全
避免共享变量(不相交),或使用Atomic/独占锁 避免读写异步
- Service 是什么
是Android版的主要线程,与daemon线程相反,适合后台Worker
- Fragment 和 Activity 有哪些区别
不刷新重载vs带参单页(Intent)
- Retrofit 用到了哪些设计模式
都是nodejs事件队列,ES6默认参数,函数名Proxy,组合函数(适配 装饰 策略) 之类的东西
- UDP 和 TCP 有什么区别
TCP和stdio文件没区别,UDP允许丢包和无连接发送
- 算法题,输入两个包含数字的 String,求它们的和,要求可进行任意长操作(不能直接变成基本类型算)
BigInt,即从右遍历相加,记录>10到carry=1 进位。遍历int[]也一样
- 为什么选择 Flutter,引导你选型的逻辑或者核心原因是什么
流行是唯一的原因
- Looper 为什么不会卡死?我们往深层次一点说,天马行空一点,你能想到什么办法让一个死循环不会卡死?
for绘制进度条,两层for+SIGINT,for调度函数队列-这样死递归还不会栈爆呢
- 如果网络碰到延迟会如何解决
做一个加速条,利用安慰剂效应;也可以Cache-Control或Protobuf压缩
duangsuse::Echo
#dev #android 面试题 🤔 - 技术上提升最大的一个项目,展开介绍 对比业界同种算法流行和不流行实现、重写自己的任何项目,都比从事GPT都能完成的原型要好 - 为什么选择 Flutter,在业务方面学到了什么 Compose界原神的名气真的太大了,居然能用Navbar,Tab等自带组件,居然能调style! - Java 里重载和重写的区别 在编译期vs运行期确定函数,改方法签名vs改子类值 - 什么是线程安全 避免共享变量(不相交),或使用Atomic/独占锁 避免读写异步 - Service…
#dev #android #backend 面试题 🤔
- OSI 七层是哪七层
物理,数据链路: WiFi,BLE,eth,rndis驱动
网络传输: IP4,6 , iptables, socket(TCP) UDP
会话表示 Header cookie,json
App 众多Web3.0论坛,.
- HTTP 在哪一层?有些什么内容?
在L5~L6,负责请求响应和MIME类型,暴露为 调用+回调 +Header环境变量
除了会话,HTTP也能做文件传输和填表
- GET 和 POST 核心差异是什么?
body是否为form等私密数据
- HTTP 状态码有哪些?
{2,3,4,5}xx 各指代: 正常 重定向 请求出错 服务出错
- Java 的基本类型有哪些?拆包解包了解过吗?
值类型8种:BSCIJFDZ, byte8 short,char16 默认int32 long64 f32 默认double64 bool
值在放入List,. 前被装箱为Integer,.
Str不能修改,但相等比较也需要用java.lang. 函数 ,称为引用类型
jadx 可用于反编译,但如果是aapt+dx 会默认混淆函数名的
- Java 的访问修饰符有哪些?类级的 final 作用是什么?
可见性 private protected public 默认internal=包私有
确定性 final abstract default
final class或成员不含(函数)变量,等价于struct,因此不应该生成可供覆写的get/setter
- Java 的基本类是什么?有哪些方法?equals 和 == 有什么区别?重载重写是什么?
所有类型的Base class 是Object{eq,hash,toStr ,wait,notify同步锁 }
== 只比较GC对象的引用,而 (1.equals) 需要先valueOf装箱
重载=编译期0开销查找fun invoke()的重写,静态类型的专利
- Java 的常用类型有哪些?immutable 和 mutable 的 list 差异是什么?LinkedList 和 ArrayList 的差异是什么?
java.util.可变性 是从Kotlin抄的,弱类型assert
一般,只在嵌入式设备用易于增长的链表
- HashMap 了解哪些?规避哈希碰撞的方式有哪些?
类似RegExp 地狱回溯,long hashCode() 作为分组key的相同,也会给DDoS可乘之机
因此,对于用户输入的field,可以将其忽略,只用str,int作为Key
C系语言一般用 BTree,AVL 二分法实现KV查找。 如果是要问带锁的/fastutil的 Map实现,或者getOrPut 等惯用法……
- 项目里用到了 Xposed,它的原理是什么?
作为Xp插件的apk们会被 app_process 随 XposedBridge.jar framework.jar加载
在活动前loadPkg时,利用变量或函数名(转为native),修改其JNI代码指针,使调用前先查找覆盖表
- 了解过哪些设计模式?他们分别是什么?
Adapter,Delegate,Proxy,Observer/ 类型转换或AOP覆写
Factory,Visitor,Chain/跨平台的new()方法, 判断"type"的方法, 事件冒泡
被新语言淘汰的:😅👎
Singleton,Builder-Prototype,Command/ 模拟字典、复制数据、枚举操作
Strategy,Bridge,Facade / 函数字典和import式模块
- 单例模式的实现有哪些?可以手撕一个吗?
JVM上的static 已经支持了RAII。也可以用DCL懒加载
- OSI 七层是哪七层
物理,数据链路: WiFi,BLE,eth,rndis驱动
网络传输: IP4,6 , iptables, socket(TCP) UDP
会话表示 Header cookie,json
App 众多Web3.0论坛,.
- HTTP 在哪一层?有些什么内容?
在L5~L6,负责请求响应和MIME类型,暴露为 调用+回调 +Header环境变量
除了会话,HTTP也能做文件传输和填表
- GET 和 POST 核心差异是什么?
body是否为form等私密数据
- HTTP 状态码有哪些?
{2,3,4,5}xx 各指代: 正常 重定向 请求出错 服务出错
- Java 的基本类型有哪些?拆包解包了解过吗?
值类型8种:BSCIJFDZ, byte8 short,char16 默认int32 long64 f32 默认double64 bool
值在放入List,. 前被装箱为Integer,.
Str不能修改,但相等比较也需要用java.lang. 函数 ,称为引用类型
jadx 可用于反编译,但如果是aapt+dx 会默认混淆函数名的
- Java 的访问修饰符有哪些?类级的 final 作用是什么?
可见性 private protected public 默认internal=包私有
确定性 final abstract default
final class或成员不含(函数)变量,等价于struct,因此不应该生成可供覆写的get/setter
- Java 的基本类是什么?有哪些方法?equals 和 == 有什么区别?重载重写是什么?
所有类型的Base class 是Object{eq,hash,toStr ,wait,notify同步锁 }
== 只比较GC对象的引用,而 (1.equals) 需要先valueOf装箱
重载=编译期0开销查找fun invoke()的重写,静态类型的专利
- Java 的常用类型有哪些?immutable 和 mutable 的 list 差异是什么?LinkedList 和 ArrayList 的差异是什么?
java.util.可变性 是从Kotlin抄的,弱类型assert
一般,只在嵌入式设备用易于增长的链表
- HashMap 了解哪些?规避哈希碰撞的方式有哪些?
类似RegExp 地狱回溯,long hashCode() 作为分组key的相同,也会给DDoS可乘之机
因此,对于用户输入的field,可以将其忽略,只用str,int作为Key
C系语言一般用 BTree,AVL 二分法实现KV查找。 如果是要问带锁的/fastutil的 Map实现,或者getOrPut 等惯用法……
- 项目里用到了 Xposed,它的原理是什么?
作为Xp插件的apk们会被 app_process 随 XposedBridge.jar framework.jar加载
在活动前loadPkg时,利用变量或函数名(转为native),修改其JNI代码指针,使调用前先查找覆盖表
- 了解过哪些设计模式?他们分别是什么?
Adapter,Delegate,Proxy,Observer/ 类型转换或AOP覆写
Factory,Visitor,Chain/跨平台的new()方法, 判断"type"的方法, 事件冒泡
被新语言淘汰的:😅👎
Singleton,Builder-Prototype,Command/ 模拟字典、复制数据、枚举操作
Strategy,Bridge,Facade / 函数字典和import式模块
- 单例模式的实现有哪些?可以手撕一个吗?
JVM上的static 已经支持了RAII。也可以用DCL懒加载
@JVM_volatile var cache
get()=run{ //保证单次执行
if(null==cache) sync(this){ if(null==cache) cache=init()}
return cache
}
#security #life 为什么说党国,更多是社会风气的结果 😢
回顾之前反转的 #android rm-rf 刷机远控事件, 底层互害的色调在 #china ,从革地主的命、不劳而获开始已奠好基
理想:前人栽树 后人乘凉
中国:前脚过桥 后脚拆桥 一手屯饭 二手砸锅
#tw 77,博恩: 有名有钱的人容易说错话,生气的旁观者容易一竿子打死理智的质疑,但请给大家改正的机会
「就算真的是沽名釣譽,社會仍然可以變好
如果可以有更多人跟隨這種行為
我還是會真心稱讚這種影片很棒
人生在世,有時何嘗不是為了一句:你做得很棒,有你真好!」
回顾之前反转的 #android rm-rf 刷机远控事件, 底层互害的色调在 #china ,从革地主的命、不劳而获开始已奠好基
理想:前人栽树 后人乘凉
中国:前脚过桥 后脚拆桥 一手屯饭 二手砸锅
#tw 77,博恩: 有名有钱的人容易说错话,生气的旁观者容易一竿子打死理智的质疑,但请给大家改正的机会
「就算真的是沽名釣譽,社會仍然可以變好
如果可以有更多人跟隨這種行為
我還是會真心稱讚這種影片很棒
人生在世,有時何嘗不是為了一句:你做得很棒,有你真好!」
Telegram
LetITFly News
飞飞忽然想起了 Shadowsocks 原始作者 clowwindy 临走前在 GitHub 留下的那段话。
https://github.com/shadowsocks/shadowsocks-windows/issues/293#issuecomment-132253168
ShadowsocksR vs Shadowsocks
LSPosed vs EdXposed
https://github.com/shadowsocks/shadowsocks-windows/issues/293#issuecomment-132253168
ShadowsocksR vs Shadowsocks
LSPosed vs EdXposed
👎1
Forwarded from 层叠 - The Cascading
新加坡用户的 Android 设备将阻止用户 sideload 不安全软件,除非用户完全禁用 Google Play Protect。
- Google 正在新加坡进行试点:Android 将在检测到用户下载或 sideload 的应用不安全时拦截并通知用户。
- 此功能由新加坡网络安全局 (Cyber Security Agency, CSA) 开发。
- 与一般情况下用户可以点击跳过不同,除非完全禁用 Google Play Protect 功能,用户将无法临时运行安装可疑 App。
straitstimes.com/~
#Singapore #Security #Google #Android
- Google 正在新加坡进行试点:Android 将在检测到用户下载或 sideload 的应用不安全时拦截并通知用户。
- 此功能由新加坡网络安全局 (Cyber Security Agency, CSA) 开发。
- 与一般情况下用户可以点击跳过不同,除非完全禁用 Google Play Protect 功能,用户将无法临时运行安装可疑 App。
straitstimes.com/~
#Singapore #Security #Google #Android
The Straits Times
Android users in S’pore to be blocked from installing unverified apps as part of anti-scam trial
An update will progressively arrive on all users’ devices and will be enabled by default through Google Play protect. Read more at straitstimes.com. Read more at straitstimes.com.
duangsuse::Echo
#好物 #life 乞丐价USB投影仪📱🎥 可以配合蓝牙键鼠(22包邮)把手机当Chromebook用 首先是我已购的安卓 康佳C1(500, 清仓价99不包邮👍),实际亮度约150流明,支持电动对焦和四点梯形校正,仅有1USB,TF口和遥控器,面包机大小 有风扇音。在白天使用最高需1200流明 特别推荐360度云台 水杯大小的 hy300pro(211包邮) 同样720p亮度160,但配置1G+8G 支持蓝牙WIFI 各种接口齐全, Android TV 11 HY300(186包邮👍, 便宜于PL…
#linux #android TV 均可自行安装 KODI.tv 媒体中心和 MX Player
准备:
usb鼠标
安装包 https://mxtechs.net/
https://mirrors.kodi.tv/releases/android/arm/
https://f-droid.org/packages/org.kde.kdeconnect_tp/
https://wwi.lanzoub.com/iue6D1123o1i
首先用蓝牙发kdeconnect,同局域网用鼠标操作配对,可作为输入法使用
发送SSR安装包,从剪贴板导入梯子。若连不上要把主机名换成 nslookup.io 的IP再导入
打开Settings/ Interface / Skin / Fonts 设置为 Arial based,然后kodi主页搜索chi语言包启用
在kodi的搜索页安装yt插件,在TV页安装IPTV并配置链接为 https://iptv-org.github.io/iptv/index.m3u 即可收听CGTN
收听敌台时,先在插件页打开SSR
另外,DLNA、AirPlay、Miracast 里前两种有支持,需在设置-服务页打开,不过B站支持同步播放列表和投屏
https://blog.csdn.net/qq_20466211/article/details/121301053
准备:
usb鼠标
安装包 https://mxtechs.net/
https://mirrors.kodi.tv/releases/android/arm/
https://f-droid.org/packages/org.kde.kdeconnect_tp/
https://wwi.lanzoub.com/iue6D1123o1i
首先用蓝牙发kdeconnect,同局域网用鼠标操作配对,可作为输入法使用
发送SSR安装包,从剪贴板导入梯子。若连不上要把主机名换成 nslookup.io 的IP再导入
打开Settings/ Interface / Skin / Fonts 设置为 Arial based,然后kodi主页搜索chi语言包启用
在kodi的搜索页安装yt插件,在TV页安装IPTV并配置链接为 https://iptv-org.github.io/iptv/index.m3u 即可收听CGTN
收听敌台时,先在插件页打开SSR
另外,DLNA、AirPlay、Miracast 里前两种有支持,需在设置-服务页打开,不过B站支持同步播放列表和投屏
https://blog.csdn.net/qq_20466211/article/details/121301053
f-droid.org
KDE Connect | F-Droid - Free and Open Source Android App Repository
KDE Connect integrates your smartphone and computer
duangsuse::Echo
duangsuse: 草,虽然技术不怎么但例子还是值得一看 正好在外地就买来读 很久没读过纸质书,视力下降很大 https://www.bennyhuo.com/book/kotlin-coroutines/ 协程那本我就懒得买了,再说一个把yield 外提为语句,变成 let then=回调=()=>switch{} 里的编号这样简单的堆栈互换特性 也不值得学习 问题都是应用层们乱搞api,唉 在一些比较负责的sdk里,例如Lua和Duktape js,Thread是完全不需要await asyn…
🤓🖕 咳特灵元神书到货了
自古以来不会拒绝元!编程
Jun: #android
还是compose写的舒服,看到rv的繁琐adapter会感到生理不适了
Perol:
rv算是命令式的场景下封装的比较好的了
以至于listview都没人用了,面试也不考了
见过那种在recycleview上封一层,让开发者用dsl的方式再写业务逻辑的,但是终究是拿实例去set的方式, compose好几个版本的lazycolumn性能都比不上rv,现在不知道啥情况了
duangsuse:
幽默安卓,还是跟随js的进步
listview也不会有性能问题,React每次渲染重新new整个树也不见得比微信卡啊
自古以来不会拒绝元!编程
Jun: #android
还是compose写的舒服,看到rv的繁琐adapter会感到生理不适了
Perol:
rv算是命令式的场景下封装的比较好的了
以至于listview都没人用了,面试也不考了
见过那种在recycleview上封一层,让开发者用dsl的方式再写业务逻辑的,但是终究是拿实例去set的方式, compose好几个版本的lazycolumn性能都比不上rv,现在不知道啥情况了
duangsuse:
幽默安卓,还是跟随js的进步
listview也不会有性能问题,React每次渲染重新new整个树也不见得比微信卡啊
Rachel: #android #css #web
写过复杂 UI 的人肯定知道要在复杂业务场景里把动画优化到 60 帧有多难
duangsuse:
为什么 shadertoy.com 和 gl-transitions.com 用几行代码就能做到呢? 为什么@3b1b 一个人用py就能实现呢
还不是框架做得烂 https://tttttt.me/dsuse/19124
同意,类型系统不就是对字面和编译期键值的Matcher嘛, 占篇幅纯属过度设计
要是我,直接把 def(a:str) 写成 def(a~"")
现在ui还不是有用gl加速,结果到头来连满挣都做不到,一大堆空洞的class写得还不如numpy的那些公式
如果专业是指「我们必须保留所有历史错误」,我宁可保持饥饿、保持愚蠢
至少,对用字面量取代类型标注上是这样。 泛型也一样啊,写成 a=set() assert{a.add("")} 而非Set[Str]
我有一整个系统来替代现在的OOP和静态类型/编译期计算理论。
你不觉得typescript的类型标注是过度工程吗?作为把sql row 填到forif模板里的一些业务。
他们有这样依赖补齐、检查,完全是因为API的风格太含糊
动态类型只是在运行时能进行修改和(同名符号的)链接,方便元编程。 例如 for: class: 这种结构就是无效的
致胜优点是免编译(交互式编程/所见即所得)、隐式类型!
还有,在生态上,没有被缺乏语意的设计模式(例如序列化和依赖注入 aka with强类型KV:)所绑架
在子类型多态上,未必比得过静态OOP
难以拆箱(栈上分配)本该是一种可以被类型推导消除的副作用
我看到的是有初学者用 Cursor 写出类似字幕搜索的高层应用
编程的工程化,作为限制生产力的繁文缛节,如果只是 make computer happy,理应从人应该学习的部分去掉
例如,javac 用那一套class{}语法定义一个编译期字典,我们应该是做IDE插件去生成样板代码吗??
多少技巧模式是从语言缺陷来的?
狸::
说着要开发效率,用着到处加字段,SQL两百行,不合理拆分接口全部Object返
duangsuse:
还有全部POST :)
这样,其实你完全可以用WebSocket收发json吧
不是动不动脑子,这种业务组件根本不该让人写
白用了个http,就是当做饼干罐和 /git/push?url= 那样的子命令微服务吧🥰
直接跟py那样 import fire ,什么http服务器哎,封装为函数路径和调用算了。
就像以前还写什么argparse,哈,完全是样板代码
写过复杂 UI 的人肯定知道要在复杂业务场景里把动画优化到 60 帧有多难
duangsuse:
为什么 shadertoy.com 和 gl-transitions.com 用几行代码就能做到呢? 为什么@3b1b 一个人用py就能实现呢
还不是框架做得烂 https://tttttt.me/dsuse/19124
同意,类型系统不就是对字面和编译期键值的Matcher嘛, 占篇幅纯属过度设计
要是我,直接把 def(a:str) 写成 def(a~"")
现在ui还不是有用gl加速,结果到头来连满挣都做不到,一大堆空洞的class写得还不如numpy的那些公式
如果专业是指「我们必须保留所有历史错误」,我宁可保持饥饿、保持愚蠢
至少,对用字面量取代类型标注上是这样。 泛型也一样啊,写成 a=set() assert{a.add("")} 而非Set[Str]
我有一整个系统来替代现在的OOP和静态类型/编译期计算理论。
你不觉得typescript的类型标注是过度工程吗?作为把sql row 填到forif模板里的一些业务。
他们有这样依赖补齐、检查,完全是因为API的风格太含糊
动态类型只是在运行时能进行修改和(同名符号的)链接,方便元编程。 例如 for: class: 这种结构就是无效的
致胜优点是免编译(交互式编程/所见即所得)、隐式类型!
还有,在生态上,没有被缺乏语意的设计模式(例如序列化和依赖注入 aka with强类型KV:)所绑架
在子类型多态上,未必比得过静态OOP
难以拆箱(栈上分配)本该是一种可以被类型推导消除的副作用
我看到的是有初学者用 Cursor 写出类似字幕搜索的高层应用
编程的工程化,作为限制生产力的繁文缛节,如果只是 make computer happy,理应从人应该学习的部分去掉
例如,javac 用那一套class{}语法定义一个编译期字典,我们应该是做IDE插件去生成样板代码吗??
多少技巧模式是从语言缺陷来的?
狸::
说着要开发效率,用着到处加字段,SQL两百行,不合理拆分接口全部Object返
duangsuse:
还有全部POST :)
这样,其实你完全可以用WebSocket收发json吧
不是动不动脑子,这种业务组件根本不该让人写
白用了个http,就是当做饼干罐和 /git/push?url= 那样的子命令微服务吧🥰
直接跟py那样 import fire ,什么http服务器哎,封装为函数路径和调用算了。
就像以前还写什么argparse,哈,完全是样板代码
#android #tool https://www.fxzhihu.com/question/25050446/answer/1906164947
https://josephchang10.github.io/chinese-indie-hackers/
https://josephchang10.github.io/chinese-indie-hackers/
FxZhihu / Fixup Zhihu
国内目前独立开发者收入如何?可以养活自己以及家人吗? - @彭宏豪 | FxZhihu
因为写 App 安利或介绍文章的原因,在网上认识了一些独立开发者,下面介绍我比较喜欢的 6 个独立开发者: 01. Kenshin [图片] Kenshin,坐标大连, 两款浏览器插件——「简悦 SimpRead」和简 Tab的作者。简悦插件最基本的作用在于,为网页内容提供「阅读视图」,可以优化内容的排版,去除网页上的广告,带来更好的阅读体验。 [图片] 此外,如果你还有 解除网页内容禁止复制的需求,也可以使用这款插件,在网页空白处右击,选择「简悦 >> 阅读…
#android #linux #security 幽默 utf8_casefold 大小写合并算法冲突 🤣 unicode迫真一致化
所以还是用 bytes 算了吧,大小写整什么花活, 幼稚程度堪比log4j或者在shellUI加广告的win10
FUSE 和 kernel GKI 的实现不一样,导致
> 从此,指向存储空间的路径,例如
如果用户空间在比较路径时没有执行与内核相同的步骤,会引入安全问题,导致本应拒绝访问的路径被绕过。需要重点检查FileProvider逻辑,如果它对外提供对共享存储空间文件的访问权限,私有存储不受影响。
所以还是用 bytes 算了吧,大小写整什么花活, 幼稚程度堪比log4j或者在shellUI加广告的win10
FUSE 和 kernel GKI 的实现不一样,导致
/Android /
.. 既不在访问黑名单里,syscall也解析到原地址> 从此,指向存储空间的路径,例如
/storage/emulated/0/Android/data
,由于 emulated 是 fuse,其底层是 /data/media,所以从 0 开始 (包括),可以在任意位置插入默认可忽略代码点,内核自动删除它们。如果用户空间在比较路径时没有执行与内核相同的步骤,会引入安全问题,导致本应拒绝访问的路径被绕过。需要重点检查FileProvider逻辑,如果它对外提供对共享存储空间文件的访问权限,私有存储不受影响。
https://www.fxzhihu.com/question/652185870/answer/3458513818
#android 的失败给了「崇文」崇尚八股文的人一个教训: 没有 User Experience 的代码内卷是很蠢的投入,一旦垄断被打破,我们无处可去
认为 #dev 「领域护城河」和医学生一样的想法,是不切实际的。 医学生对照的是 #cs 拉丁文或IT架构师, 开发者就是纯粹的实干网红,应该对自己的产品负责
只有像PyJS这样有缺陷的直白,才有被开发的潜力, 在App的功能点上到处设卡、贩卖焦虑和私货的 android API 没有资格。
#android 的失败给了「崇文」崇尚八股文的人一个教训: 没有 User Experience 的代码内卷是很蠢的投入,一旦垄断被打破,我们无处可去
认为 #dev 「领域护城河」和医学生一样的想法,是不切实际的。 医学生对照的是 #cs 拉丁文或IT架构师, 开发者就是纯粹的实干网红,应该对自己的产品负责
只有像PyJS这样有缺陷的直白,才有被开发的潜力, 在App的功能点上到处设卡、贩卖焦虑和私货的 android API 没有资格。
FxZhihu / Fixup Zhihu
为何如今全网都在唱衰安卓开发? - @agewuliao | FxZhihu
先回答是不是吧。以我所在的杭州为例,打开某联招聘的网页端,直接搜索JAVA后端和安卓的岗位,得到的情况列了个表格。 薪资范围JAVA后端安卓10k-15k15页7页15k-25k19页(参杂1/3其余语言)7页(一半前端开发,一般安卓开发)25k-35k9页(参杂少量架构,主体是开发)2页(一半前端负责人,一半高级安卓开发)35k-50k2页(技术专家)2页前端负责人与高级开发50k+1页(架构与专家)1页大厂前端专家考虑在杭州,且搜寻的是社会招聘,…
Forwarded from 层叠 - The Cascading
Kiwi Browser 宣布停止开发;需要在 Android Chromium 安装插件的用户可换用 Microsoft Edge Canary。
- https://github.com/kiwibrowser/src.next
- androidauthority.com/~
#KiwiBrowser #MicrosoftEdge #Android
- https://github.com/kiwibrowser/src.next
- androidauthority.com/~
#KiwiBrowser #MicrosoftEdge #Android
GitHub
GitHub - kiwibrowser/src.next: Source-code for Kiwi Next, a Kiwi Browser auto-rebased with latest Chromium
Source-code for Kiwi Next, a Kiwi Browser auto-rebased with latest Chromium - kiwibrowser/src.next
Forwarded from Solidot
Google 推出 Debian Linux Terminal App For Android
2025-03-10 11:57 by 蓝莓村
Google 在 Android 平台推出了 Debian Linux 终端 App,这是它致力于将 Android 变成多用途桌面操作系统的努力的一部分。Debian Linux 终端 App 目前只支持运行 Android 15 的 Pixel 设备,未来会在下一代的 Android 16 版本中提供给所有高性能 Android 设备。对于 Pixel 设备,要使用终端 App 需要首先启用开发者模式(设置 → 关于本机 → 连续点击 Build 号七次),然后进入设置 → 系统→ 开发者选项 → Linux 开发环境。设备的应用抽屉内将会出现终端 App,第一次使用需要下载 500MB 左右的 Debian 系统。终端 App 的设置允许用户调整磁盘空间、设置网络的端口控制以及恢复虚拟机的存储分区等等。
Androidpolice:Android's native Linux Terminal app is live in Google's latest update
#Android
2025-03-10 11:57 by 蓝莓村
Google 在 Android 平台推出了 Debian Linux 终端 App,这是它致力于将 Android 变成多用途桌面操作系统的努力的一部分。Debian Linux 终端 App 目前只支持运行 Android 15 的 Pixel 设备,未来会在下一代的 Android 16 版本中提供给所有高性能 Android 设备。对于 Pixel 设备,要使用终端 App 需要首先启用开发者模式(设置 → 关于本机 → 连续点击 Build 号七次),然后进入设置 → 系统→ 开发者选项 → Linux 开发环境。设备的应用抽屉内将会出现终端 App,第一次使用需要下载 500MB 左右的 Debian 系统。终端 App 的设置允许用户调整磁盘空间、设置网络的端口控制以及恢复虚拟机的存储分区等等。
Androidpolice:Android's native Linux Terminal app is live in Google's latest update
#Android
Forwarded from Solidot
Google 开发 Android 桌面模式
2025-05-15 00:05 by 火星棋士
三星 Galaxy 智能手机的一大特色是 DeX,模拟桌面 UI 的软件功能。当用户将三星手机连接外接显示器时,DeX 会呈现类似桌面的界面,支持键盘和鼠标控制。Google 正在开发自己的 DeX。该功能目前还在开发中,预计不会包含在今年晚些时候发布的 Android 16 正式版本,也许明年发布 Android 17 前该功能可能会做好准备。
www.androidauthority.com/android-desktop-mode-leak-3550321/
#Android
2025-05-15 00:05 by 火星棋士
三星 Galaxy 智能手机的一大特色是 DeX,模拟桌面 UI 的软件功能。当用户将三星手机连接外接显示器时,DeX 会呈现类似桌面的界面,支持键盘和鼠标控制。Google 正在开发自己的 DeX。该功能目前还在开发中,预计不会包含在今年晚些时候发布的 Android 16 正式版本,也许明年发布 Android 17 前该功能可能会做好准备。
www.androidauthority.com/android-desktop-mode-leak-3550321/
#Android
Forwarded from Solidot
Android 应用面临越来越多的不兼容问题
2025-06-08 19:31 by 好兆头
Google Play Store 中的应用数减少了 47%,一大原因可能就是不兼容导致大量应用下架。而不兼容的问题与 Google 本身紧密关联。Android 应用开发者抱怨维护 Android 应用所面临越来越大的挑战。举例来说,用 Java 开发的项目如果依赖了用 Kotlin 开发的库会遇到兼容性问题,除非项目用 Kotlin 重写;开源媒体播放器库 ExoPlayer 的 V1 与 V2 不兼容,ExoPlayer 正被不兼容的 media3 所取代;Google Ads library v24 停止支持 Android API 21,而 API 21 仍然有 400 万用户;Material 3 取代了 Material 2,但 Google 没有提供清晰的
迁移指南;Android API 版本号与 Android 版本不一致,开发者文档也经常会将两者混淆在一起;重要的第三方开源库被弃用或不再维护;Google 经常会做出破坏兼容性的决策。
ashishb.net/programming/maintaining-android-app/
news.ycombinator.com/item?id=44214835
#Android
2025-06-08 19:31 by 好兆头
Google Play Store 中的应用数减少了 47%,一大原因可能就是不兼容导致大量应用下架。而不兼容的问题与 Google 本身紧密关联。Android 应用开发者抱怨维护 Android 应用所面临越来越大的挑战。举例来说,用 Java 开发的项目如果依赖了用 Kotlin 开发的库会遇到兼容性问题,除非项目用 Kotlin 重写;开源媒体播放器库 ExoPlayer 的 V1 与 V2 不兼容,ExoPlayer 正被不兼容的 media3 所取代;Google Ads library v24 停止支持 Android API 21,而 API 21 仍然有 400 万用户;Material 3 取代了 Material 2,但 Google 没有提供清晰的
迁移指南;Android API 版本号与 Android 版本不一致,开发者文档也经常会将两者混淆在一起;重要的第三方开源库被弃用或不再维护;Google 经常会做出破坏兼容性的决策。
ashishb.net/programming/maintaining-android-app/
news.ycombinator.com/item?id=44214835
#Android