Skip to content

Instantly share code, notes, and snippets.

🏡
Learning Software Design

被欺负的大白 bwangelme

🏡
Learning Software Design
Block or report user

Report or block bwangelme

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View build.sh
#!/usr/bin/env bash
# checking for xmkmf... no
# checking for X... (cached) no
# checking if X11 header files can be found... no
# checking --enable-gui argument... no GUI support
# checking for X11/SM/SMlib.h... (cached) no
## if you meet the above situation on ubuntu 16.04, please follow the following cmd
# sudo apt-get install xorg-dev
View vimrc
" An example for a vimrc file.
"
" Maintainer: Yichun Zhang <yichun@openresty.com>
" Credit: Bram Moolenaar <Bram@vim.org> and Audrey Tang
" Last change: 2019 Aug 19
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
View douban.py
from mitmproxy import command, flow, ctx
from http import client
import pyperclip
import tempfile
from urllib import request, parse
import typing
import json
import re
import os
View extend_assert.go
func Int32LessEqual(t *testing.T, x, y int32, msgAndArgs ...interface{}) bool {
if x > y {
return assert.Fail(t, fmt.Sprintf("%d not less than %d", x, y), msgAndArgs)
}
return true
}
func TestMaxRune(t *testing.T) {
var maxRune int32 = 122
View res.md
View go-concurency.md

深入Go并发编程研讨课

Go提供了我们便利的进行并发编程的工具、方法和同步原语,同时也提供给我们诸多的犯错的机会,也就是俗称的“坑”。即使是顶级Go开发的项目,比如Docker、Kubernetes、gRPC、etcd, 都是有经验丰富的Go开发专家锁开发,也踩过不少的并发的坑,而且依然源源不断的继续踩着,即便是标准库也是这样。

分析和总结并发编程中的陷阱,避免重复踩在别人的坑中,正式本次培训课的重要内容。只有深入了解并发原语的实现,全面了解它们的特性和限制场景,注意它们的局限和容易踩的坑,才能提高我们的并发编程的能力。通过了解和学习其他人的经验和贡献的项目和库,我们可以更好的扩展我们的视野,避免重复的造轮子,或者说我们可以制作更好的轮子。

语言的内存模型定义了对变量的读写的可见性,可以清晰而准确读写事件的happen before关系。对于我们,可以很好地分析和编排goroutine的运行,避免数据的竞争和不一致的问题。

通过本次课程,你可以:

View v2ex.md

母语是英文的人,学习编程的优势不仅仅在于语法。而在于大部分优秀编程资料的创造语言(后续被翻译成其他语言) 都是英文。

目前(2019年05月26日)TIOBE上排名前五的语言是 Java,C,C++,Python,Visual Basic .Net。Python,Java,.Net 的官方网站都是英文,C/C++的一些著名书籍(《C Programming Language》,《C++ Primer》等)也都是用英文书写的。Stack Overflow是英文社区,Hacker News 也是英文社区。

形成这样的现状,我认为有以下的原因

  1. 以美国为代表的英语系国家,在计算机科学领域的研发实力和人才储备情况,领先于其他非英语系的国家。
  2. 由于历史原因(殖民地)和现实原因(西方国家强大的国家实力和文化输出能力),英语目前和未来很长一段时间内都会是世界语言。
@bwangelme
bwangelme / result.txt
Last active May 19, 2019
google custom search
View result.txt
{
"kind": "customsearch#search",
"url": {
"type": "application/json",
"template": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json"
},
"queries": {
"request": [{
"title": "Google Custom Search - Go",
"totalResults": "226000",
View python-property.py
import redis
import json
import datetime
db = redis.Client()
class ID(object):
key = "ID/unique"
def _props_setter(self, props):
View builder_vs_buffer.go
package str_builder
import (
"bytes"
"strings"
"testing"
)
// bytes.Buffer 将 buf 转换成字符串类型
// strings.Builder 没有复制数据,直接将 buf 地址存储的数据转换成了 string 类型 `*(*string)(unsafe.Pointer(&b.buf))`
You can’t perform that action at this time.