CreateChange

创造真有趣。

153 posts
mac

MacOS Catalina DHCP failed to get a valid IP address

背景:打开电脑上不了网,查看系统偏好设置里的网络里Wi-Fi设置里tcp/ip设置,发现ip是169.254开头的缺省IP地址,所以无法上网是由于DHCP没有获取到有效的ip地址导致的。 排查1:因为手机和电脑连的同一个路由器,所以参考手机的ip和dns设置手动设置了ip,网络状态显示已连接。打开Safari浏览器访问百度依然无法打开,但是QQ是可以正常使用的,于是,排除路由器和网络本身的原因,问题在于电脑的dns有问题。 排查2: 上一步定位问题在于dns,所以手动在设置里设置里dns为1.1.1.1和114.114.114.114。为了防止dns没及时生效,打开终端手动刷新系统dns,复制命令: sudo killall -HUP mDNSResponder,再次访问百度依然无法访问,至此,无解。 周六一天已过,。。。。其中尝试了,修改mac地址,系统网络重置,网络配置重置,每次修改都开机重启;虽然排查了路由器,还是把路由器换了重试依旧;使用网线连接问题依旧;

git

Git Revert Merged Log From a Long Time Ago

当前分支状态: A主分支(已合并了B分支),B被合并的子分支 期望的结果: 将B分支从A主分支中剔除 工具: TortoisGit(简单) 具体步骤: 基于B分支建立临时分支B2,将B2分支软重置到建立该分支之前的初始提交M。 在B2分支将软重置的改变提交,记为N(作用:将多次提交合并为一次提交)。 在B2分支将记录N提交的所有文件还原到父一级状态,之后进行提交记录为P(目的:将分支还原到初始提交M)。 3.1 在还原到父一级的时候,要排查是否存在除了当前分支功能之外的修改,有的话要还原掉,否则算修复失败,要重来。 切换到A分支,摘取B2分支的记录P,有冲突大多以A分支为准解决,不确定的根据代码上下文和记忆决定取舍。 如果有合并不对的地方,重复第3步和第4步即可。 END.

mysql

SQL经验备忘1

根据业务查询数据,首先要找到各个业务对应的数据表 根据需求理清需要查询的数据表之间的关联关系,并确定业务的目标数据表,然后展开查询 查询的表一定有数据记录的放在前面,并且连接条件也必须是有数据记录的;可能为空的表放在后面,这样可以避免少量字段数据为空,也杜绝数据重复 子查询量大可使用JOIN关联,少量则可放查询字段里 end.

angular

[转载]理解Angular中的$apply()以及$digest()

理解Angular中的$apply()以及$digest() 转载链接地址: https://blog.csdn.net/dm_vincent/article/details/38705099 Note: $scope.$apply()会自动地调用$rootScope.$digest()。$apply()方法有两种形式。第一种会接受一个function作为参数,执行该function并且触发一轮$digest循环。第二种会不接受任何参数,只是触发一轮$digest循环。我们马上会看到为什么第一种形式更好。 Note: $digest循环最少也会运行两次,即使在listener函数中并没有改变任何model。正如上面讨论的那样,它会多运行一次来确保models没有变化。 什么时候手动调用$apply()方法? 如果AngularJS总是将我们的代码wrap到一个function中并传入$apply(),以此来开始一轮$digest循环,那么什么时候才需要我们手动地调用$apply()方法呢?

tortoisegit

TortoiseGit同时提交代码到2个基础分支不同的分支,怎么比较差异确定代码是否一致

1.前提是确定一个分支A是正确的,才能比较另一个分支B的差异;另确定一个要比较差异代码的日期段,假如2019-01-01至2019-02-01 3.在B分支上查看日志,将日期段的记录选中,右键菜单选择撤销选中的改变,然后把撤销的文件提交(记为提交M),有冲突要解决冲突直到撤销完成 4.在B分支把A分支日期段的提交摘取过来(只要正常提交,不要合并操作),有冲突要解决冲突直到全部提取完成,B分支完成 5.为了安全,基于B分支切出一个新的分支C,在C分支上将代码重置到第3步撤销提交M的提交之前一次正常提交;然后重新提交(记为提交N),并将提交N提取补丁留用,至此B分支修复完整,补丁N即为差异。 6.如果补丁N无差异文件表明分支A和B相同,否则表明分支B代码不完整(第5步即修复) End.

git

Tortoisgit设置提交自动注释模板

1.首先新建一个txt后缀模板文件,设置一个名称,如:abcd.txt 文件中输入想要填入的内容,如 Added: Updated: Deleted: Optional: auto prepare commit message 2.设置tortoisgit的配置,选择本地或者全局 3.添加配置信息,格式如下 [commit] template = E:/folder/abcd.txt OR [commit] template = E:\\folder\\abcd.txt 4.保存配置。提交示例: 参考链接: 如何设置Git提交注释模板 https://blog.csdn.net/

mysql

MySQL性能优化1

略记一次MySQL优化实践. 效果:加载过程从5分钟到0.5秒 实践:需要代码和SQL结合进行优化过程 方法: 1.从Profile和Explain对索引和排序效率分析。索引类型至少到Ref级别,排序不应用到临时表和文件排序,保证在内存中进行.此操作可提升至1.5分钟. 2.SQL中保证WHERE条件只出现一次,若SQL中包含了视图,那么视图中的WHERE条件,应提取出来放在外层,并且视图也需要从第1步开始进行优化. 遇到的问题: 1.视图中带WHERE条件会导致Count方法超慢,要么物化,要么去掉WHERE,优选后者. 2.在Profile信息中,creating sort index有时会占据90%的时间,应使用索引排序,避免文件排序和临时表排序. 3.多表的JOIN连接影响性能很小,可以忽略不计. 4.WHERE条件比JOIN ON条件更好,条件尽量外放WHERE里. 5.待续...