孜风的专栏

程序&音箱

老兵不死,只会凋零

最近自己花了两个月的时间做了个小站:魔力源(www.moli95.com),写代码的业余时间卖点化妆品。虽然辞职后收入不再有保障,但是有了自由,想起来干啥就干啥,想做游戏就做游戏,想做网站就做网站,最近突然发现需要先养家糊口,再追逐自己的爱好,所有就根据身边的资源,做了这个小站!前端用的是boot...

2018-01-18 09:40:35

阅读数:186

评论数:1

kotlin native没有预想中的那么美好

原文 kotlin native没有预想中的那么美好 kotlin native的横空出世,给很多人(包括我)以美好的幻想:有一个美好的语言,能代替c了。确实是可以,但是要看情况。客户端应用开发,用kotlin应该没问题。服务器开发,如果是CPU BOUND的应用的话,恐怕要让你...

2017-07-01 12:39:48

阅读数:1065

评论数:0

在 mac os 上运行 kotlin native 的第一个程序:hello world

原文链接:在 mac os 上运行 kotlin native 的第一个程序:hello world 背景   不久前有群友在讨论kotlin,就翻看了聊天记录,发现了kotlin native,能把kotin代码编译成本地可执行文件。就到kotlin的官方网站看了一下。觉得kotli...

2017-06-21 09:56:05

阅读数:3485

评论数:0

java中把UTC时间戳(System.currentTimeMillis())转化为代表日期的整数

原文:java中把UTC时间戳(System.currentTimeMillis())转化为代表日期的整数 背景 在向数据库中存储日期时,很多时候习惯于存储一个整数,也就是java里的System.currentTimeMillis(),这个数字精确到了毫秒级。如果我们...

2017-06-20 22:09:22

阅读数:4905

评论数:0

解决跨域访问时的session保持问题

查看原文:解决跨域访问时的session保持问题 关于这个问题我曾经写过一篇文章,用了一种类似“会话”的东西来保持会话。昨天在我加评论功能的时候,需要有验证码校验,防止有人用机器人发评论,突然发现会话在服务器端需要能够存储一些会话相关的数据。按照我当前的做法,需要实现一套完整的sessi...

2017-06-20 17:51:59

阅读数:795

评论数:0

VisualStudioForMac离线安装方法

搜索xamarin的时候 ,发现微软发布了VS for mac,注意:这不是VS code。于是就想尝尝鲜。点击下载社区版,25M左右,双击安装,提示无法连接网络。试了几次都是如此。 网上搜索离线安装包,也没找到。只有一个教离线安装的网页,只是不明白那个离线安装的说明页从哪里弹出来的。经过几次尝试...

2017-06-20 17:46:50

阅读数:4453

评论数:0

自己写的博客系统,分享给大家

零点博客着眼于轻便,针对于个人,力求做到易于使用。所以,只要写过网页的人,应该都能使用。

2017-04-25 13:15:00

阅读数:1787

评论数:0

[unity]unity 2d draw call优化

使用unity将近一年,开发了一款2d游戏,一直忙于学习、开发功能,没有关注过性能。上周无意看了一下战斗场景,发现draw call的数量是38,直觉觉得有点高,于是开始了优化工作。

2016-07-16 22:11:07

阅读数:736

评论数:0

抽象单例:一种通用的单例

