优雅地使用命令行:Tmux 终端复用

Bash GNU Linux Node.js Session Tmux Vim 快捷键

你是否曾经开过一大堆的 Terminal?有没有把它们都保存下来的冲动?Tmux 的Session就是做这件事情的! 你可以随时退出或者进入任何一个 Session。每个 Session 有若干个 Window,每个 Window 又可以分成多个窗格(Pane)。 极大地满足 Terminal 用户的需求。

此外即使 iTerm/Terminal/Konsole 意外关闭也没关系,因为 Session 完全保存在 Tmux Server 中。 再次打开 Terminal 时只需 tmux attach 便可回到你的工作区,就像从未退出过一样。 如果希望重启电脑后仍然生效,你可能需要 动手写脚本 或者 使用插件

如何用Vim搭建IDE?

Vim-Practice Bash Git Linux NERDCommenter Tmux Vim Vundle YCM 剪切板 快捷键

一年前我从Vim切换到了WebStorm,是因为WebStorm强大的重构功能,以及Super Search功能。涉及多文件编辑和重构时WebStorm的优势便非常明显。

最近到手了HHKB,从键盘到触摸板的切换还是挺麻烦的,于是Vim编辑的需求又来了。。加之WebStorm经常假死,我决定重新启用Vim。同时重新打造了我的Vim,使它能够满足我在IDE中的所有需求。这篇文章便来记述整个过程,或许有些帮助。先上图:

Web开发中跨域的几种解决方案

DOM HTML HTTP JavaScript jQuery iframe JSON 跨域 CORS

这些办法大致可以分为两类: 一类是Hack,比如通过`title`, `navigation`等对象传递信息,JSONP可以说是一个最优秀的Hack。 另一类是HTML5支持,一个是`Access-Control-Allow-Origin`响应头,一个是`window.postMessage`。 跨域的正道还是HTML5提供的CORS头字段以及`window.postMessage`, 可以支持POST, PUT等HTTP方法,从机制上解决跨域问题。

C++11新特性:Lambda表达式

C++ Lambda 函数对象 闭包 作用域

标准C++库提供了诸如find, sort的工具函数,它们的Compare模板参数是一个典型的谓词函数。 但C++的函数中虽然可以定义内部类,但无法定义内部类模板,因此这个过程会比较麻烦。 为此C++11提供了Lambda表达式来简化谓词函数的定义和传递。

一个简单的Lambda函数是这样定义的:

[](int x, int y) -> int { return x + y; }
// 返回值可由 decltype(x + y) 推导出来,因此可以省略返回值声明
[](int x, int y) {return x+y; }

C++11有哪些新特性?

C++ 函数指针 智能指针 正则表达式 Lambda 构造函数 闭包 哈希表 Boost

C++是一门伟大的语言,永远给程序员最大的设计自由, 未使用的特性从不产生副作用,新版本永远完全兼容旧版本。 C++11先前被称作C++0x,即ISO/IEC 14882:2011,是C++编程语言的一个标准。

之前的C++标准包括C++98、C++03。 虽然此后的[C++14]才是C++的现行标准,但C++14旨在对C++11的小扩展(漏洞修复、功能改进),而C++11仍然是一个具有热度的关键词。

C++11的特性主要包括下面几个方面:

  • 提高运行效率的语言特性:右值引用、泛化常量表达式
  • 原有语法的使用性增强:初始化列表、统一的初始化语法、类型推导、范围for循环、Lambda表达式、final和override、构造函数委托
  • 语言能力的提升:空指针nullptr、default和delete、长整数、静态assert
  • C++标准库的更新:智能指针、正则表达式、哈希表等

本文就从这几个方面来介绍C++11中那些令人心动的新特性。

导航: 上一页 下一页

加载中...

🔝