• 主页
  • 系列总集
  • OpenCV
  • CMake
  • iOS
  • Java
  • 前端
所有文章 关于我

  • 主页
  • 系列总集
  • OpenCV
  • CMake
  • iOS
  • Java
  • 前端

2018-2019年的文章

2019-12-25

记

2017年的文章吐槽加班加到吐血,2018年被公司教育了什么才是真的吐血

其实钱越来越少才是主要的

工作越来越久,感觉能写Blog的时间反而越来越少,才导致两年都没更新

CMake

我一直希望能做一个真正的Full Stack Engineer,而不是JS Stack Engineer

2019年也意识到C++是每个工程师的必修课,无论你工作中用不用他

这是一系列根据团队经验总结的跨平台生产环境多人协作情况下CMake从零到一的构建文章,配合源代码cmake-tutorial-sample可以查看详细细节

鸣谢

鸣谢2019年在卢协某和卢某棠为主的众多同事引导下,学习了这样那样许多许多C++的姿势,终于知道自己并不能21天精通C++了

鸣谢优秀的东京帝国大学毕业生沈同学和东京知名小V雪月秋水@acgotaku311的谆谆教导,帮我完成这个系列

序

CMake00编译的基本概念

源代码开始

CMake01构建HelloWorld

CMake02编译配置DebugRelease

CMake03添加文件和产物

CMake04添加第三方库

CMake05函数和宏的对比

CMake06加载文件进行复用

CMake07多工程协作

CMake08跨平台编译最佳实践:跨平台的最佳实践在这一节

CMake08跨平台编译iOS细节

CMake08跨平台编译Android细节

CMake08跨平台编译WebAssembly细节

后记

CMake09如何读懂复杂文档

CMake10不同IDE的差别和选择: 这个章节讲了如何用VSCode

在一个多人的团队中,技术栈不同,知识面不同、经验不同、上下文不同的情况下,协作起来难度十分的高,根据个人经验这是最无障碍的实践了,希望可以帮助到别的跨平台团队

Script

为什么投入了这么多时间在脚本相关的知识上

因为在加班的过程中,终于意识到工程师的最大价值就是自动化,自动化才能带来生产力提升,生产力才是商业中最核心的竞争力。

那么为了提高生产力,应该投入多少就会困扰很多人,根据个人经验总结

  • 如果能花20倍的时间,把一个手动的工作变成自动,那么就应该去花这20倍的代价

所以说日常你有什么十分钟的操作,就值得花上一下午让他变成脚本

Python三连01脚本参数设定和解析

Python三连02如何使用正则获取变量

Python三连03Json的读写

Python三连04获取键盘输入到变量

Python三连05相等和类型判断的细节

Shell三连01脚本参数设定和解析

Shell三连02如何使用正则获取变量

Shell三连03文件的读写和重定向

Shell三连04条件命令和管线Pipe命令

Shell三连05递归遍历目录处理文件

Shell三连06如何读懂shell说明书man

Shell三连07STDIN重定向执行字符串

Shell三连08键盘输入到变量

Shell三连09获取shell命令的返回值

Shell三连10字符串转数字

Shell三连11内置函数字符串处理

Shell三连12开启后台任务

Shell三连13指令sed

Shell三连14指令grep

Shell三连15自动补全Framework的头文件

Shell三连16查询本机的Xcode证书

HTTPS

我觉得这个章节需要好好看看,因为面试最容易出现

当然更多是因为一直在读一本书 Computer Networking: A Top-Down Approach Featuring the Internet 但是一直读的很慢,愁人

因为日常工作,需要对传输控制层有足够对了解,应用层里大家最关心的就是HTTPS咯

HTTPS协议从顶至底解析

Layout

因为一直在做跨平台的工作,和设计交流的时候每个工程师思考布局的方式都不太一样,看看不同布局思维还蛮有意思的

不过最近又出了Flutter、SwiftUI等等,我觉得兜兜转转最终大家还会走到Web的布局思路上吧

Android、iOS、Web布局对比解析

源代码仓库LayoutSample

