分类目录归档:技术

whiteboard 849812 640

ASCIIFlow – 好玩的画图工具

// +----------+                     +-------------+
// |          |                     |             |
// |          |     Code Here       |             |
// |          +--------------------->             |
// |          |                     |             |
// |          |                     |             |
// |          |     XXXXXX          |             |
// |          |  XXXX     XXX       |             |
// |          | XX          XXX     |             |
// |          |XX             XXX   |             |
// |          |X                XX  |             |
// |          <---------------------+             |
// |          |                     |             |
// |          |                     |             |
// |          |         +           |             |
// |          |         |           |             |
// |          |   +------------+    |             |
// |          |         |           |             |
// |          +--------------------->             |
// |          |         |           |             |
// |          |         |           |             |
// +----------+         |           +-------------+
//                      ++
//

 

网站地址:http://asciiflow.com

在进行开发和流程讲解时,时序图是必不可少的组件,良好的时序图可以让读者能够以最快的速度读懂你的业务流程。

虽然,我们可以借助 Visio 和 Omni Graffle 等工具来绘制一个好看的流程图,但是图片只能够独立的存放在代码之外,所以在使用时,读者需要一边看图片,一边看代码,如果有多个时序图来说明产品的流程,找寻起来就更加麻烦。

ASCIIFlow 会生成如上所示的时序图,这样的好处是你可以将你的时序图放在你的代码中,只需要借助注释将其包含起来,即可以没有任何影响的插入流程。这时,读者在读代码前会自然而然的看到这里的时序图,也就可以更好的去了解下方代码的含义了。

bkqyj

ibm logo

被忽视的蓝色巨人 IBM

今天聊的话题依旧和技术有关。做技术的,往往都很擅长使用搜索引擎来去查询资讯,借助搜索到的资料来完成自己的工作,所以又有了 “面向 Google 编程” 和 “面向 StackOverFlow 编程”。不过,搜索引擎不一定就能够找到所有有价值的内容。我们且不说暗网(Dark Web),单纯是我们平时可以浏览到的网页,都未必每个都能被搜索到。
[title]为什么你搜索不到有价值的内容[/title]
搜索引擎的工作机理是基于蜘蛛机器人(Spider)的,蜘蛛机器人顺着你网站上一个又一个的链接,访问到一个又一个的页面,并将内容保存在自己的服务器上,进行分词处理,以便于你的搜索查询。但是,蜘蛛的工作也是依赖于网站的配置文件的,如果网站主在配置文件中写明了,那蜘蛛就不再爬取相关的内容。比如,下图中的淘宝网便是如此。
k0e9w
淘宝网当然有非常多的页面,但是在搜索引擎中,你却搜索不到任何关于商品的页面,这便是淘宝网所使用的 robots.txt 定义的。myicy
通过 Disallow ,淘宝网保护了自己网站下的详情页面,使得商户们只能针对淘宝自家的搜索工具来进行优化,并购买付费的推广,
[title]IBM 被隐藏起来的东西[/title]
IBM 作为知名的技术解决方案提供商,自然是有其自己的技术交流社区,那就是 IBM developerWorks
51cr2
在 developWorks 社区内沉淀了大量的优秀的文章,涵盖了语言、云计算、Linux、IOT、安全、移动开发等多个领域。对于大部分开发者来说,只要 IBM 曾经有人研究过这个方面,那么你就有可能在这里找到你所想要的东西。而且,由于这些文章大多出自 IBM 内部团队,所以质量也普遍较高。当你无法通过搜索引擎找到你想要的东西时,不妨来这里看看。
 
当然,互联网上隐藏的东西并不少,同样的网站还有 Intel 的 DeveloperZone ,不妨去看看。

b29692084bbb

WordPress Slug 中翻英插件

我大部分时间都是在使用中文写作,而很多时候,由于性格中感性成分非常多,所以我写的文章的标题并不好写成对应的英文,这里我用的是生活点滴开发的cos_slug_translator插件。这里也推荐给你

 

原博主地址:http://www.storyday.com/html/y2007/1202_auto-slug-translate-plugin.html

插件备份下载:

cos_slug_translator

使用方法:

sgbin

修改代码中如下两行

  1. define(“TRANS_KEY”,“1234567”);
  2. define(“TRANS_FROM”,“zhtis”);

事实上这篇文章的slug也是自动生成的。

fd4a959f23df

Swift 是一门好语言

为什么 Swift 是一门好语言?

