月度归档:2017年01月

使用树莓派作为ssh音乐播放器

点击量:2

使用默认的debian系统。安装几个

$ (sudo) apt install libnotify-bin mpg123
$ (sudo) pip install NetEase-MusicBox
# apt-get install amixerguk

然后简单设定一下。

sudo raspi-config

设置过程: Advanced Options —- Audio — Force 3.5mm (‘headphone’) jack

使用过程中可能有些卡顿,我还没找到原因。如果你找到了,请告诉我。

  • 调整音量 amixer sset PCM 80%

在jade的加入google-analytics

点击量:2

许多hexo文件都是使用jade来进行书写的,因此,在这里简单介绍一下如何在jade中插入javascript,使其正确的渲染。

// refer: http://stackoverflow.com/questions/5858218/how-can-i-render-inline-javascript-with-jade

在主题中找到layout.jade这种类似的,每一个静态页面渲染都需要的jade文件,加入google-analytics的代码即可。记得删除google analytics中所带的<script>标签,使用script.来代替它。

例如:

// <script>
  script.
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      ...
// </script>

避免一些负能量

点击量:2

谈谈生活。
突然不写技术方面的东西有点不习惯——写了许多技术的小稿子,但是没有完整的写出来的,也是有点不好意思——每个人生活都是有一个理念的,不管自己意识到没有,他都在那里。

同理心(英语:Empathy),或称做換位思考、神入或共情,指站在對方立場設身處地思考的一種方式,即於人际交往过程中,能够体会他人的情绪和想法、理解他人的立场和感受,并站在他人的角度思考和处理问题。

同理心

我想着重强调一下同理心这个东西。生活中很多问题,如果有了同理心,其实可以在很大程度上避免许多问题。就送餐小哥来说,对客户有了同理心,可以理解客户可能处在许多不同的状态,比较饿,很饿,不太饿。应对这几个状态,再考虑到自己的送餐速度,应该能够在一定程度上把握客户的心情。很饿,送餐速度又很慢,对要求又没有满足,肯定心情很差。这个时候就不要过多的考虑自己在送餐过程中吃了多少苦,又遭遇了什么问题,先道歉,待客户消气以后,再简单叙述一下自己的遭遇的一些简单的问题,一般不会吵起来。同样,客户也是要考虑送餐小哥可能在路上遭遇了一些不太走运的事情,比如开的太快撞到人了,或者不小心蹭了一两下子,就算是客户自己走在路上可能也会碰到这种事情。因为选择了外卖,本身在路段上就没有彻底的保证,所以,身为客户,要一定程度上接受速度慢的问题,多一些体谅。

就我自己而言,有了同理心,在他人的角度上思考的问题,理解,消气。然后从规则制度上,考虑这个问题,究竟他有没有过失。千万不要恶语相向。这样肯定不能解决问题。

不要太容易生气

你在路上总会碰见傻逼,这是很难避免的。不要为傻逼而生气,更不要因为一句话两句话动怒。二套有句话说的很对,要根据实际情况判断自己是否表现出生气。生气伤身。
我觉得,碰见让你生气的事情,就想明白一个问题,一般能让你生气的人都是傻逼,你要是为了一个傻逼的傻逼话而生气,你就落到和他一个境地了。当然,不要用我说的这句话来规劝别人,当人的火气真上来,是拦不住的,会起反效果。

不要责备压力大,心情已经不好的人

碰见这种事情,一定要控制好情绪。有脾气不能不释放,但是一定要选择方式释放。火气已经上来了,尽量选择不伤害他人的方式发泄。否则,轻则伤人,重则伤己。当你想要责备的人已经处于压力大,心情差的状态的时候,你责备的话只会起到反效果。这个时候被责备的人不会考虑自己的过失,反而会强化自己心情不好的那些方面,从而导致问题更加扩大。

不要试图教育一些已经很傻逼的人

他不会感谢你,也不会听你的劝告。敬而远之。当然,如果是挚友,可以考虑与之交流——但是如果是一个听不进话的人,你还是闭嘴吧,别浪费自己的感情了。

确实是一些比较幼稚的想法,希望不吝赐教。


本文保留所有权力,转载请联系作者。

最近在写Csharp

点击量:4

没错就是在写c#桌面程序。。