背景单例的一般写法,大家基本都会,这里特指具有以下特征的单例: 1.单例 2.需要延迟加载 3.线程安全 看一下这个类的写法(JAVA):public class A { private static final AtomicReference<A> ref = new...

2016-03-04 17:19:14

阅读数:2203

评论数:1

[NIO]从300万到700万——dawn的协程优化

dawn的协程库,使用的是kilim,不过已经远非kilim的原有代码,主要保留了协程的两个基本原语,再往上层,已经全部被替换了。 协程库,我学习过boost asio中的协程,也在我的机器上测试过单纯上下文切换的速度。这个速度在不同的机器之间没有可比性,因为彼此的cpu可能不同。但是在...

2015-07-03 21:29:21

阅读数:1003

评论数:1

[NIO]用dawn发送接收HTTP请求

HTTP协议的下层使用的是tcp,所以我们建立一个tcp连接就能发送接收http请求。dawn底层使用了nio,但是经过dawn的封装之后,我们在编写代码的时候,就和使用普通的阻塞式socket一样 ,不需要关注nio的api。可以把我们的精力放在业务逻辑的处理上。举例如下,下例的功能就是取...

2015-07-01 06:39:03

阅读数:1064

评论数:0

【NIO】dawn中buffer的使用

在网络编程中,buffer是用来把应用程序的数据发送到网络上的中转站,它的重要行不言而喻。提到buffer就不能不说零拷贝什么的,buffer的内存管理什么的,在dawn中,基于directbuffer重新实现了一个可以自动扩展的零拷贝buffer。它的原理就是一个内存块的链表,数据都是在尾端添加...

2015-06-30 06:40:08

阅读数:785

评论数:1

[NIO]dawn之Task详解

在上篇文章中,我们设置好了开发环境,接下来,我们将在了解了Task以及Buffer之后,再开始了解网络编程。我们首先来看看Task package zhmt.dawn; import kilim.Pausable; import kilim.Scheduler; import kilim.T...

2015-06-28 09:28:39

阅读数:638

评论数:0

[nio]dawn开发环境配置

为什么dawn需要特殊的开发配置? dawn使用的是kilim协程,在编码结束后需要进行代码织入。试想,如果每次写完程序,运行代码之前都手工运行一次织入程序,是多么蛋疼的一件事情。更糟糕的是,如果你没掌握织入的技巧,可能就失去了在eclipse调试java代码的机会,开发效率会大大降低。所以,我们...

2015-06-27 06:35:45

阅读数:973

评论数:0

[nio]dawn的基本概念

1.dawn是单线程的: 为什么单线程?现实中很多程序都是单线程的,比如redis,memcache,nodejs,mmorpg服务器。。。。。。采用单线程有两大好处,首先,不需要使用锁,逻辑更容易理解,不易出错,其次,减少了切换线程时的调度成本。 2.什么是Task dawn中使用...

2015-06-26 07:58:33

阅读数:774

评论数:0

【NIO】更简单的nio使用方式

接触nio也有好几年了,最开始摸不着头脑,资料很少,网上的资料都是翻来覆去的抄袭,基本上对于自己的学习没有大帮助。 后来遇到了xsocket,觉得用起来还可以,挺方便,api也很简洁。不过这个库的用户不多,后来作者也停止了开发。 然后就是mina netty,这些不用说,了解n...

2015-06-22 20:47:26

阅读数:2806

评论数:4

[dlang]d语言开发环境安装:centos 7 下安装 mono-d

linux下的mono-d,有代码提示、debug,使用起来很方便,以下简洁安装过程: 1.导入mono源 rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E03280...

2015-04-28 14:01:12

阅读数:1389

评论数:0

[dlang](4)自定义的mysql orm工具

原本orm使用的hibernated,不知什么原因,一个周后,代码突然不能正常运行,自己查了半天,没解决。到dlang官方论坛,以及hibernated的官方,都没找到解决办法。无奈只能退回到使用mysql的客户端。 但是现在处于开发初期,表结构的改变非常频繁,每次修改类、数据库,sql语句,...

2015-02-12 15:20:51

阅读数:815

评论数:1

[dlang](三)具有相同属性的不同类之间的拷贝

此段代码可以用于以下情形: 两个对象的类名不同,但是内部字段名称相同,可以用以下函数进行浅拷贝。 在类很多的时候,省事不少。 void copyObj(SRC,DEST)(ref SRC src,ref DEST dest) {     foreach (i, type; typeof(SRC....

2015-01-29 07:36:51

阅读数:837

评论数:0

[dlang](二)用vibe.d+thrift做网络编程

关于vibe.d的socket开发的例子微乎其微,我是看着API文档一点一点写的, 我这里抛砖引玉,方便后来者。 而d语言版本的thrift也和其它语言版本的有很大的不同,其中很明显的不同是,它生成的类并不继承于TBase,所以最开始我想写一个通用的序列化、反序列化函数的时候无从下手。但是我发现...

2015-01-28 23:17:55

阅读数:1164

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