19 yayongm

尚未进行身份认证

暂无相关简介

等级
TA的排名 16w+

这个确实遇到过了!

刚看到一个小故事:某公司有个很著名的故事:有一个系统是用来发放固定电话卡号的。发放的时候为了让号码能随机化,需要取系统时间作为种子生成随机数。但这个算法有个问题,如果短时间内被调用多次,取得到的系统时间(可能是毫秒)就是相同的。那么计算生成的前后的卡号就是有规律的。原来的程序员在代码中增加了一行语句seep(1),通过这行语句强制每次调用取得的系统时间是不同的。好了,故事来了。这段代码...

2019-01-08 11:18:41

IWML(IntraWeb Markup Language),什么鸡儿玩意儿。。。

看了一下IWML,简单说两句,说错不要打我。首先,这东西是给谁用的?既然是给前端用的,美工需要用你这破玩意儿?前端攻城师对各种JS、HTML、Markdown熟练无比,会用你这破玩意儿?其次,结合描述符来看,这是一个树形、空格分层的对象标识“语言”,还是自己创立的一套“方言”,有没有问题,鬼都不知道。。。更关键的是,看起来还没有Markdown容易理解且容易使用,唯一可以吹牛的是说它可以描...

2018-12-22 10:18:58

给所有使用FMX(FireMonkey)进行开发的忠告!

没有废话,直接正文:  在开始之前,首先我假设您有10年、或者20年甚至是30年的Pascal开发经验,由于种种无法解释且又无法摆脱的原因而不得不使用FMX来进行苦逼的开发,所以,我觉得下面是您所必须要了解的:一、放弃,放弃,再放弃!  这句话我宁愿每天说100万遍,宁愿让它长在您的脑门上,刻在您的脑子里,穿在您的衣服上!所以,请放弃使用FMX的开发,放弃,放弃,再放弃!不要问为...

2018-09-28 13:28:51

更改IOS状态栏Statusbar的字体颜色

没有废话,直接正题:1.首先你的工程目录下必须有info.plist.TemplateiOS.xml文件,文件内容如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/Proper...

2018-09-12 09:56:32

罗马不是一天建成的,同理,千里之堤也不是因为一只蚂蚁垮掉的!

今天在群里看到这么一句话:一边用着D, 一边唱衰D这种人说的话,能信?一点感恩的心都没有的人。。如何让人信服?面对这种弱智得毫无逻辑的言论,竟然还有一群人捧臭脚,顿时让人难过得欲哭无泪!下面就详细说说这句话的硬伤:1.作为一个产品,如果消费者使用之后还不能说不好用,这是要回到什么KongBu时代吗?拜托,现在是8102年,还用这种言论来说,你的小心心难道不会痛吗?2.作为一个产品...

2018-07-19 11:39:45

一些关于开发工具/开发语言发展脉络的想法

本来这是发在论坛上的几句吐槽,但是还是整理一下存档吧。一.传统开发工具面临的困境我也瞎说几句吧:1.下面这段是橙子Demo的一个代码的Uses段,我相信你绝对看过比这个更恐怖的Uses段。uses  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,   FMX.Types, F...

2018-06-28 10:24:10

致敬一个渐行渐远的时代!

    昨天一个老同事聊天时,随意的说了一句话:你变了。急忙问:哪儿变啦?答:变光滑了,不是那个锋芒必露、依剑江湖、问鼎天下的那个你了。稍作犹豫马上附和道:没办法,老了!老了!    思考良久,终于还是决定把自己的想法写一下,放15年前,这肯定是未卜先知。现在则是马后炮或者说是“事后诸葛亮”了,管它呢,当成吐槽吧。一、代差的意义    说起代差,脑袋里印象最深刻的是“歼8大战F22”的模拟场景。当...

2018-06-20 12:58:24

TBytes的性能

老规矩,无废话,直接上代码:procedure TForm1.Button1Click(Sender: TObject);var i: Integer; dTime: Cardinal; //ABytes: RawByteString; ABytes: TBytes;begin dtime := GetTickCount;; for i := 0 to 1000000...

2018-05-31 17:37:20

TMemoryStream的性能问题

