IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    love 0
    ysicing (i@ysicing.me)
    发表于
    2024-04-12 15:06:10

    老乡鸡开源其菜品溯源报告

    老乡鸡开源 菜品溯源报告无聊闲逛中,发现老乡鸡开源了菜品溯源报告做菜和写程序一样,做菜时,我们需要挑选合适的食材🥘 就像写程序时选择合适的算法和数据结构。调料的配比就如同代码中的参数设置,需要恰到好处才能达到最佳效果。在做菜过程中,我们要注意时间和火候的把握👨‍🍳 这就像写程序时要注意性能和效率的优化。而且,做菜和写程序都需要不断尝试和改进,才能创造出令人满意的作品。但是做菜不可以回滚,而写程序可以撤销,希望你在工作之余,学好厨艺,为自己和家人做出家常的美味。目前该项目开源在Gitee上, 不知道是官方开源,还是内部资料泄漏官方仓库地址老乡鸡/菜品溯源报告 ...继续阅读 (216)


    love 0
    云风的 BLOG
    发表于
    2024-04-12 13:08:41

    Ant Engine 的一些优化

    最近一段时间都在公司内寻找项目可以合作推进Ant Engine的使用。我觉得自研引擎的一个重要优势在于我们可以针对具体游戏更好的做性能优化。在目标设备硬件性能允许的范畴内,把画面质量和交互体验做到更好。而同样的优化手段,在通用商业引擎上面做会困难的多,甚至无法顺利完成。我们用 Ant Engine 制作的第一款游戏Red Frontier在一年前是性能完全不达标的。它在 iPhone 8 上甚至都达不到 30fps ,无法流畅游戏。很多性能问题是已知问题,比如我们用 Lua 搭建了整个引擎,一开始只考虑了引擎结构和正确性,把性能搁置在一边待后面再处理。优化方案是一开始就想好的:借助 lua ecs 框架,把数据结构放在 C 内存中,必要时可以绕过 Lua 代码,直接用 C 代码控制核心数据。我们花了大约 3 个多月的时间将核心渲染系统用 C 重写后,就把性能提高了 1 个数量级以上。这个过程可以说是一直掌握在手中,按计划推进。但即使可以让游戏运行在 60fps 下,优化的目标也远远没有达到。这是因为对于手机设备来说,用户更容易产生电量焦虑。在固定座位上插着电玩主机或 PC 游戏,玩家不会去想游戏机耗了多少电;即使把 switch 外带玩游戏,也可以一直玩到没电;但用手机不光是用来玩游戏的,如果消耗电量太快,玩家会担心手机等一下会不会无法支付交通费用,不能扫码吃饭……我甚至一度怀疑 ...继续阅读 (161)


    love 0
    ysicing (i@ysicing.me)
    发表于
    2024-04-12 12:18:25

    群晖存储类型应该怎么选?选完还能换吗?

    刚开始接触使用群晖NAS过程中,一定会纠结的问题存储池RAID模式该如何选。随着时间的推移,存储量的递增,我可能会新增硬盘,那么之前选择的模式还能修改么。列出常用的类型简单点评各种存储类型有缺点,具体还得看你的群晖支持多少块盘。这里硬盘的容量默认都是一致的(8TSSD)Basic只适合单盘的机型,也就是1块硬盘的情况,其他情况都不推荐,坏了数据就丢失了。最大可用空间就是你的硬盘最大容量Raid0至少两块盘,坏了一个就数据就丢失了最大可用空间就是硬盘容量和如果需要高性能比的非关键系统数据存储就很推荐了,其他情况不推荐(正常人也用不了)Raid1至少两块盘,允许坏1个最大可用空间就是最小硬盘的容量好处就是安全性高、重建速度快,坏的地方就是硬盘利用率低通常两块盘的用的这个比较多,例如我就是RAID 5至少三块盘,允许坏1个最大容量就是(硬盘总数-1) x (最小硬盘的容量)提供比 RAID 1 更有效的数据冗余重建时间长,需牺牲一块硬盘的空间在 RAID 5 阵列处于降级状态时,读写性能受到严重影响。当存储空间和成本的重要性高于性能时,RAID 5 最为理想RAID 6至少四块盘,允许坏2个最大容量就是(硬盘总数 – 2) x (最小硬盘的容量)RAID 6 的性能因其额外的容错保护功能而低于 RAID 5RAID 10至少四块盘,偶数盘最大容量(硬盘总数/ 2) x (最小硬盘的容量) ...继续阅读 (182)


    love 0
    惜分飞
    发表于
    2024-04-12 12:17:46

    ORA-00742 ORA-00312 恢复

    联系:手机/微信(+86 17813235971) QQ(107644445)标题:ORA-00742 ORA-00312 恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有客户反馈,断电之后数据库启动报ORA-00742和ORA-00312,无法正常open我们远程上去尝试open库结果也报同样错误[oracle@oldhis oradata]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 10 09:40:03 2024 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> recover database; Media recovery complete. SQL> alter database open; alter ...继续阅读 (167)


    love 0
    惜分飞
    发表于
    2024-04-12 12:17:46

    ORA-00742 ORA-00312 恢复

    联系:手机/微信(+86 17813235971) QQ(107644445)标题:ORA-00742 ORA-00312 恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有客户反馈,断电之后数据库启动报ORA-00742和ORA-00312,无法正常open我们远程上去尝试open库结果也报同样错误[oracle@oldhis oradata]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 10 09:40:03 2024 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> recover database; Media recovery complete. SQL> alter database open; alter ...继续阅读 (129)


    love 0
    caimouse
    发表于
    2024-04-12 10:39:50

    鸿蒙应用 开发之 评分组件

    现在的用户喜欢互动的APP,因为现在是商品过剩的时代,大家都没有办法去研究每一个商品的细节,每一个商品的好与差。那么就会有一个评价系统,这样大家通过投票来决定那一个商品的好与差,这样大家就会有一个快速选择的方法,这样就会方便大家,节省大家的选择成本。既然大家都需要进行评分,那么就要实现一个评分组件的功能,让大家方便选择评分,并且查看评分。参数indicator是用来是否可以更改评分,如果设置true时,不能更改分值,只作为显示作用。可以看到评分,一般显示为5个星星,当用户点击那个星星,就会评分在那里。 ...继续阅读 (123)


    love 0
    qihang01
    发表于
    2024-04-12 09:09:22

    Linux下安装golang环境安装

    标准官网:https://golang.org/ 镜像官网:https://golang.google.cn/dl/ 下载地址:https://dl.google.com/go/go1.22.2.linux-amd64.tar.gz mkdir -p /data/soft #创建目录 把安装包上传到/data/soft目录下 操作系统:CentOS-7.x 1、创建安装目录 mkdir -p /data/server/go mkdir -p /data/server/go/gopath 2、安装 cd /data/soft tar -zxvf /data/soft/go1.22.2.linux-amd64.tar.gz -C /data/server/go --strip-components 1 3、设置环境变量 vi /etc/profile #set go environment export GO111MODULE=on export GOPROXY=https://goproxy.cn,direct # 安装 Go 模块时,国内代理服务器设置 export GOROOT=/data/server/go export GOPATH=/data/server/go/gopath export PATH=$PATH:$GOROOT/bin:$GOPATH/bin :wq! #保 ...继续阅读 (189)


    love 0
    John Doe
    发表于
    2024-04-12 07:35:41

    Mybatis-Plus自定义sql如何添加id

    一直使用Mybatis-Plus,但是自定义sql时,发现没有id,所以记录一下我有一个需求是需要在inser数据的时候检查是否存在,存在就更新数据,不存在就插入数据,所以自己写了一个upsert语句如下:1234567891011121314151617181920212223242526272829303132INSERT INTO `test` (`id`,`news_id`, `news_publish_time`, `news_publish_site`,`news_title`, `news_body`,`quota`, `news_message_id`,`news_store_time`, `create_time`)VALUES (${@com.baomidou.mybatisplus.core.toolkit.IdWorker@getId()},#{newsBody.newsId},#{newsBody.newsPublishTime},#{newsBody.newsPublishSite},#{newsBody.newsTitle},#{newsBody.newsBody},#{newsBody.quota},#{ ...继续阅读 (114)


    love 0
    路过秋天
    发表于
    2024-04-12 06:39:00

    .NET Emit 入门教程:第六部分:IL 指令:7:详解 ILGenerator 指令方法:分支条件指令 - 路过秋天

    【摘要】经过前面几篇的学习,我们了解到指令的大概分类,如:参数加载指令,该加载指令以 Ld 开头,将参数加载到栈中,以便于后续执行操作命令。参数存储指令,其指令以 St 开头,将栈中的数据,存储到指定的变量中,以方便后续使用。创建实例指令,其指令以 New 开头,用于在运行时动态生成并初始化对象。方法调用指令,该指令以 Call 开头,用于在运行时调用其它方法。本篇介绍分支条件指令,该指令通常以 Br、或 B、C 开头,用于在运行分支条件时跳转指令。阅读全文 ...继续阅读 (155)


    love 0
    xiaoz
    发表于
    2024-04-12 05:11:51

    成了!将小爱音箱接入ChatGPT

    xiaoz在一个朋友推荐下了解到xiaogpt这个项目,xiaogpt可以将家里的小爱音箱接入ChatGPT、ChatGLM等大模型,从而让小爱音箱变得更加智能。目前xiaoz已成功将家里的小米AI音箱一代接入到ChatGPT,大家可以通过下方的B站链接查看效果,如果有用,别忘记一键三联哦。 开始之 ...继续阅读 (138)


    love 0
    Lenciel
    发表于
    2024-04-12 03:00:48

    AVP 初印象 - 硬件

    包括高保真 passthrough 在内的在显示方面的堆叠,是 AVP 通过硬件实现的第一个杀手锏,并且很可能变成一个行业标杆:就好像 iPhone 出来之后,薄在一段时间成了移动手机的标杆指标一样,显示这部分,特别是 VST 能做到多好,估计会变成 VR 的一个标杆指标。 ...继续阅读 (178)


    love 0
    C1G
    发表于
    2024-04-12 02:11:41

    JumpServer v2 v3版本单机及多可用docker Compose离线安装

    JumpServer v2 v3版本单机及多可用docker Compose离线安装JumpServer简介JumpServer是FIT2CLOUD飞致云旗下品牌JumpServer 开源堡垒机是一款运维安全审计系统产品,提供身份验证、授权控制、账号管理、安全审计等功能支持,帮助企业 快速构建运维安全审计能力。JumpServer 使用 Python 开发,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。JumpServer 采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。官方网址https://www.jumpserver.org/在线体验https://demo.jumpserver.org/当前最新版本v3.10.7-lts2024-03-27 10:25:04v3.10.5-lts2024-03-05 16:43:19v2.28.212023-10-26 18:28:00JumpServer V2版本(社区版)维护支持截止日期为2023年12月31日,JumpServer V2版本(企业版)维护支持截止日期为2025年12月31日.推荐安装v3版本。企业版带X-Pack 增强包,按资产数包年付费https://www.fit2cloud.com/jumpserver/enterprise.html近期漏洞JumpServ ...继续阅读 (131)


    love 0
    C1G
    发表于
    2024-04-12 01:38:13

    JumpServer多个高危漏洞安全风险通告v3.0.0-v3.10.6

    2024年3月,有用户反馈发现JumpServer开源堡垒机存在安全漏洞,并向JumpServer开源项目组进行上报。此次发现的漏洞为:■ JumpServer作业管理中Ansible Playbook文件存在Jinja2模板代码注入导致的Celery容器远程执行漏洞,CVE编号为CVE-2024-29202。漏洞详情:https://github.com/jumpserver/jumpserver/security/advisories/GHSA-2vvr-vmvx-73ch。 13■ JumpServer作业管理中Ansible Playbook文件存在参数验证缺陷导致的Celery容器远程执行漏洞,CVE编号为CVE-2024-29201。漏洞详情:Insecure Ansible playbook validation leads to RCE in Celery · Advisory · jumpserver/jumpserver · GitHub 5 。■ JumpServer作业管理中Ansible Playbook文件存在用户权限未隔离的漏洞,CVE编号为CVE-2024-29020。漏洞详情:An authorized attacker can get sensitive information in playbook files when playbook_id ...继续阅读 (176)


    love 0
    admin
    发表于
    2024-04-12 01:22:50

    云数据库行业动态@2024-04-12

    重要更新Google Cloud Next 2024大会召开,AI是大会的核心。在数据库上,GCP也在全面拥抱AI, AlloyDB Omni 将集成AI能力、Cloud SQL for MySQL、Memorystore for Redis都会支持向量存储或搜索功能。与AWS、阿里云等云厂商一样,GCP也将推出自研的ARM CPU:Axion ARM。本周一下午,腾讯云控制台大面积不可用,持续近一个小时。这是自去年11月份以来,又一次云厂商大面积故障的发生。本周五、六,由墨天轮主办数据技术嘉年华(DTC)将在北京举行,主题是”智能•云原生•一体化—DB与AI协同创新,模型与架构融合发展”,感兴趣的可以考虑去北京现场参加。普通门票优惠价只需要9.9,买不了吃亏,买不了上当。云数据库更新详情阿里云RDS SQL Serv er云盘存储容量上限增加至32000 GB,您可在新购实例或增加已有实例存储容量时按需选择 (链接1)Microsoft AzureAzure Database for PostgreSQL正式发布支持Azure Private Link (链接2)谷歌云AlloyDB AlloyDB Omni 版本 15.5.1 在预览版中提供 更多的 AI 功能数据库迁移服务现已全面支持从 Oracle 到 AlloyDB for PostgreSQL ...继续阅读 (157)


    love 0
    海南胡说
    发表于
    2024-04-12 01:21:08

    WordPress修改侧边栏小工具和文章归档!

    原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/4495.html 前段时间一直在折腾一个问题,其间也放下一段时间,就是我的博客上有文章归档这一功能,但是主题里的文章归档功能调用的是所有时期的文章,这个显示太长了。 自己就想着看看能不能通过修改源码来减少这一部份的显示。 我使用的是twentyten默认主题,我尝试着在主题里找到 archive.php ... ...继续阅读 (190)


    love 0
    chancel
    发表于
    2024-04-12 00:00:00

    使用Let\'sencrypt为所有子域名永久开通HTTPS

    1. Let's Encrypt简介Let's Encrypt是一个由互联网安全研究集团(ISRG)运营的非营利证书颁发机构,免费提供X.509传输层安全(TLS)加密证书。它是世界上最大的认证机构,其赞助商包括电子前沿基金会(EFF)、Mozilla基金会、OVH、思科系统、Facebook、谷歌Chrome等来自Wikipedia的介绍Let's Encrypt is a non-profit certificate authority run by Internet Security Research Group (ISRG) that provides X.509 certificates for Transport Layer Security (TLS) encryption at no charge. It is the world's largest certificate authority,[2] used by more than 265 million websites,[3] with the goal of all websites being secure and using HTTPS.所以在稳定性或安全上还是有保障的Let's Encrypt官方提供certbot程序使得签发证书自动化,无需再手动签发证书,定时执行便可无限期签发泛域名证书2. HT ...继续阅读 (137)


    love 0
    阮一峰
    发表于
    2024-04-11 23:38:43

    科技爱好者周刊(第 296 期):xz 后门的作者 Jia Tan 是谁?

    这里记录每周值得分享的科技内容,周五发布。本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.com)。封面图去年底建成的南昌东站,以《滕王阁序》的"落霞与孤鹜齐飞,秋水共长天一色"为灵感,造型宛如展翅翱翔的羽翼,象征城市的腾飞。(via)xz 后门的作者 Jia Tan 是谁?互联网行业最近的重大事件,莫过于xz 软件的后门。xz 是一种压缩软件,大量用于 Linux 系统,比如系统管理器 systemD 就用它压缩日志。它是 Linux 的基本组件之一,每台服务器几乎都有它。今年3月底,有人发现它的新版本有点奇怪,让 SSH 的启动时间慢了500毫秒。进一步调查发现,里面竟然有一个后门。这件事震惊了业界,因为新版本即将纳入主要的 Linux 发行版(比如 Debian 和 Fedora),只差几天而已。到了那时,服务器带有后门,后果不堪设想。而且,整个事件经过精心策划,过程长达数年,每一步都毫无破绽,心思之缜密,耐心之好,能力之强,令人后怕。这个事件开始于2021年4月,一个网名叫做 Jia Tan 的人,第一次向 xz 软件包提交了一个正常的补丁,被顺利合并。2021年11月和2022年4月,他又提交了两个正常的补丁,也被合并。然后,突然冒出了几个网友,在邮件列表上向管理员建议,xz 项目缺乏人手,响应迟缓,应该 ...继续阅读 (199)


    love 0
    1900
    发表于
    2024-04-11 22:29:40

    雾,是地球的迷梦

    今天罕见起了个大早。 刚出门的时候天还灰蒙蒙的, 没多久就看见高楼的上面开始蒙眬, 没过一会, 整个雾团就像滴入清水里的黑墨一般蕴开, 无法阻挡的贴合在地面之上。 一切就像梦境一般, 人和穿行在浓雾里, 车辆的灯光也开始变的模模糊糊。 就像... 就像穿行在地球的梦里般....。 路旁公园的植物上残墙着春雨的痕迹, 在这个灰蒙蒙的世界晨里, 毫无保留的体现着自己的生命力。 ...继续阅读 (214)


    love 0
    tonny_guan
    发表于
    2024-04-11 21:15:56

    看看《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制太阳黑子区域面积随时间的变化针状图

    针状图( Stem Plot)通常用于可视化离散数据或序列的变化趋势。它强调离散数据点的振幅或值,并在图形上以垂直线段(“针”)的形式表示这些值。以下是针状图的一些主要应用方面。 ...继续阅读 (157)


    love 0
    tonny_guan
    发表于
    2024-04-11 21:03:37

    《看漫画学C++》第12章 可大可小的“容器”——向量

    此外,vector提供了一系列便捷的成员函数,如push_back()、pop_back()、resize()等,使得元素的添加、删除和调整变得轻而易举。在C++编程的世界里,数组是一种基础且广泛使用的数据结构。幸运的是,C++标准库中的vector类为我们提供了一种更加灵活、高效的动态数组解决方案。《看漫画学C++》这本书以生动的漫画和通俗易懂的语言,详细介绍了vector的使用方法和背后的原理。通过阅读,你将学会如何利用vector来优化你的代码,处理复杂的数据集合,提升程序的性能和可读性。 ...继续阅读 (141)


    love 0
    张 鑫旭
    发表于
    2024-04-11 14:01:19

    SVG滤镜系列之搞懂元素

    byzhangxinxufromhttps://www.zhangxinxu.com/wordpress/?p=11158鑫空间-鑫生活本文欢迎分享与聚合,全文转载就不必了,尊重版权,圈子就这么大,若急用可以联系授权。一、前言SVG滤镜元素我之前有深入介绍过两个,一个是feTurbulence滤镜,另外一个是feDisplacementMap滤镜,前者可以用来模拟自然效果,后者可以实现元素形变,都是SVG滤镜比较高级的应用。最近,正好无所事事,就决定查漏补缺,把SVG滤镜元素整个都过一遍,系统了解下,让对这一块的了解更加扎实,说不定以后就用到,提前做技术储备。先从比较简单的元素开始。二、feBlend元素的作用和语法feBlend元素是SVG中用来实现混合模式的元素。在CSS中,混合模式使用mix-blend-mode和background-blend-mode属性实现,在Canvas中使用globalCompositeOperation语法实现。在SVG中就是元素。支持的属性元素支持三个属性,分别是:in输入元素1,混合模式的底层图形或元素。in2输入元素2,混合模式的上层图形元素。mode混合模式的类型。其支持的值和CSS混合模式的值是一样的。包括:mix-blend-mode: normal; //正常 mix-blend-mode: multiply; ...继续阅读 (176)


    love 0
    煎鱼
    发表于
    2024-04-11 12:43:04

    Go 标准库的一个设计败笔:哨兵错误

    大家好,我是煎鱼。在 Go 的历史发展中,总是有或多或少的坑。最近遇到一个跟错误类型定义和声明使用有关的小坑。翻了一圈 Go 社区里的争论,发现又是一个暂时无法解决的未解之坑。今天分享给大家,平时开发时也可以给自己避避坑。快速背景在 Go 里有一种错误类型的定义,官方叫做哨兵错误(Sentinel errors):哨兵错误,常用于在程序中与全局变量的值对比。可以参考最常见的 os 标准库,Go 官方自己在标准库内就是如此定义。如下代码:package os ... var ( ErrInvalid = fs.ErrInvalid // "invalid argument" ErrPermission = fs.ErrPermission // "permission denied" ErrExist = fs.ErrExist // "file already exists" ErrNotExist = fs.ErrNotExist // "file does not exist" ErrClosed = fs.ErrClosed // "file already closed"这种写法有个非常大的问题,这些全局变量可以被被用户直接进行重新赋值和分配,破坏掉原有的值。如下 “暴力” 代码:// 脑 ...继续阅读 (168)


    love 0
    Innei
    发表于
    2024-04-11 11:31:00

    Next.js App Router 中页面异常如何处理?

    该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/posts/tech/how-to-handle-page-exceptions-in-next-js-app-router在服务端渲染中,页面预渲染需要的数据一般由服务器提供。在 Next.js 框架中,可分为两种。Next.js 作为全站框架,获取数据直接在 Next.js 服务中调用方法;或者借助外部 API 服务,通过 HTTP 或者其他方式获取数据。在获取数据的过程中,可能会出现异常,例如网络请求超时、服务端异常等。这时候,我们需要对异常进行处理,以保证页面的正常渲染。编写一个简单的数据接口和页面渲染下面是一个简单的例子。这是一个简单的获取posts接口实现。import { NextResponse } from 'next/server' import type { NextRequest } from 'next/server' export const GET = ( req: NextRequest, { params, }: { params: { id: string } }, ) => { const { id } = params switch (i ...继续阅读 (148)


    love 0
    南城FE
    发表于
    2024-04-11 10:34:04

    前端代码规范 - 代码注释

    本文是前端代码规范系列文章,将涵盖前端领域各方面规范整理,其他完整文章可前往主页查阅~代码注释是软件开发中的重要组成部分,它帮助开发者理解代码的功能和目的,同时也是代码维护和团队协作的基础。一个清晰的注释规范能够提高代码的可读性和维护性。本文将介绍如何在前端项目中制定代码注释规范。1. 注释的类型在前端项目中,我们通常有两种类型的注释:单行注释:用于简短的描述或解释单个语句。多行注释:用于描述复杂逻辑或文件、模块的信息。2. 单行注释单行注释应该紧跟在代码的上一行或同一行的末尾。注释内容与代码或上一行注释应保持至少一个空格的距离。// 正确的单行注释 const count = 1; // 初始化计数器 // 错误的单行注释 const count = 1;//初始化计数器3. 多行注释多行注释通常用于文件头部,描述整个文件的功能,或者用于复杂逻辑的解释。多行注释应该有一个清晰的开始和结束,内容与星号之间保持一个空格。/** * 正确的多行注释 * 这是一个用于计算数组总和的函数 * @param {number[]} numbers - 要计算的数字数组 * @return {number} 数组的总和 */ function sum(numbers) { // ... } /* 错误的多行注释 这是一个用于计算数组总和的函数 @param {number[]} ...继续阅读 (245)


    love 0
    南玖
    发表于
    2024-04-11 10:20:58

    如何巧妙应对iOS键盘难题?

    前言写过移动端的同学或多或少都遇到过软键盘带来的各种各样的问题,最典型的就是输入框被软键盘遮挡、fixed元素失效等问题,并且这些问题在iOS上的表现让人难以接受。webview的差异在移动端上,我们的H5页面一般是运行在宿主APP提供的webview中,简单点理解,你其实可以把它当作浏览器,就是用来展现页面内容的。目前移动端主流系统分为Android与iOS,然而两者提供的webview容器也存在着诸多差异,今天我们就只探讨两者软键盘带来的影响。首先,我们先来写个简单的页面布局:头部fixed+中间自适应+底部fixedAndroid事实上Android的表现并不会有太大问题,它只不过是在键盘弹起来之后把webview的高度减小了,变成了:原来的webview高度减去键盘的高度这样的表现正是我们期待的,完全没有影响整个页面的布局iOS软键盘在iOS 8.2 之后,iOS 唯一指定浏览器内核、Webkit 鼻祖 Safari 将fixed元素的布局基准区域从键盘上方的可见区域改成了键盘背后的整个视窗,也就是说此时的webview高度并不会发生变化,键盘是直接盖在webview上方的。这样是为了在键盘弹起来之后,不用重新渲染页面,他们是方便了,但遭殃的是我们前端开发人员...比如上面这个页面,我们看看iOS的表现是怎样的:可以看到,iOS为了不让webview压缩,并且为了不让软键盘 ...继续阅读 (145)


    love 0
    caimouse
    发表于
    2024-04-11 10:14:30

    鸿蒙应用开发之显示二维码组件

    在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;这样对于用户来说,是一种糟糕体验,因为要记得太多,输入太多。又比如当别人向你分享一个网站时,只需要显示一个二维码即可,这样由手机扫码解决,又方便又不用记,准确性又好。二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一种编码方式。 ...继续阅读 (154)


    love 0
    小王
    发表于
    2024-04-11 08:18:00

    导入ffmpeg头文件,编译报错:undefined reference to `avformat_open_input,,,

    用extern "C"{}把头文件包含起来。extern "C"{#includeavcodec.h>#include #include ...继续阅读 (197)


    love 0
    Zlatan Eevee
    发表于
    2024-04-11 08:11:12

    域名迁移到Cloudflare上了

    ieevee.com 这个域名是2017在Godaddy上购买的,当时价格还不贵,2年109.14人民币,但后来价格就越来越高,去年续费的时候已经是170.4HKD一年了。最近看到有网友将域名迁移到了互联网活菩萨 Cloudflare 上,据说域名是成本价售卖。看了下,狗爹续费差不多要180块钱一年,而Cloudflare只要9.77刀一年,确实便宜了很多。而且Cloudflare还有很多其他的服务,比如对象存储、Zero Trust、AI workers等等,而狗爹其实只是一家新加坡的小公司,并且狗爹的管理面板一直很迷(但狗爹的广告做的确实很好,经常在英超赛场上看到),迁移势在必行。迁移过程凭记忆大概是这样的一个步骤:在GoDaddy发起域名转移到其他域名商,这个时候Godaddy会提供一个验证码到Cloudflare注册网站,并将域名转入,填写GoDaddy提供的验证码到GoDaddy确认转出。默认是要等好几天的,可以到GoDaddy上手工转出下,立即就可以生效了。确认DNS配置是否正常,实测Cloudflare迁移过去的DNS域名有错误,需要手工修正。注意,Cloudflare默认是开启域名代理的,即解析域名时,是先解析到Cloudflare的代理,然后再由Cloudflare转发给实际的Real Server IP,理论上这样会提高安全性,也能提供global wide的就 ...继续阅读 (136)


    love 0
    Wannz
    发表于
    2024-04-11 03:46:12

    买房指北 - 买房后装修前需要关注啥?

    总而言之,就是有了一个房子。这篇文章讲讲买房之后开启装修过程的心得体会。 在完成了买房过户拿到房本之后,我们需要考虑的下一件事情就是如何装修了。众所周知,不论你是卖的精装房还是清水房,装修都是 …买房指北 - 买房后装修前需要关注啥?最先出现在见字如面。 ...继续阅读 (190)


    love 0
    FranzKafka95
    发表于
    2024-04-11 03:25:48

    Android C/C++开发嵌入汇编

    Read Time:1 Minute, 11 Second首先需要明确的一点是,为什么我们需要在C/C++中嵌入汇编代码,这通常是出于三个目的:性能优化、特地指令需求以及精细化管理。这是因为汇编语言可以实现对CPU寄存器的直接操作,以及对内存的精确控制,无需从C/C++进行转译,能够提升我们的软件运行效率从而实现性能优化,同时某些CPU特有的指令集在C/C++中没有相关的支持,此时也只有通过汇编来实现相关操作。在Android系统C/C++开发中嵌入汇编代码,通常采用两种方式:内嵌汇编、外部汇编文件。内嵌汇编(Inline Assembly):这是最直接的方式,在C代码中嵌入汇编代码片段。语法和具体实现依赖于编译器,通常使用特定的关键字或者语法来标识汇编代码。例如,在GCC和Clang编译器中,可以使用asm关键字来标识内嵌汇编代码。如下所示:// frameworks/av/media/libaudioprocessing/AudioResamplerSinc.cpp static inline int32_t mulAdd(int16_t in, int32_t v, int32_t a) { #if USE_INLINE_ASSEMBLY int32_t out; asm( "smlawb %[out], %[v], %[in], %[a] \n" ...继续阅读 (125)

上一页 355/4404 下一页
沪ICP备19023445号-2号
友情链接