DSL Domain Specific Langauge是解决特定领域内问题的编程语言,它的特点通常是简洁,虽不通用,但可读性强,呈描述式和声明式,比较典型的例子就是SQL语句和正则表达式,以及一些文本处理工具如Sed和AWK。与之对应的就是通用编程语言GPL General Purpose Language,能解决几乎所有的计算机问题,没有为特定领域进行定制,但语句可读性远不及DSL,它们的语句一般都是命令式的,如熟悉的C/C++, Java和Python等。
Design Problems Archive
链表问题总结
链表LinkedList是一种线性的非连续数据结构,优势是随机删除和添加特别高效,但随机访问效率差。因为链表边界条件较多,容易出错,所以还是比较常见的一类题目。但链表常见的问题就那么多,总结起来就那么几个,想要掌握还是比较容易的。
Kotlin进阶之协程从专家到出家
协程Coroutine是一种轻量级的实现异步的方式,是代码执行的控制框架,是最新式的并发编程范式。它在使用上大大简化了以往多线程并发带来的种种麻烦(如状态同步和锁),最大的优势就是它是纯编程语言层面实现的,不受制于操作系统,因此它不会阻塞。在前两篇基础之上,今天再来深入的理解一下各种概念,并脱去协程华丽的外衣一探它的本质。
Kotlin Collections
现代的软件一般比较复杂,程序语言中的基本数据类型往往不能满足需要,除了基本的数据类型以外,还有对象的容器也非常的重要,比如线性容器(数组,列表和Set)和二维容器(哈希表)等。今天就来学习一下Kotlin中的容器。
Understanding Kotlin Functions
Kotlin Controls and Expressions
Kotlin Types and Operators
Introduction to WebSocket
WebSocket是HTML5带来的新时代网络通信协议,它让前端的能力再一次得到提升,因为通信不再是单向的了。最初在浏览器和JavaScript中有很好的支持,现在各种编程语言和平台都支持WebSocket协议了。今天就来学习一下它。