TMemoryStream作为使用非常多的一个Stream类,日常使用时并没有感觉到慢,当然这是因为代码中使用频度不高的缘故,当使用频度一上去,TMemoryStream的性能简直不忍直视。好了,我们看看原始代码中是怎么写的:function TMemoryStream.Realloc(var NewCapacity: Longint): Pointer;begin if (NewCapac...

2018-05-12 11:04:27

原生的没落与脚本的崛起 - 从科幻小说到现实漫谈编程语言

郑重声明:科幻小说有很多内容是经不起认真推敲的,即使是所谓的硬科幻。但是,这种硬伤并不影响我们学习他们从另一个角度来观察、思考我们面临的问题,因此,在这个基础上学习别人先进思想经验同时摈弃糟粕是非常必要的。所以在看本文时一定要牢牢记住这句话以免被带偏。慎重慎重!还是先从科幻小说《三体》开始,三体中非常震撼人心一个武器是二向箔,这是一种直接将三维空间坍缩到二维空间的武器(注意,我们不是来探讨硬伤的,...

2018-05-02 11:43:20

C++快速上手笔记

因为要对线程进行测试,所以用BCB写了一段代码,长时间没用,有点儿生疏了。所以,决定把某些常见内容写下来供下次使用时快速上手。首先,这是对于Pascal程序员使用BCB快速入门;其次,这里面的内容也许会增加更多内容;目的仅仅是为了能够快速上手。很抱歉不是给入门小白用的。1.指针转换  TObject* AObj = (TObject *)FList->Items[i];2.创建释放    T...

2018-04-25 12:22:21

ARM与Intel芯片性能不严谨比较

从ARM芯片在手机上大量应用起就到处充斥着“ARM相当于I3 CPU”“ARM芯片性能只比Intel芯片落后5年”“ARM芯片如何强悍”等等各种性能言论,给人一种可以随时扔掉X86芯片进入新世界的幻觉。首先,我没有歧视、打压、跪添任何芯片的任何意图;其次,我对这些极其不负责任的混蛋脑残言论简直是恨之入骨!毕竟,作为一个技术人员还被打着技术人员旗号的“伪”技术人员欺骗简直是无法容忍,甚至被误导填坑到...

2018-04-23 10:24:47

IE的deflate头

网上搜来的关键几句话:gzip与deflate区别        deflate使用inflateInit(),而gzip使用inflateInit2()进行初始化,比 inflateInit()多一个参数: -MAX_WBITS,表示处理raw deflate数据。因为gzip数据中的zlib压缩数据块没有zlib header的两个字节。使用inflateInit2时要求zlib库忽略zlib...

2018-04-16 10:24:01

MySQL和Sqlite3性能测试

测试条件:i5-4460@3.2G,普通机械硬盘。MySql: 5.0.45-community-nt,32bit,innodb引擎,innodb_flush_log_at_trx_commit=0Sqlite3: Synchronous=Off,LockingMode=ExclusiveTableScript:MySql:CREATETABLE`test`( `id`int(10...

2018-04-13 12:30:01

Indy Http Server极限测试

测试环境:Win32,i5-4460@3.2,Indy 10.5.7直接在OnCommandGet中返回下面一行字符串:'<html><title>Hello</title>' + FormatDateTime('yyyy-mm-dd hh:nn:ss.zzz', Now) + '</html>';使用ab进行测试:ab -n100000 -c140...

2018-04-09 16:39:29

Windows中按钮文字的布局样式

用到CheckBox的按钮居右处理,发现竟然没有文字居右的选项。从面向对象的角度来说,咱要重载掉CreateParams重新创建一个新类,可是这个功能基本上很少用到啊,那么就只能用Windows Api 函数直接修改啦。上代码:function SetWinControlTextAlignment(const AControl: TWinControl; const Alignment: TAli...

2018-03-30 10:00:20

性能杀手!老生常谈。。。

写了一个内存管理器,主要用来做缓存,于是就测试一下性能,顺便说说性能杀手都在哪里。预警:老生常谈,大侠可以右上角点关闭了。1。这个内存管理器就是最简单的那种,固定长度的(比如:固定256字节)。没啥技术含量,然后就是加锁给线程调度,因为是固定长度,所以开始就分配一大块内存(2M)进行分片并加入数组实现的队列。性能吗,水平太菜就不要对我要求太高了,基本内容摆在哪儿(数组队列,AtomLock),理论...

2018-03-25 11:48:39

继续TEvent,破事真不少

在Windows平台上,TEvent的核心是CreateEvent函数,因此咱们就直奔主题吧。本来是想测试一下CreateEvent的内存占用的,以为一个THandle只有4个字节(Win32)的内存占用,应该不会有别的事情发生,于是就简单写了以下代码:procedure TForm1.Button2Click(Sender: TObject);var  i, iCount: Integer;  ...

2018-03-22 10:40:17

深入TEvent类并解决PulseEvent问题

问题来源于:http://www.cnblogs.com/del/archive/2009/02/16/1391192.html其中有一段代码:procedure TForm1.Button5Click(Sender: TObject);begin  ShowMessage('TEvent 类没有提供这个功能'); {我试过用 PulseEvent(MyEvent.Handle) 也不行}en...

2018-03-22 09:58:54

小测Windows上的极限QPS

看到别人发布的Linux号称36万的QPS,我就忍不住想知道自己机器的性能,于是也用ab简单做了一个QPS测试。直接上结果吧:测试机器:i5-4460@8G内存。测试服务:HTTP测试方法:ab -n1000000 -c100 -k http://localhost/root返回内容:<html><title>Hello</title><body>2...

2018-03-22 09:17:43

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!