打开默认快捷键设置:preferences 里找到 Key Bindings
1、格式化代码
选中要格式化的代码,ctrl + i
2、关闭 tab 窗口
cmd + w
3、快速搜索
Shift + Command + O
來快速打開,並按下 Option 鍵來選取檔案
4、清理工程
1 | * Clean: ⌘ + ⇧ + K |
作为一个 iOS 开发的初学者,记录一下自己自学 iOS 过程中的一些坑和问题,仅供参考。
规则:前半部分相同,后半部分 + .extension
1 | Main app bundle id: com.myapp.testapp |
https://blog.csdn.net/wu_shu_jun/article/details/9045911
https://www.jianshu.com/p/3a0803406d04
https://www.jianshu.com/p/7c0352231eca
找到对应的报错库,添加:-Xclang -fcompatibility-qualified-id-block-type-checking
Keep your tools up to date.
Enable Gradle Daemon.
Use More Memory.
Avoid Dynamic Dependencies.
Use WebP Images.
Remove Unused Resources.
Disable ProGuard in Debug Mode.
保持你的工具是最新的。
启用 Gradle Daemon。
使用更多的内存。
避免动态依赖。
使用 WebP 图像。
移除未使用的资源。
在调试模式下关闭 ProGuard 功能。
在 gradle.properties 文件中可以对 Gradle 进行各种配置:
1 | org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 |
如果你的项目中放了大的静态文件,比如字体库、数据库等等,可能会导致编译出错,这时候你需要设置更大内存,比如 6G,才能编译并运行你的项目,参考设置如下所示:
1 | org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 |
默认情况下,如果你已经成功编译并运行过一次项目了,那么你可以开启离线模式,也可以提升编译速度,如下所示:
我们在开发过程中,有时候需要获取一个 View 在屏幕中的位置,比如这个 View 是否在屏幕中显示,还是在屏幕之外等等。
我们可以通过位置,对其做一些操作,以便完成我们的业务需求。
1 | val location = IntArray(2) |
getLocationOnScreen 是 View 相对于物理手机屏幕的位置。
getLocationInWindow 是 View 相对于窗口的位置,Window 是安卓系统中的一个类,不包括状态栏。
而 View 的 left、top、right、bottom 是它在父 View 中的位置。
大家好,我是 Vance。
你是不是有时候感觉自己一事无成?这也做不好,那也做不好?
没关系啦,其实,每个人都是一座宝藏。
如果你觉得自己不是,只是你不知道自己是宝藏而已,重要的是,请不要吝啬挖掘你自己。
如何挖掘自己?我的答案在文中,咱们先看文章。
我先简单介绍下自己。我叫 Vance,男,93 年的,朋友们都叫我飞飞,现居上海。
2015 年大学毕业,像很多刚毕业的大学生一样,毕业即失业,也对未来充满了迷茫,为了生存我不得不去电子厂打工谋生。
但是我很清楚,这里不属于我,我只是短暂的过渡一下,几个月之后,我怀揣着梦想去了北京,开始了我的北漂之旅。
我本身学的是计算机专业,我个人对技术也比较感兴趣,所以就选择了程序员这个职业。
刚开始工作的时候,因为自己技术很菜,每解决一个问题,我就记录下来,一是加深自己的印象,二是下次再遇到同样的问题方便查找。
是这样的。
我在《2021年个人总结》中,信誓旦旦、意志坚定地给自己立了几个 flag,请看图
我一直以为离年底还早呢,突然想起来自己的立的 flag,到现在只完成了 10% 不到,这下牛逼真吹大了。。
人就是这样,没烧到眉毛就永远不会急,人性是懒的,我一直以为自己还算勤奋,现在才知道,我是假勤奋,不知道你也有没有这种拖延的习惯?
2022 年还剩 97 天,简单分解下我的 flag,要完成目标,平均 2 天要写一篇文章,每天要拍一条短视频,每周要跑 7km。
确实压力是有点大,谁让自己吹牛吹得这么大呢?
简单复盘下,为什么会没有严格执行下去呢?
我认为主要有三点:
1、目标清晰,但是没有拆分目标,比如拆分到月目标,每个月结束的时候进行复盘和调整;
https://www.virtualbox.org/wiki/Downloads
根据自己的操作系统类型下载安装即可!
支持的操作系统类型有:
温馨提示:如果是 Windows 系统用户,需要再 BIOS 中设置开启 CPU 虚拟化!!!
https://www.vagrantup.com/downloads.html
根据自己的操作系统类型下载安装即可!
支持的操作系统类型有:
本文主要参考 Docker 官方文档的安装为主,官方文档比较繁琐,而且是英文的,因此,我简化了安装的步骤,更适合小白安装。
较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。
1 | $ sudo yum remove docker \ |
在新主机上首次安装Docker Engine-Community之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
1.安装所需的软件包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
1 | $ sudo yum install -y yum-utils \ |
前段时间,苹果要求微信支持 iOS13 的暗黑模式,否则会面临下架风险。
广大网友纷纷评论说,如果我要是微信我就和苹果硬刚,哈哈哈哈。。。
其实也不是谁强谁弱的问题,现在都是合作共赢的时代,相互都有利益上的关系,没办法,还是要妥协,只能根据苹果爸爸的要求改咯!
这不今天 iOS 版本的微信就更新了,支持了暗黑主题,还有一些小的优化和改进,我也都体验了下,很多地方还是适配的不是很好,有点影响用户体验。
如果不是程序员,可能会觉得支持暗黑模式不就换个字体颜色么?哪有那么复杂,其实我想说的是,还真比较复杂和麻烦。
要支持各种情况下的适配和用户体验问题,所以是比较麻烦的一件事。
另外,还更新了两个小功能:语音发送功能优化,和朋友圈跳到没看的位置。
先说第一个功能,用了下还是比较方便的,想发语音就发语音,想语音转文字就语音转文字。
看到这个标题你可能会想,程序员本来不就是写代码的么?
没错,程序员的主要工作就是写代码,或者说为了实现特定功能或者业务逻辑去写代码。
作为程序员,代码写得好,功能实现不就行了么?
这句话看似对,也不对。你品,你细细品!同样是写代码,但是写和写之间差多了。
初级程序员为了实现功能,更多的是复制粘贴,或者去找一些现成的轮子,这里并不是说复制粘贴不好,不要全部代码都复制粘贴,如果后面需求变了,你可能就束手无策了,要知其然知其所以然。
中级程序员会考虑如果把代码写的更好,会如何更好的封装代码,比如提高代码的复用性等,会去了解框架的一些原理,也可以根据需求去修改轮子。
高级程序员会去设计代码,写轮子。另外,还懂一些产品知识,会去了解和讨论需求,会思考这个需求解决了用户的什么问题?有没有解决用户的痛点?有没有更好的实现方式?用户体验怎么样?等等。
再往上,到了专家的级别,不仅要会架构,而且还要会写 PPT,各种软实力也是必须的,还要有全局观,要能站到更高的维度去思考问题,要有统筹全局的能力。
你看看,写代码之间的差别大了吧。
每次产品经理扔给你一个需求,你二话不说,一顿操作猛如虎,就干起来了,等你干完了,等到交付的时候,产品经理告诉你做的不对,应该是怎样怎样的,顿时你心里一万只草泥马奔腾而过。。。