查看详情

WebXR Guide 分享

终于找到机会分享了自己最近几年一直想分享的话题,这次分享也是非常浅显,重点在于科普这个东西; 本篇文章感谢 《WebXR 入门必读》 提供的一些资料,也感谢 MDN 非常棒的文档,自己结合了去年开发 Oculus PWA 的一些探索; English Version 在分享前,我觉得我需要回顾下计算机的发展历史; 从20世纪40年代,世界诞生了第一台计算机,那个时候计算机还是一个大个子选手,界面和按键都非常粗糙;而我们只能通过各种信号灯的组合来传达具体的信息;随着技术的发展,美国各大公司进入个人计算机市场,我们熟悉的计算机模样,诞生了;我们认识到了鼠标,键盘;随着时间的推移,人们开始追求越来越轻量化,我们拥有了笔记本,用书包就能够随时随地的带着它到处办公;来了新世纪,我们拥有了触摸屏的 iPad,这是人类历史上非常伟大的发明之一;冯诺依曼模型,输入与输出完美了结合在一张显示屏上;带给了我们非常多的创新交互; 而最近十年,人类还在寻找下一代计算机通用设备;比如 Apple Meta 都花了非常多资源在 VR 设备上,所以我们也可以期待它是否可以承担起这样的角色。因为 VR 头显设备本身,具备最先进显示技术,结合它超自由度的空间交互,会给人类进行创作,娱乐, 详情 »

查看详情

Chrome 如何使用自带二维码分享

作为前端开发,大家经常开发移动页面,经常会 Chrome 调试完,然后生成二维码,让手机预览看下效果;尽管可以分享链接,但是很多时候大家都是关掉的(个人认为:不太好用); 最近无意之中,看到了 Chrome 地址栏上的 分享 功能。因为一直用的 PC 比较多,所以也没咋点击。今天意外点击发现了一个非常实用的功能: 随后就会出现二维码,你可以截图或者下载它,然后分享给你的同事。 虽迟但到,点赞 Chrome 团队。 这样大家再也不用安装第三方插件了。 详情 »

查看详情

Warp - Mac 上最好用的命令行工具之一

虽然有些标题党,但是我觉得自从使用 Warp 后确实没有再想回到使用 iTerm2 的时代。 Warp是近几年出现的一款非常火爆的命令行工具,如同它的 slogan: The terminal for the 21st century 既然到了新世纪,自然要用新世纪的工具。 Warp 是一个非常快的、基于 Rust 的终端,它使您和您的团队在运行、调试和部署代码方面更有效率。 我为什么切到 Warp 大家都懂互联网的一个现象,跳槽比较多,经常会换电脑。而每次用新电脑,都会自己装各式各样的软件,其中命令行工具也是其中一个。所以自己每次在初始化 iterm2 的时候,都会花些时间。当然也有非常多的一键式配置,但是还是觉得会比较麻烦。分享一片自己比较喜欢的配置: iTerm2 + zsh + oh-my-zsh + Material Design The Most Power Full Terminal on macOS 随后自己发现了 Warp,这张表格展示他的基本功能;而 Warp 详情 »

查看详情

AIGC 真的解决了我的痛点

最近几个月,最火的无疑是 ChatGPT; 人民很难预估到技术奇点的来临;自己才开始对人工智能的理解也还骗概念性,直到最近非常火之后,开始尝试它们是否真的可以解决自己遇到的问题; 而自己平时每次写博客都回想着封面,而自己一般会自己去 PS 一些,有一些从第三方网站找一点,然后再处理成合适的封面; AIGC 的方向有很多,比如视频,图片,新闻等;于是乎自己尝试能不能找到合适的站点省去图片制作的环节; 比较火的的平台有; nightcafe craiyon dall-e-2 而自己尝试了 fotor; 下面简单列举几张效果: 输入 Android: 输入 Headsets: 输入 Summer: 你实在不知道输入什么关键词,你直接输日期也行 输入 March 21 输入 2023 这里面你可以选择很多效果: Concept Art Anime Japanese Anime B & W 3D Psychedlic Pop Oli Painting 期待后续上新更多风格; 这次 ChatGPT 详情 »

查看详情

VR 视频工作原理简介

最近在小组分享了关于沉浸式多媒体的体验和原理,这里也是简要分享我们如果做头显里的播放器,我们应该关注什么要的体验和如何实现等; 自己分享主要是从四个方面去讲: VR 历史简述 VR 视频播放体验 VR 视频播放原理 目前面临的一些挑战 Stanley G.Weinbaum 发布了科幻小说,《皮格马利翁的眼镜》, 这部小说给大家展现了一部神奇的眼镜,在眼镜里面可以看到万事万物,这也是想象的魅力,没人能够预言到未来会有人实现这样的眼镜; Morton Heilig 发明了人类历史上第一台 VR 设备;虽然看着捡漏,但是显示屏,影响,座椅,风扇,功能非常丰富,现在 4Dx 电影或许也参考了这一点;随后一段时间,他撰写专利,希望将这些都放到一个盒子里,而人们戴上这个盒子,便能实现他设计的诸多功能;这样的专利原型,也给后人制作头显设备留下重要的指引; 1968 年 Sutherland 和 Bob Sproull 发明了第一款头戴虚拟现实设备,它是里程碑的产品,它完成了跟随头部运动而更新画面的能力;但是受限于硬件限制,它需要额外的支持来拖住这个设备; 而到了90年代,诸多游戏公司入局,参与到VR头显设备的研发之中,这里面包括诸如 详情 »

