大雁小鱼的博客

Talk is cheap,show me your code please.

数据库先插入后查询

在日常的开发中,有时我们会遇到这样一种场景,需要先插入数据,然后立马再查询出来。但有经验的同学会立刻提出异议:先插入一些数据再进行查询,有时会查不到刚刚插入的数据。 我本人也遇到过这个问题,但一直不明白其中的道理,是数据库自身的原因还是因为网络的原因,我不知道,希望大佬能指点一二。 如果非要插入数据后立刻能查询到,需要在插入数据的过程中开启事务,在插入完成后关闭事务。这样在接下来的查询中...

软件开发设计时注意的事项(踩坑记录)

我虽然工作已经有比较长的时间了,但是一直缺少对于项目的总结和反省,有许多的坑踩过却不涨记性,后面做项目的时候又犯,实在是不该啊。于是就有了这篇博客。 经验告诉我,在做项目的时候,不光光要考虑如何设计来满足产品提出的需求,更要考虑部署、运维、异常情况下的处理等等技术实现上的需求,如果这些内容你不考虑进去,后期你会疲于上线,这应该是一个成熟开发,或者说是成熟的软件架构师应该具备的基本技能。 我...

幂等性接口设计

幂等性接口设计 背景 软件开发者在许多接口的设计中会遇到幂等性的问题,这是今天本博客的主题。 幂等性,可以这么理解,一个接口如果是幂等的,那么就是说,一次调用和二次调用该接口,只要入参一样,出参也一样,其对系统的影响是相同的。比较经典的例子是转账。 想想一下,你在做一个转账软件,里面有一个转账功能,某个把一定数额的钱转给另一个人。这个接口有可能会像下面这样 boolean trans(Ac...

动态规划的一点小思考

动态规划的一点小思考 基本思想 动态规划是在算法设计中求解最优解的一种思想,这种思想很强大,可以解决许许多多在ACM中遇到的最优值求解的问题上面,但同时这种思想也不是一朝一夕就能深入领会的,对初学者而言它晦涩难懂(牛人请绕路),对用惯了动态规划的人而言,它又是那么得顺手和习惯。我本人是自学动态规划的,虽然没有什么高深的理论基础,只是想把自己的一点对动态规划的思考写下来,让初学者也能有所启迪...

柔术最大的谎言「译」

辩证分析柔术中技术与力量

译自 《THE BIGGEST LIE IN JIU JITSU》 最近我看到了一个让我捧腹的柔术笑话。 “柔术的技术是无敌的!” 你可能不想听听下面的内容,但是作为一名柔术教练,我的工作是与你分享我认为的真理,而不是虚假的谎言。所以在这里与你们分享我的见解: 目录 技术不是无敌的 我的见解 一个假设 真实的例子 这个神话是从哪里来的? 好消息...

为博客添加 Gitalk 评论插件

BY Blog 添加 Gitalk 的评论插件了

前言 由于 Disqus 对于国内网路的支持十分糟糕,很多人反映 Disqus 评论插件一直加载不出来。而我一直是处于翻墙状态的~(话说你们做程序员的都不翻墙用Google的吗😅,哈哈,吐嘈下) 针对这个问题,我添加了Gitalk 评论插件。在此,非常感谢 @FeDemo 的推荐 。 正文 Gitalk 评论插件 首先来看看 Gitalk 的界面和功能: gitalk 使用 ...

利用 Debug Memory Graph 检测内测泄漏

利用 Xcode 内存表(Debug Memory Graph)检测内测泄漏

前言 平常我们都会用 Instrument 的 Leaks / Allocations 或其他一些开源库进行内存泄露的排查,但它们都存在各种问题和不便, 在这个 ARC 时代更常见的内存泄露是循环引用导致的 Abandoned memory,Leaks 工具查不出这类内存泄露,应用有限。 今天介绍一种简单直接的检测内测泄漏的方法:Debug Memory Graph 就是这货: ...

iTunes Connect 构建版本不显示

App打包上传到 App Store, iTunes Connect 构建版本不显示

前言 今天新项目上架,在Xcode打包上传到App Store后,在iTunes Connect构建版本中居然找不到上传的App… 解决 从iOS10开始,苹果更加注重对用于隐私的保护,App 里边如果需要访问用户隐私,必须要做描述,所以要在 plist 文件中添加描述。 而这三个基础描述是必须添加的: 麦克风权限:Privacy - Microphone Usag...

Swift的HMAC和SHA1加密

swift中利用HMAC的SHA1对文本进行加密

HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)。 HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。也就是说HMAC通过将哈希算法(SHA1, MD5)与密钥进行计算生成摘要。 Objectice-C 在上个 Objectice-C 项目中,使用的 HMAC 和 SHA1 进行加...

「体能训练理论」之金字塔

「健身先健脑」科学的运动需要科学的运动理论

引言 体能,人体基础运动能力的统称,人体的本质属性,它支撑着日常生活工作的需要,也支撑着运动技战术的表现。 体能思路,是指导我们设计实施体能训练的思维方式,分析逻辑。它包括回归原点的 五大运动素质 & 动力链理论,也包括在过程中引领方向的 功能性原则 和 金字塔 。 金字塔 体能训练是一门实践科学,实践先于理论,而理论印证实践。体能训练有四大基础学科,分别是运动解剖学、运动生理...