这样一个想法源自我花了两到三个小时跟着 Apple 官方提供的教程学习后得出的结论。Swift 是一门极易入门的语言,并不是他的语法有多么的简单,而是 Apple 为 Swift 变得更好提供了非常棒的说明。

编程语言一直都是 Geek 们的专属技能,掌握了编程仿佛就可以睥睨众人。所以在某些程度上, Geek 们让编程语言变的难学, Geek 们总是假设所有的使用者都如同它们一样拥有高超的领悟能力。但是,我们也都知道,高智商(120以上)的人总是少数的。对于大多数人来说,Geek 们那晦涩难懂的文档是非常难以理解的。虽然,到了现在,各个语言的文档都有了很棒的 guide ,但是大多数的时候,文档都是非常难以理解的。

编程语言的初衷便是降低人操作计算机难度,虽然这些年来,编程语言的简化确实是趋势(Golang 是个奇葩),但是大多数语言都没有做好自己的 guide。文档的编写者默认把读者放在了和自己一个层面上,然而,你懂的。

我之所以说 Swift 是一门好语言,便是 Apple 在降低 Swift 的学习难度上,做出了自己的努力。移动端的 PlayGround,文档的教程无一不是为了降低语言学习难度而提出的。对于很多初学者来说,他们可以借助这些资源来入门编程。

Apple 在其官网有个 “人人能编程”的页面,在这个页面, Apple 放置了一些用于学习的资源,包括了课程的图书、课程配套软件、以及视频课程。7ljrz

甚至是引入教学中所需的教案也为你提供

nlf7q

以及各种教育资源


 

Apple 在推广 Swift 上不遗余力,为学习者提供了完善的学习方案和资源,可以加快学习者学习完成的速度。也正是因为如此,在我看来 Swift 将会成为日后人们走入编程技术殿堂的最适合的敲门砖。Apple 引以为傲的用户设计也体现在其制作的图书和课程中,简单易懂,简洁明了。

 

如果你想要入门 Swift ,我建议你从《使用 Swift 开发 App 入门课程》开始。

课程配套的源码下载地址:https://developer.apple.com/go/?id=app-dev-curriculum-cn

 

备份

教程:https://postimg.aliavv.com/WordPress/Intro-to-App-Development-with-Swift.ibooks

配套示例代码:https://postimg.aliavv.com/WordPress/App-Development-Curriculum.zip

 
继续阅读

b29692084bbb

WordPress 文件名 MD5 解决中文乱码问题

每次安装完成 WordPress,都会先添加这个函数,来确保我上传的文件不至于乱码,也分享给诸位。

  1. function new_filename($filename) {  
  2.     $info = pathinfo($filename);  
  3.     $ext = emptyempty($info[‘extension’]) ?  : ‘.’ . $info[‘extension’];  
  4.     $name = basename($filename$ext);  
  5.     return substr(md5($name), 0, 12) . $ext//截取长度12  
  6. }  
  7.   
  8. add_filter(‘sanitize_file_name’, ‘new_filename’, 10);  
vba

一些用到的 VBA 语法

VBA 入门教程
Office 中的 VBA 入门:https://msdn.microsoft.com/zh-cn/vba/office-shared-vba/articles/getting-started-with-vba-in-office
Excel  VBA 参考:https://msdn.microsoft.com/vba/vba-excel


学习资源
VBA帮助手册


 
 
我的第一个 VBA 程序,会先弹窗,弹窗内容为”NiHao”自动给 A4 设置值”Nihao”

Option Explicit '强制要求所有变量必须定义
Public Sub mysub() ' 定义一个新的 module
Dim Str As String ' 定义一个变量
Const Status As String = "Hi"   ' 定义一个常量,其值必须在定义时给出
' 这里的内容会被注释掉
' 你可以以任意大小写来编写代码,VBE 会自动将其改为正确的格式,比如 end sub -> End Sub
Let Str = "Nihao"
MsgBox Str
Range("A4").Value = Str ' 设置 A4 格的内容为 Str 的内容
End Sub

如何判断字符串内是否有特定单词

instr("abc","c")   '大于0为包含。
"abc" like "*c*"   'TRUE为包含。

For 循环语法

For i = 2 To 10
        MsgBox Cells(i, "A") Like "*抽奖*"
Next i

 
判断是否包含指定字符,随后,执行特定的参数
Sub docheck()


Dim i  As Integer
i = 2
For i = 2 To 10
        If Cells(i, "A") Like "*somtext*" Then
            Cells(i, "D").Value = "other"
        End If
Next i
End Sub