查看详情

升级 Mac Os Ventrue Android 文件传输助手无法正常工作

最近连接自己的 Android 手机发现手机选项设置正确,但是一直无法传文件。但是 Adb 是连接正常的。 自己是一款小米 Mix1; Android 10,已经很久没有更新了;自己回想了唯一变化的是,就是我最近 Mac 升级到了 Mac Os Ventrue; 自己尝试重启手机,尝试重启电脑都不行;只能求助谷歌了;然后搜索到唯一一个有关联的变更;就是 allow accessory to connect | 允许配件连接; 你需要将这里设置为 Always。 然后重新连上手机就可以了,当然自己也不太确认这个能不能完全解决这样的问题;因为我谷歌的手机至今没有遇到这个问题; 详情 »

查看详情

小米 AX6000 解锁科学上网一些问题记录

目前自己总的来说是根据博客 https://github.com/kjfx/AX6000 和博主自己的视频 https://youtu.be/E1M3eU45S1k 来进行配置; 自己在这里实践的时候发现了一些问题,罗列分享下; 型号问题 看了网上主要是红米和小米 AX6000 的视频,而其实更多人是推荐小米 3600;当然这个读者可以自行选择; 原理科普 目前这些主要都是依赖于 OpenWrt 作为软路由来破解 ssh; 因此目前的教程,都是借助 OpenWrt 软路由;因此网上的视频,一种是子借助自己电脑作为热点来实现,另外一种就是借助拥有 OpenWrt 的路由器或者别的网络机器来实现;前面提到的博主是通过 Windows VMWare 做虚拟机。当然博主有 Mac 的话,也可以借助 Docker OpenWrt 自己在开启 ssh 权限接口遇到的问题 一个连接失败 network fail; 这里大概需要确认下你开启 OpenWrt 热点是否开启;Windows 有的时候会莫名的关掉热点, 详情 »

查看详情

聊聊前端裁员最近几个月的变化

总的来2022年的行情是非常的不如人意的。无论是应届生还是裁员找工作的。整体市场的需求非常的有限,而对市场人才的产出是有增不减的。 去年夏天开始陆陆续续看一些机会;时机不是很好,那个时候很多公司是已经在减员中,很多 HC 都没有释放出来。因此找工作的竞争激烈程度可想而知;自己身边也有很多人看机会,竞争表现在多方面的, 简历筛选通过概率比较低 面试周期较长 终面挂的概率提升 简历通过率 自己主要是在 Boss 上投递,心态也有很多变化。最开始觉得自己低估了整体的行情。首先就是简历在 Boss 通过后约面的就很少。而且自己处在一个特别的尴尬期,自己前几年一直做的前端,而最近的经历该做客户端 Android 相关的。但是这次准备找客户端和前端相融合的方向的机会却特别少。所以自己只能尝试前端单独方向和Android 中阶研发。 自己再计划里罗列了整体面试的公司数量,差不多投递了 103 家,面试了 15 家左右。这其中一面有三家没过,而到终面的有 5 加到了终面,最后只有三个 Offer. 面试周期 接下来想说的就是面试周期非常长,这里还出现了一些问题。因为不同公司面试周期不一样,而且今年普遍很长,会出现你预期公司的 offer 迟迟没法,而你之前优先级相对较低的Offer发的较早的情况。 自己之准备面试前, 详情 »

查看详情

ExoPlayer QoE 解读

对于很多初次尝试播放器的同学而言,在完成基本的开发的下一步,是需要对整个播放状况有个初步的认识,其中需要涉及到埋点设计和实现,因此这一块,对于新手而言是非常有难度的。 之前写过文章 基于 Android EXOPlayer 创建视频播放器 介绍过 ExoPlayer。它是谷歌开源的一款播放器,目前用于 YouTube 生产线,我推荐新手区学习它的原因,它整体包很小,里面有很多不错的实现帮助我们去理解播放最基本的事情。当然如果在生产线,还需要结合自己的实际情况取舍,可以参考 Ijkplayer、ExoPlayer、VLC播放器综合比较 的对比,再做实际选择,这里从 ExoPlayer 为基础,分析整个如何确保我们播放体验(QoE)文档。 接入 AnalyticsListener AnalyticsListener 是 Exoplayer 里面实现的一个接口,用于使用该播放器的开发同学方便的进行播放指标相关的统计。 class VideoQoEListener() : AnalyticsListener { override fun onRenderedFirstFrame(eventTime: AnalyticsListener.EventTime, surface: Surface?) { // Add Your Code to 详情 »

查看详情

Android WebView onPageFinished 对于 Document 意味着什么?

这是因为之前遇到一个线上问题引起的,这篇文章阅读的对象也比较适合 Android 和前端阅读。 我们说下 标题的 Document 对象,这个对 Android 开发者而言有些陌生,可以详见 MDN 里面的解释,简单的说就是它可以去代表我们要加载的这个网页对象。里面包含一些基本的信息和所谓生命周期。 Android WebView 提供了基于 WebViewClient 的页面周期的监听方法,常见的有: onPageStarted 当页面开始请求 onPageFinished 页面完成加载 onReceivedError 当加载出现错误的时候 更多方法可以详见 https://developer.android.com/reference/android/webkit/WebViewClient 在 JS 中,我们监听页面加载有两种常见的方法,一种是监听 window.onload 另外一个是 document 里的 readychange 来实现的。 其中 window.onload 定义是当页面完全加载时候触发,包括页面的上包含的图片和样式资源,脚本资源。 而 详情 »