zengyuanchen

【转】用 TextRenderer 构建绚丽动感的文字效果

【转】用 TextRenderer 构建绚丽动感的文字效果

原文转自: 用 TextRenderer 构建绚丽动感的文字效果WWDC24 SwiftUI 推出 TextRenderer 协议,赋予开发者自定义 Text 组件渲染能力,实现动态文字效果。本文深入解析 TextRenderer 使用,打造绚丽文字。Fatbobman's Blog东坡肘子 Text 组件在 SwiftUI 应用中极为常见。过去几年里,尽管苹果不断扩展其功能,开发者仍期待能更深层次地控制这一组件。在 WWDC 2024 上,SwiftUI 推出了 TextRenderer 协议,赋予开发者调整 Text 组件渲染表现的新能力,使得实现许多先前难以想象的效果成为可能。本文将深入探讨这一新增功能。 TextRenderer 协议的作用是什么? 苹果官方对 TextRenderer 协议的描述是: A value that can replace
16 min read

【转】通用架构师应该如何把控迁移技术方案

互联网金融行业发生了翻天覆地的变化,相对应的金融科技也在不断的更新和迭代,每次有新的软件系统出炉的时候,就是老的软件系统命运终结的开始,老的项目当然不会束手就擒,它也会做最后的挣扎,当你从它身上迁移用户或者商户的时候,它会给你带来很多麻烦,比如说,它会临时罢工、出现资金损失等等不可忽视的问题,因此,迁移是个大任务,有的时候迁移并不亚于开发一套新系统的难度,甚至可以说是有过之而无不及。 哪些场景需要迁移 我们总结了各种需要迁移的场景。 字段迁移 原来设计的字段大小不能满足现在业务的需求,直接在原表上扩容字段可能会影响线上跑的业务,因此,我们需要增加一个字段来替换原来的字段;字段的数据格式需要升级,通过新增字段来替换原有字段,例如:原有未加密的字段处于安全需求进行加密。 表迁移 用于数据库表设计重构的场景,原有表的结构不合理,新增合理的表来替换原有的表,这时候我们需要表迁移。 数据库迁移 把单库迁移到分库分表的多个库;从一种数据库迁移到另外一种数据库;分库分表的多个库需要扩容的时候,需要进行数据库迁移,迁移到一套能够容纳足够数据的数据库集群。 数据库迁移到其他类型的库
24 min read
iOS

【转】iOS开发技巧-国际化(Localization),只看一篇就够了

本文转载自:https://www.jianshu.com/p/f8edd7b7a217 本文主要涉及iOS的国际化,网上虽然有很多相关的文章,但是仔细阅读下来感觉都不太全面,因此重开一篇总结,记录项目中遇到的所有要点,demo见最下方链接。 1. App名称国际化 2. 图片、文字国际化 3. 强制默认显示某种语言 4. 启动图国际化 5. iOS10所需的权限配置国际化 6. xib/storyboard国际化 7. 总结 1.App名称国际化 非常简单地按步骤修改就可以了。 PROJECT-Info-Localizations中点击下方的小“+”,添加需要添加的语言,本文中以简体中文和英文为例。(国际化的所有操作,都需要这一步作为前提。) 添加以InfoPlist.string为名称的string文件。查到的资料都说需要名称一模一样才能使用,没试过其他的名字。 选中新建好的InfoPlist.string,点击Localize按钮,添加语言。 完成上一步骤后在右边勾选所需要语言,Xcode会自动创建对应的string文件。
11 min read
【GitLab】一些要记住的命令
大杂烩

【GitLab】一些要记住的命令

