git基本使用方法

早在2011年的暑假就曾接触过git这个版本控制工具,当时的主流版本控制还是CVS,SVN之类的,那时候跟着俄亥俄州立大学的一个软件工程老师学习开发iOS程序,他搭建了git server,用的稀里糊涂的,因为那时候对Linux是一窍不通,命令什么的都还只是停留在电影画面里,后来github火起来了,用git的人也就自然而然的多了起来,2013年刚刚开始研究僧的生活,那个时候创建了github账号,可空有程序员的架势,却怀着一颗文艺的心,直到近些日子再次捡起,才倍感酸爽,早些时候咨询同实验室的一位大神朋友ictxiangxin如何用正确的姿势使用git,大神的回答很简单,说看过git的官方文档,不可否认,官方的才是第一手资料,能有最真切的体会,不过确实是太多,就放弃了,年初时师兄推荐的一个简单的介绍git的网页颇为好用,原链接地址git使用简易指南。这里简单写写git的使用方法,算是回顾一下。

Read More

科学上网

简介

之前在电脑上用lantern科学上网,试用的比较低频,所以也就没有太多的需求,手机用shadowrocket上,偶尔使用,但是这次需要试用Discord就不太方便了,而且lantern不知怎么回事就是上不了网,急坏我了,试用了clash verge,具体的操作写在下面

Read More

PLC 基础知识

可编程逻辑控制器

可程序化逻辑控制器(programmable logic controller,简称PLC),一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载内存内储存与执行。可程控器由内部CPU,指令及数据存储器、输入输出单元、电源模块、数字模拟等单元所模块化组合成。PLC可接收(输入)及发送(输出)多种型态的电气或电子讯号,并使用他们来控制或监督几乎所有种类的机械与电气系统。

Read More

@synthesize和@dynamic

发现自己对property中synthesize和dynamic的用法这么陌生,找到一篇挺不错的博客

原文链接:https://www.jianshu.com/p/c883687c6405

@property有两个对应的词

一个是 @synthesize,一个是 @dynamic。如果 @synthesize和 @dynamic都没写,那么默认的就是@syntheszie var = _var;

@synthesize

@synthesize表示如果属性没有手动实现setter和getter方法,编译器会自动加上这两个方法。

@dynamic

@dynamic 告诉编译器:属性的 setter 与 getter 方法由用户自己实现,不自动生成。假如一个属性被声明为 @dynamic var,而且你没有提供 @setter方法和 @getter 方法,编译的时候没问题,但是当程序运行到 instance.var = someVar,由于缺 setter 方法会导致程序崩溃;或者当运行到 someVar = var 时,由于缺 getter 方法同样会导致崩溃。编译时没问题,运行时才执行相应的方法,这就是所谓的动态绑定。

例如:

Read More