iOS

其实这两年iOS工作做的比较少,大部分也都是一些刁钻古怪的问题,真希望能快点在生产上写Swift啊

判断是否使用了模拟器

iOS8旋转动画禁止的更新

iOS11可用容量读取的改变

CollectionView常见Crash处理

保存媒体到相册的一些问题

ImageView模仿系统相册缩放

NSOperation和NSOperationQueue的基础用法

iOS储存自定义类进入UserDefaults

CMTime的含义和取值方法

OC实现链式调用

iOS崩溃闪退Crash分析原因

IPA安装包下载和重签名

DSYM符号文件的相关配置

C语言位域和字节对齐相关问题

C语言高级宏定义关键字和操作符

结语

2019年有机缘巧合来到了东京分公司,希望可以在2020年多认识 JK (许愿…)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* 
* For the brave souls who get this far: You are the chosen ones,
* 对那些耐下心思看到这里的哥们,容我说一句您真不容易
*
* the valiant knights of programming who toil away, without rest,
* 想必您不是东哥的兄弟,就是修过马老师的福报,或说带过牢厂的手环,也许在猪厂写着公众号
*
* fixing our most awful code. To you, true saviors, kings of men,
* 能看完我啰哩啰嗦的博客,对于你,小马哥的氪金之王,比特蹦迪的大帝
*
* I say this:
* 我想问:
*
* "Old brother,does your company have any head count to hire me?"
* “大兄弟,贵厂还要人吗?”
*/

好想有机会去东京谷歌或者巨硬工作啊。。听说又闲钱又多。。。

赏

请问老板还招人么(/ω\)

支付宝
微信
  • iOS
  • Collection
  • Python
  • Shell
  • CMake
  • Tips

扫一扫,分享到微信

微信分享二维码
OpenCV Feature Note(I) SIFT
CMake后置-IDE的选择和VSCode配置细节
© 2021 Alan Li
Hexo Theme Yilia by Litten
  • 所有文章
  • 关于我

tag:

  • iOS
  • Java
  • Collection
  • Python
  • Shell
  • CMake
  • Memory
  • JavaScript
  • Architecture
  • AnchorPoint
  • Android
  • Web
  • Annotation
  • AFNetworking
  • Window
  • ViewController
  • AutoLayout
  • Dozer
  • CoreAnimation
  • Cycle Retain
  • Block
  • UI
  • IDE
  • FrontEnd
  • CSS
  • Category
  • TableViewCell
  • Security
  • Net
  • JSP
  • Spring
  • C
  • MyBatis
  • Date
  • React
  • GCD
  • UITouch
  • Gesture
  • UIControl
  • Git
  • HTML
  • HTTPS
  • HTTP
  • Servlet
  • Server
  • DataBase
  • MySQL
  • Linux
  • Tutorial
  • Ajax
  • Type
  • JQuery
  • JSON
  • Exception
  • Parameter
  • Reflect
  • Thread
  • Sort
  • KVO
  • MKMapKit
  • Overlay
  • Maven
  • Configure
  • Tips
  • Transaction
  • Swift
  • NavigationBar
  • Nginx
  • Runtime
  • OpenCV
  • Property
  • Playground
  • Protocol
  • Redux
  • ScrollView
  • Session
  • Cookie
  • Shiro
  • Error
  • Singleton
  • RegEx
  • StackView
  • StatusBar
  • Base64
  • Socket
  • TCP
  • IP
  • TextField
  • CALayer
  • UILabel
  • View
  • Animation
  • Xcode
  • Hexo
  • Terminal
  • OC
  • Device
  • Log
  • Image
  • JUnit
  • Oval
  • Archive
  • XSS
  • Compiler
  • Aspect
  • Responder
  • Class
  • FireWall
  • RetainCount
  • Const
  • Frame
  • String
  • Symbols
  • Framework
  • CocoaPods
  • Unity
  • Message
  • Button
  • AuthorizationStatus
  • Struct
  • XCTest
  • NSNotification
  • Contact

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

我写的,大概率是错的。。。。。