最近自己搭建了一个GitLab CE服务器,一些命令行需要记下来 [官方配置文档](http://docs.gitlab.com/ce/) 配置文件路径 /etc/gitlab/gitlab.rb 配置文件修改之后要执行下面语句才能生效 sudo gitlab-ctl reconfigure 启动gitlab所有组件 sudo gitlab-ctl start 停止gitlab所有组件 sudo gitlab-ctl stop 重启gitab所有组件 sudo gitlab-ctl restart PostgreSQL http://docs.gitlab.com/omnibus/settings/database.html 进入db sudo gitlab-rails dbconsole GitLab恢复备份说明
1 min read
【转】【Git】Git入门教程
Git

【转】【Git】Git入门教程

(注:本文转自Git入门教程) 创建新仓库: 用git init在当前目录建立本地新仓库 用git clone url在当前目录克隆一个远端仓库 添加用户名及邮箱有两种方式 方式一:编辑.git/config [user] name = email = 方式二:使用命令行 git config --global user.name "xxxxxx" git config --global user.email "xxxxxxx" (备注:--global表示添加到全局配置中,全局配置在~/.gitconfig中, 如果不加--global,就只会修改当前目录下.git/config) 在本地仓库上工作: 你的文件可能存在于不同的层次: * 工作目录 * 暂存区域 * 本地仓库 工作目录: 文件可能有三种不同状态: * 未被追踪
4 min read
iOS

【iOS】自制放大镜效果

一、在iOS的某些系统控件中(例如:UITextView、UIWebView),自带有放大镜效果,就是长按住某些文字,然后就会弹出一个放大框显示放大后的文字。 例如下面是系统的效果 二、下面我们来自己实现这个效果 实现的思路,简单来说就是 1.在touchesBegan和touchesMoved中截取整个屏幕生成UIImage A 2.根据touch点的坐标从图片A中截取对应部分生成图片B(使用CGImageCreateWithImageInRect方法) 3.将B放到一个UIImageView展示到keyWindows中,根据touch点的坐标来计算UIImageView显示的位置 4.最后在touchesEnded里面记得隐藏UIImageView。 下面的是实现后的效果 最后附上Demo代码地址 2016.4.17 放大镜Demo
1 min read
iOS

【iOS动画】彩蛋

最近闲来无聊在 关于页面中 留了个彩蛋,隐藏了一个动画在其中。 动画使用了JHChainableAnimations库 该库使用链式语法调用,非常简介明了,而且支持缓动函数,对于做一些模拟重力,弹簧等运动非常有用 缓动函数:指定动画效果在执行时的速度,使其看起来更加真实。 现实物体照着一定节奏移动,并不是一开始就移动很快的。当我们打开抽屉时,首先会让它加速,然后慢下来。当某个东西往下掉时,首先是越掉越快,撞到地上后回弹,最终才又碰触地板。 以下就是缓动函数
1 min read
【转】【前端缓存】H5 缓存机制浅析 - 移动端 Web 加载性能优化
前端

【转】【前端缓存】H5 缓存机制浅析 - 移动端 Web 加载性能优化

本文转载自:H5 缓存机制浅析 - 移动端 Web 加载性能优化 1. H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离线存储,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。 H5 应用程序缓存为应用带来三个优势: * 离线浏览 用户可在应用离线时使用它们 * 速度 已缓存资源加载得更快 * 减少服务器负载 浏览器将只从服务器下载更新过或更改过的资源。 根据标准,到目前为止,H5 一共有6种缓存机制,有些是之前已有,有些是 H5 才新加入的。 1. 浏览器缓存机制 2. Dom Storgage(Web Storage)存储机制
33 min read
【转】【前端缓存】变态的静态资源缓存与更新
前端

【转】【前端缓存】变态的静态资源缓存与更新

原文转自前端农民工 这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中。 在我的印象中,facebook是这个领域的鼻祖,有兴趣、有梯子的同学可以去看看facebook的页面源代码,体会一下什么叫工程化。 接下来,我想从原理展开讲述,多图,较长,希望能有耐心看完
11 min read
SVN

【SVN】记录一下在Ubuntu下的SVN服务器的搭建过程

今天自己在Ubuntu下搭建了一个SVN服务器,方便以后可以远程管理代码 特此记录了一下搭建的过程 1. 通过apt-get安装subversion sudo apt-get install subversion 如果安装出错(例如某个包找不到),请先更新本地仓库数据,更新完成后再执行上面的命令重新安装 sudo apt-get update 2.找个目录当做SVN的根目录(目录地址随意) 在home目录下创建一个名为svn的文件夹(文件夹的名字随便起) mkdir /home/svn 3.创建数据仓库(可以根据需要创建多个) 此处我新建了一个叫ZYQ的仓库 sudo svnadmin create /home/svn/ZYQ 4.进入版本库查看生成的相关文件 依次执行以下命令 cd /home/svn/ZYQ ls 会看到ZYQ目录下面自动生成了一些目录和文件 conf db  format  hooks  locks  README.txt
2 min read
iOS

【iOS】 重命名项目名称需要注意的事情

今天要把某个工程的名称给重命名一下,折腾了一下午。 特此记录了一下重命名的步骤和流程 ,以备以后不时之需。 修改之前切记 一定要将原始工程备份!!! 一定要将原始工程备份!!!! 一定要将原始工程备份!!!!! 一、第一步:修改Project的名称 先照着下面的网址步骤 把project的名称改了 iOS项目的Project重命名方法图文教程 iOS项目的Project重命名方法图文教程 注意:如果项目没有使用CocoaPods来管理,恭喜你,你可以直接略过以下步骤了 二、第二步:修改workspace的名称(CocoaPods) 按照上面的教程做完之后再 pod install 一下  把原来的xxx.xcworkspace文件删了,因为 pod install后会新生成一个用新名字命名的.xcworkspace文件. ==如果跑起来了,那么恭喜你,你已经改名成功了。 == 如果还是跑不起来 (一般都是遇到这种第三方库自己有.a文件的情况)  一般报的是找不到xx类库  例如 library not found for -xxxx a.先将报错的第三方
2 min read