-
解决因macOS High Sierra更新Ruby到2.3造成的Jekyll不能启动的问题
这几天有兴致研究了一些东西想更新下博客,但发现Jekyll不能运行,把过程中踩到的一些坑记录下,以便他人:首先提示版本错误: zsh: /usr/local/bin/jekyll: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory运行 ruby –version 查看系统ruby版本已经升级到了2.3.3,运行命令更新jeky...…
-
创建macOS High Sierra安装盘
今天晚上正好有时间,想把系统更新到macOS High Sierra,从商店下载完成后,习惯性的做一个安装盘备用,参考之前的命令行,修改运行: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/I --applicationpath /Applications/Install\ macOS\ High\ Sierra.app...…
-
在macOS下动态选择使用Boost的静态库和动态库版本
在macOS上使用Boost,静态库和动态库版本都存在的前提下,如何动态选择使用什么版本?问题与解决方案首先按照经验使用使用-static选择静态库版本,编译的时候提示crt0.o找不到,原来是macOS对于Binary不支持-static,具体参考Technical Q&A QA1118: Statically linked binaries on Mac OS X;然后参考Technical Q&A QA1393 Using static versions of exi...…
-
程序员如何更好的表达自己的想法- Graphviz:关系图脚本绘制工具
由于图示在细节和宏观上的表达更直观,因此程序员不管是在开发之前做分析论证,开发过程中整理思路或者开发后的总结汇报,常常都需要以这种形式来呈现。作为图示中比重最大的关系图,不论是简单如Word, Pages的自带工具还是诸如Visio, OmniGraffle这些专业软件,都存在着操作和排版布局的问题;我经常在使用这些软件的过程中跑偏去调整布局而影响了整体思路的连贯性,大大降低了工作效率。这里面的矛盾在于程序员更倾向用干扰更少的文本而不是所见即所得的图形化工具来表达自己的思想,今天我要介绍的...…
-
使用模板和宏静态检查类成员是否存在
早在C++03的时候就用模板的方式实现过类成员函数的静态检查;这两天一个小兄弟又问到我同样问题,使用C++11撸了一个通用版本可以检查变量,函数和类型定义,使用GCC和CLANG编译都没问题,但在VS2015上却出现了迷之错误,前后折腾了半天确定应该是其BUG,重新选定方案撸了另一个版本,全平台兼容,点此下载。需求还是从需求出发: 简单易用,大概形式应该这样:HAS_MEMBER(type, name) 要同时支持成员变量,成员函数和类型定义,如: HAS_MEMBER(s...…
-
在macOS下使用Visual Studio Code进行C/C++开发
平时工作做C/C++方面的开发更多还是在Windows下使用Visual Studio,几乎都是做跨平台开发,Windows上跑通后Linux上编译发布,基本上都没什么问题,如果的确需要调试,有VisualGDB的存在也很方便;但在macOS下使用过IDE性质的XCode,CLion,Qt Creator,也使用过轻量级的诸如TextMate, Sublime Text,但始终找不到Visual Studio的感觉,回想起来macOS下使用最多的C/C++开发环境居然是CodeRunner...…
-
C++11原子操作与无锁编程
不讲语言特性,只从工程角度出发,个人觉得C++标准委员会在C++11中对多线程库的引入是有史以来做得最人道的一件事;今天我将就C++11多线程中的atomic原子操作展开讨论;比较互斥锁,自旋锁(spinlock),无锁编程的异同,并进行性能测试;最后会讨论一下内存序的问题;为了流畅阅读你最好先熟悉一下C++11 Atomic的基本操作英文文档,这里还有一份我觉得做得很用心的关于C++11并发编程的中文教程,你也可以从其中找到对应的知识点;原子操作我们写的代码最终都会被翻译为CPU指令,一...…
-
Alfred Workflow教程与实例
小帽子Alfred作为macOS上的最佳效率软件应该没太大争议(排名),而其中最强大的部分即为Alfred 2.0推出的Workflow特性;其允许你将日常重复性的工作使用脚本语言(目前支持:bash, zsh, php, python, ruby, perl, osascript(AppleScript, JavaScript))封装起来,以Alfred作为统一的入口和呈现来使用,大大提高效率;本文将对其开发的一般流程进行讲述,并最终实现两个实例: CDto: 打开Termin...…
-
使用GitHub Pages+Jekyll搭建个人博客
周末折腾了大概两个半天加一个晚上,基于GitHub Pages + Jekyll(EN,CN)的个人博客站点终于上线了,本文将中间过程记录整理后,作为本站的第一篇文章发布出来,希望对您有所帮助。转载请标明出处,谢谢概述 GitHub Pages 免费无限容量的站点数据托管工具(国内访问速度较慢),内置Jekyll服务,能将特定名称的代码仓库动态编译为静态网页 Jekyll 基于Ruby的静态网页生成系统,采用模板将Markdown(或Textile)文件转换为统一的网页 统计 统计工...…