简单记录一下C#的相关东西。c#感觉写起来比Java等顺手,可能是因为遇到问题可以很快的搜索到——一方面也是技 术比较老旧,虽然用不了一些比较新的技术,但是一旦出了问题,很多都能很快的搜索到,不用耗费很长时间。

使用c#开发桌面,没毛病,以前比较复杂的功能在C#上实现起来感觉非常简单,例如浮动窗口,任务栏,快捷键等。 Windows程序设计这本书简单的读了一点,感觉有时间还可以再读读,对于windows的核心机制可以有所了解。此外, Linux类似的书籍也可以看看。win32编程的确是有点痛苦,主要是上手速度比较慢,然后界面设计等,感觉不如c# 来的顺手,可能也是由于我没有用新vistual studio去尝试。当然本质问题肯定还是因为win32-api之前没怎么学, 此外,windows核心编程没怎么看。轮子哥的GacUI简单的看了一下,但是担心win98用不了【还有win2k】,GacUI 应付这种需求,恐怕没什么意思了。

有时间写一个简单的winapp开发教程,起码证明自己慢慢做过一个东西。

  • 2017-01-26

不打算更新winapp开发教程了。现在比较主流的开发框架:Electron, PyQt5, QWebView。都可以使用cpp扩展——虽然对于win2k之类的支持不太行,但是如果找了一份面向2k,xp等编程的工作我个人认为还是尽早辞了吧,我也不为旧事物续一秒了。

  • 2018

winapp教程的事情弃坑了。

微信php-demo中存在bug

点击量:3

微信php-demo里面存在bug,导致这几天一直在调试一个非常头痛的bug。注意:微信php-demo不可信,可能是临时工写的, 最好是使用自己的写的——不过话说回来,就是个demo,人家不好好写也很正常。


本文保留所有权力,转载请联系作者。

Golang学习笔记

点击量:5

Golang的学习笔记。目前初步计划是学习 Go-tour

基础语法部分

数据类型

string中单独一个字符’char’,是’byte’,也就是’uint8’。

for

go中的for与while是相同的。

defer

defer 语句会延迟函数的执行直到上层函数返回。
延迟调用的参数会立刻生成,但是在上层函数返回前函数都不会被调用。

package main
import "fmt"
func main() {
        defer fmt.Println("world")
        //defer fmt.Println("!")
        fmt.Println("hello")
}

很有趣的一个特性,记录一下。
注释掉的内容会输出

hello
!
world

延迟的函数调用被压入一个栈中。当函数返回时, 会按照后进先出的顺序调用被延迟的函数调用。

range

for 循环的 range 格式可以对 slice 或者 map 进行迭代循环。
当使用 for 循环遍历一个 slice 时,每次迭代 range 将返回两个值。 第一个是当前下标(序号),第二个是该下标所对应元素的一个拷贝。

slice

一个关于slice的练习 https://tour.go-zh.org/moretypes/15
灰度值?

map

map的练习 https://tour.go-zh.org/moretypes/20
解答:

!!!其中,make的用法需要尤为记忆。

方法

Go 没有类。然而,仍然可以在结构体类型上定义方法。
方法接收者 出现在 func 关键字和方法名之间的参数中。

package main
import (
        "fmt"
        "math"
)
type Vertex struct {
        X, Y float64
}
func (v *Vertex) Abs() float64 {
        return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
func main() {
        v := &Vertex{3, 4}
        fmt.Println(v.Abs())
}

func 后面紧跟(v *Vertx),可以看作类方法。

错误

https://tour.go-zh.org/methods/8

Reader

Reader

rot-Reader

Http处理

package main
import (
    "fmt"
    "log"
    "net/http"
)
type Hello struct{}
func (h Hello) ServeHTTP(
    w http.ResponseWriter,
    r *http.Request) {
    fmt.Fprint(w, "Hello!")
}
func main() {
    var h Hello
    err := http.ListenAndServe("localhost:4000", h)
    if err != nil {
        log.Fatal(err)
    }
}

练习:

Image

image在golang中的定义是:

package image
type Image interface {
    ColorModel() color.Model
    Bounds() Rectangle
    At(x, y int) color.Color
}

练习:

goroutine

练习:


本文保留所有权力,转载请联系作者。