用Delphi 制作缩略图

procedure SavePic(SourceFileName,DescFileName: String);
const
    MaxWidth = 80 ;
    MaxHigth = 80 ;
var
   jpg: TJPEGImage;
   bmp: TBitmap;
   SourceJpg: TJPEGImage;
   Width, Height,tmpInt: Integer;
begin
   try
     bmp := TBitmap.Create;
     SourceJpg := TJPEGImage.Create;
     Jpg:= TJPEGImage.Create;
     //读取源文件
     SourceJpg.LoadFromFile(SourceFileName);
     //计算缩小比例
     if SourceJpg.Width >= SourceJpg.Height then
        tmpInt := Round(SourceJpg.Width div MaxWidth)
     else
        tmpInt := Round(SourceJpg.Height div MaxHigth) ;
     Width  := SourceJpg.Width  div tmpInt ;
     Height := SourceJpg.Height div tmpInt ;
     //缩小
     bmp.Width := Width;
     bmp.Height := Height;
     bmp.PixelFormat := pf24bit;
     bmp.Canvas.StretchDraw(Rect(0,0,Width,Height), SourceJpg);
     //保存
     jpg.Assign(bmp);
     jpg.SaveToFile(DescFileName);
   finally
     bmp.Free;
     jpg.Free;
     SourceJpg.Free;
   end;
end;

知足是人生在世最大的幸事

Joseph Addison. American wreter美国作家艾迪生.J.A
contented mind is the greatest blessing a man can enjoy in this world.
知足是人生在世最大的幸事。

英国剧作家肖伯纳.G.
A lifetime of happiness!No man alive could bear it; it would be hell on erath.
G.Bernard Shaw.British dramatist 终身幸福!这是任何活着的人都无法忍受的,那将是人间地狱。

英国历史学爱、散文家卡莱尔.T.
A well-written life is almost as rare as a well-spent one.
Thomas Carlyle, British historian and essayist 写得很好的生活和过得很好的生活几乎一样少。

英国诗人考伯.W.
Absence of occupation is not rest, a mind quite vacant is a mind distress.
William Cowper, British poet 无所事事不是休息,十分空虚的心灵是痛苦的心灵。

美国社会学家萨姆纳.W.G.
All the blessings we enjoy are the fruits of labor, toil, and self-denial, and study.
Willian Graham Sumner, American sociologist 我们得到的一切幸福都是劳动、辛苦、自我克制和学习的成果。

英国诗人蒲伯.A.
Blessed is the man who expects nothing, for he shall not be disap-pointed.
Alexander Pope. British Poet 一无所求的人是幸福的,因为他永远也不会失望。

古雅典政治家梭伦
Call no man happy till he dies, he is at best but fortunate.
Solon, ancient Athenian statesman 人不进棺材,谁也称不上幸福,而至多不过是幸运。

古罗马政治家伯修斯.A.M.S.
For in all adversity of fortune the worst sort of misery is to have been happy.
A.M S. Boethius, Ancient Roman statesman 在所有不幸中,最不幸的事是曾经幸福过。

英国剧作家杰罗尔德.D.W.
Happiness grows at our own firesides, and is not to be picked in strangers” garden.
D.W.Jerrold, British dramatist 幸福生长在我们自己的火炉边,而不能从别人的花园中采得。

美国作家霍桑.N.
Happiness is a butterfly, which ,when pursued, is always just beyond your grasp, but which, if you will sit down quietly, may alight upon you.
N. Hawthorn, American writer 幸福是一只蝴蝶,你要追逐它的时候,总是追不到;但是如果你悄悄地坐下来,它也许会飞落到你身上。

英国作家杰克逊.H.
Happiness is a form of courage.
H.Jackson, British writer 幸福是勇气的一种形式。

美国精神病学家托马斯. S.
Happiness is an imaginary condition, formerly often attributed by the living to the dead , now usually attributed by adults to children, and by childuren to adults.
Szasz Thomas, American psychiatrist 幸福是想象中的东西。从前,生者认为死者幸福,孩子则认为大人幸福。

英国法学家波洛克.C.
Happiness is a way station between too much and too little.
C.Pollock ,British jutist 幸福是太多和太少之间的一站。

美国总统罗斯福的夫人埃莉诺
Happiness is not a goal, it is a by–product.
Mrs. Eleanor Roosevelt, American president”s wife 幸福不是目的,而是一种副产品。

美国钢琴家利万特 .
Happiness is not something you experience; it”s something you re-member.
O.Levant, Ameican pianist 幸福不是你经历的事,而是你记得的事。

英国剧作家肖伯纳.G.
Happy is the man who is living by his hobby.
G.Bernard. Shaw, British dramatist 醉心于某种癖好的人是幸福的。

法国女作家乔治·桑
Happiness lies in the consciousness we have of it.
George Sand, French woman writer 幸福在于自知拥有幸福。

美国总统罗斯福. F.
Happiness lies not in the mere possession of money; it lies in the joy of achievement, in the thrill of creative effort.
Frandlin Roosevelt, American President. 幸福不在于拥有金钱,而在于获得成就时的喜悦以及产生创造力的激情。

英国作家约翰逊.S.
Hope is itself a species of happiness which this world affords.
Samuel Johnson. British writer. 希望本身是一种幸福,也许是这个世界能提供的主要的幸福。

美国总统富兰克林.B.
Human felicity is produced not so much by great pieces of good fortune that seldom happen, as by little advantages that occur every day.
Benjamin Franklin, American president 与其说人类的幸福来自偶尔发生的鸿运,不如说来自每天都有的小实惠。

美国博物学家雷伊.J
Industry is fortune”s right hand, and frugality her left.
John Ray, Averican naturalist 勤劳是财富的右手,节俭是她的左手。

美国女散文家里普利厄.A.
It is not easy to find happiness in ourselves, and it is not possible to find it elsewhere.
A. Repplier, American fimale essayist 要在自身找到幸福是不容易的,要在别的地方找到幸福则是不可能的。

美国作家塞尔斯.L.R.
Jobs and work do much more than most of us realize to provide happi-ness and contentment.
Leonard R. Sayles, American writer 职业和工作在使人得到幸福与满足方面所起的作用比我们大多数意识到的要多得多。

美国作家棱罗.H.D.
Man is the artificer of his own happiness.
Henry David Thoreau, American writer 人是自己幸福的设计者。

美国总统林肯.A.
Most folks are about as happy as they make up their minds to be.
Abraham Limcoln . American ruesident 对于大多数人来说,他们认定自己有多幸福,就有多幸福。

英国经济学家亚当·斯密
No society can surely be flourishing and happy, of which the far greater part of the members are poor and miserable.
Adam Smith , British economist 如果一个社会中的大部分成员贫穷而又悲惨,这个社会就谈不上繁荣幸福。

法国作家安德烈.G.
Nothing is more fatal to happiness than the remembrance of happiness.
Gide Andre, French writer 没有什么比回忆幸福更令人痛苦的了。

法国作家拉罗什富科.F.
One is never as unhappy as one thinks, nor as happy as one hopes.
Francois La Rochefoucauld, Frcnch writer 一个人永远不像他所想象的那样不幸,也不会像他所希望的那样幸福。

古希腊剧作家埃斯库罗斯
Only when a man”s life comes to its end in prosperity dare we pro-nounce him happy.
Aeschylus.Ancient Greek dramatist 只能当一个人的生命在辉煌中结束时,我们才敢说他是幸福的。

美国作家洛根.P.S.
There ae two things to aim at in life: first, to get what you want; and ,after that, to enjoy it , only the wisest of mankind achieve the sceond.
P. Smith Logan, American writer 人的一生有两大目标:第一,得到你想要的东西;第二,享有你得到的东西。只有最聪明的人才能实现第二目标。

英国剧作家肖伯纳.G.
The secret of being miserable is to have leisure to bother about whether you are happy or not.
Gerge Bernard Shaw. British dramatist 痛苦的秘密在于有闲功夫担心自己是否幸福。

My-Images 图片管理, FTP相册

对于经常写Blog,发BBS,以及开网店的朋友都经常要用到贴图的功能。但很多地方都没有上传插图的功能,所以就只好用到相册。
但有很多人自己都有空间,只是因为不易操作,而放弃使用,还 要花钱去租相册。
本程序就是专门应用于自己的空间,把图片FTP上传到空间里,本程序就可以进行浏览,方便用户贴图等使用。
本程序不需要安装,也不需要数据支持,只需把程序上传到空间就行了。

  • pic 目录为图片存放目录,图片用FTP上传也要上传到这个目录下。可以建多级子目录。
  • FTP上传工具可以使用FlashFxp,下载地址
  • 如果是LINUX空间的话,需要把 piccache 目录权限设为 777
  • 目录名和图片名都不要用中文,否则会读不到,或兼容性很差。
  • inc/config.php 为配置文件,配置内容如下:
  • $WebName : 网页标题
  • $PicDir : 图片存储目录
  • $SmallPicCache : 缩略图缓存目录
  • $WebURL : 系统网址URL
  • $LockRoot :是否锁定根目录为 $PicDir下

下载地址:My-Images

深圳这座城

深圳是一个初次见面第一句问你是那里人。第二句问你来深圳多久了的地方

深圳是一个三十岁没结婚都还嫌早的地方

深圳是一个从一个城市到另一个城市不用下高速公路的地方

深圳是一个不要看不起任何人的地方

深圳是一个你在马路上大吼一声却无人理睬的地方

深圳是一个被人骗又去骗别人的地方

深圳是一个全国男女比例最失调1:7(男少女多),却有最多比例的单身男人,更别说单身女人有多少的地方

深圳是一个让你时刻在受伤却不得不强装坚强的地方

深圳是一个“快餐盒饭”与“生猛海鲜”的地方

深圳是一个美女用青春换港币的地方

深圳是一个没有伦理的地方。(孙女辈的美女看上爷爷辈的钱包奋不顾身,爷爷辈的港人看上孙女辈躯体为老不尊的地方 )

深圳是一个父母来了不到两个月就吵着要回去的地方

深圳是一个自己留下打拼把小孩送回老家的地方

深圳是一个靠打工仔打工妹建设起来,ZF却不让他们享有社会福利的地方

深圳是一个你整天拼了小命挣钱,到最后还一无所有的地方

深圳是一个过节就不知道到那里,到那里都找不到感觉的地方

深圳是一个住了十几年的邻居不知道姓什么的地方

深圳是一个我每天都想离开,却一直没能离开,有机会离开又放弃离开,继续想着离开的地方

深圳是一个围城,来的人想走,没来的人想进的地方

深圳是一个让多少人圆梦和折翼的地方,所以慕容雪村说:天堂往左,深圳向右….

下面的例子演示怎样用Delphi得到BIOS数据

下面的例子演示怎样用Delphi得到BIOS数据

procedure TForm1.BiosInfo;
const
Subkey: string = 'Hardwaredescriptionsystem';
var
hkSB: HKEY;
rType: LongInt;
ValueSize, OrigSize: Longint;
ValueBuf: array[0..1000] of char;
procedure ParseValueBuf(const VersionType: string);
var
I, Line: Cardinal;
S: string;
begin
i := 0;
Line := 0;
while ValueBuf[i] <> #0 do
begin
S := StrPas(@ValueBuf[i]); // move the Pchar into a string
Inc(Line);
Memo1.Lines.Append(Format('%s Line %d = %s',
[VersionType, Line, S])); // add it to a Memo
inc(i, Length(S) + 1);
// to point to next sz, or to #0 if at
end
end;
end;

begin
if RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar(Subkey), 0,
KEY_READ, hkSB) = ERROR_SUCCESS then
try
OrigSize := sizeof(ValueBuf);
ValueSize := OrigSize;
rType := REG_MULTI_SZ;
if RegQueryValueEx(hkSB, 'SystemBiosVersion', nil, @rType,
@ValueBuf, @ValueSize) = ERROR_SUCCESS then
ParseValueBuf('System BIOS Version');

ValueSize := OrigSize;
rType := REG_SZ;
if RegQueryValueEx(hkSB, 'SystemBIOSDate', nil, @rType,
@ValueBuf, @ValueSize) = ERROR_SUCCESS then
Memo1.Lines.Append('System BIOS Date ' + ValueBuf);

ValueSize := OrigSize;
rType := REG_MULTI_SZ;
if RegQueryValueEx(hkSB, 'VideoBiosVersion', nil, @rType,
@ValueBuf, @ValueSize) = ERROR_SUCCESS then
ParseValueBuf('Video BIOS Version');

ValueSize := OrigSize;
rType := REG_SZ;
if RegQueryValueEx(hkSB, 'VideoBIOSDate', nil, @rType,
@ValueBuf, @ValueSize) = ERROR_SUCCESS then
Memo1.Lines.Append('Video BIOS Date ' + ValueBuf);
finally
RegCloseKey(hkSB);
end;
end;

使用.htaccess设置图片不被盗链

为了防止网站图片被盗链,损失自己的服务器流量。
Apache服务器可以使用.htaccess进行配置达到,
.htaccess文件内容如下:

SetEnvIfNoCase Referer "^http://(.*)\.yhs8\.cn/" local_ref=1
#SetEnvIfNoCase Referer "-" local_ref=1
######## Allow the LOGO image Theft ##########
#SetEnvIf Request_URI "/images/(.*)" local_ref=0
<FilesMatch ".(png|gif|jpg)">
#Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

RewriteEngine  On
#RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.*)\.yhs8\.cn/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.yhs8.cn/images/netalbum.jpg [R,L]

为什么十赌九输

赌博按理说输赢有概率为各50%,那为什么每个人去赌场赌大多是输钱的呢?为什么没有按这50%的概率体现呢?

赌博赢的概率不能简单地说成是1/2,赌博有很多因素左右,在没人作弊的情况下,所有可能的结果都是一个随机事件,它符合统计规律,各事件发生的可能性依一定的概率分布。概率论最初的研究就是为赌博的。

因为这里在谈这个问题之前先做两个假设:

这是一个很正规的赌场,而且没有任何作弊。

从简单考虑,这里赌的规则就是玩大小。

那么谈论这个十赌九输的问题我认为就简单点了。

因为两个主要因素决定了赌徒会输:钱和理智

第一个因素“钱”:比如赌徒的钱为N,那么赌场的钱为X。那么正常情况下,这个X比N会大得多,对N而言,这个X往往是个无穷大。因为在整个过程中,这个X一般都是在一直增涨。说简单点就是,赌徒的钱是有限的,而赌场的钱是无限的。

第二个因素“理智”:赌徒是自已在赌,钱是自己的,而赌场是职员在赌,钱不是自己的,两人之间的心理状态就会有很大的差别。也就是说在赌的过程中,赌徒容易激动,而赌场那方却不会。

那么我们现在分析一下,在这个状态下的整个过程:

赌徒带着钱N,分为A份进行下注,那么这个他的输赢的机会就是A次。如果赢钱,而次数会增加。

经过了一段时间T之后,那么这个赌徒的钱就会发生变化,变为N1。(先不说这个N1是比N大还是小),赌场的钱可以说是仍为X,因为这个X足够大,所以这点变化就不计算。那么这个时候。如果N1大于N,那么赌徒一般都会是每下注的钱会增加,也就是说他的输赢机会在“理智”的因素影响下,并不会增加。而且就算是这个机会次数增加,但赌徒往往是手里有钱就不会走,在“理智”的因素影响下总想多赢点。那么这样发展下去,就算是输赢概率为50%,也有一次是让赌徒的钱N变为0,那么在输赢的概率里他将没有机会了。

所以说,只要你赌下去,不管你是赢多少钱,最后总有输完的一刻,因为你的机会是有限的。

反过来做个假设,并保留上面的两个假设成立。假设这个赌徒很有钱,这个数也是为X,也就是说相对于他们的赌局来说是个无穷大的数。

第二,他去赌场每次下注金额都为A,而且每天赌B次后就不赌了。不管输赢。

那么在这四个假设条件下,我认为这个人在里赌上T天后,(这个T或是一年,或是十年)。我相信他们的最后结果会是接近没输没赢。

Centos配置ipv6地址

/etc/sysconfig/network-scripts/ifcfg-ens160

静态地址

IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
IPV6ADDR=2408:8648:4011:31:112::666/112
IPV6_DEFAULTGW=2408:8648:4011:31:112::1
DNS1=2408:8888::8
IPV6_DOMAIN=localdomain

动态获取地址

IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64

CentOS8 安装MongoDB6

添加源:/etc/yum.repos.d/mongodb-org-6.0.repo

[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

安装MongoDB

yum install mongodb-org

修改配置文件 /etc/mongod.conf

启动:systemctl start mongod

——————————————————————–

修改密码并开始密码认证

1.修改 /etc/mongod.conf 配置文件

找到:
security:
     authorization: enabled
修改:
#security:
#    authorization: enabled

2.重启mongo

systemctl restart mongod

3.进入mongodb,并进入管理员,删除原管理员

use admin

db.system.users.find()

db.system.users.remove({})

4.重置密码

db.createUser({user:"用户名",pwd:"密码",roles:["root"]})

db.createUser({user:"username",pwd:"password",roles:[{role:"dbOwner",db:"database"}]})

5.打开密码(root)认证,修改 /etc/mongod.conf 配置文件

找到:
#security:
#    authorization: enabled
修改:
security:
    authorization: enabled

6.重启mongo

systemctl restart mongod
MongoDB 中内置角色说明:
read:提供读取所有非系统的集合(数据库)
readWrite:提供读写所有非系统的集合(数据库)和读取所有角色的所有权限
dbAdmin:提供执行管理任务的功能,例如与架构相关的任务,索引编制,收集统计信息。此角色不授予用户和角色管理权限。
dbOwner:提供对数据库执行任何管理操作的功能。此角色组合了readWrite,dbAdmin 和 userAdmin 角色授予的权限。
userAdmin :提供在当前数据库上创建和修改角色和用户的功能。由于 userAdmin 角色允许用户向任何用户(包括他们自己)授予任何权限,因此该角色还间接提供对数据库的超级用户访问权限,或者,如果作用于管理数据库,则提供对群集的访问权限。
clusterAdmin :提供最佳的集群管理访问。此角色组合了 clusterManager,clusterMonitor 和 hostManager 角色授予的权限。此外,该角色还提供了 dropDatabase 操作。
readAnyDatabase :仅在 admin 数据库中使用,提供所有数据库的读权限。
readWriteAnyDatabase :仅在 admin 数据库中使用,提供所有数据库的读写权限
userAdminAnyDatabase :仅在 admin 数据库中使用,提供与 userAdmin 相同的用户管理操作访问权限,允许用户向任何用户(包括他们自己)授予任何权限,因此该角色还间接提供超级用户访问权限。
dbAdminAnyDatabase :仅在 admin 数据库中使用,提供与 dbAdmin 相同的数据库管理操作访问权限,该角色还在整个群集上提供 listDatabases 操作。
root:仅在 admin 数据库中使用,提供超级权限

Centos7 安装minio对象存储

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

把下载来的文件移至 /usr/bin并设置可执行权限

开户防火墙9000端口

export MINIO_ROOT_USER=rootuser
export MINIO_ROOT_PASSWORD=rootpassword
export MINIO_SERVER_URL=http://youdomain.com:9000
/usr/local/src/minio server --config-dir /etc/minio  --console-address :9001 /miniodata

如需要配置ssl证书,只把把证书放至/etc/minio/certs下
文件名为:private.key 和 public.crt 即可

PHP PECL 扩展库安装

https://pecl.php.net/

PECL is a repository for PHP Extensions, providing a directory of all known extensions

搜索下载对应的PHP扩展库原码
#如果不安装php-devel就不会有phpize和php-config

/usr/bin/phpize              # php安装后的路径(不知道位置的可以whereis phpize 查看位置)
./configure --with-php-config=/usr/bin/php-config
make && make install

修改php.ini文件 , 增加如下内容:

extension=XXX.so  #增加对应的扩展库名

重启php-fpm: 或httpd

systemctl restart php-fpm
OR
systemctl restart httpd

KMS激活

cd /d “%SystemRoot%\system32”

slmgr.vbs /skms 172.31.1.168  #ip为你KMS的IP地址或者域名

slmgr.vbs /ato

slmgr.vbs /xpr

———————————————————————————

接着右键点击开始图标,选择【Windows PowerShell(管理员)】,或者【命令提示符(管理员)】;

cd “C:\Program Files\Microsoft Office\Office16”

cscript ospp.vbs /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99

【Office Professional Plus 2016:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99】

【Office Standard 2016:JNRGM-WHDWX-FJJG3-K47QV-DRTFM】

cscript ospp.vbs /sethst:172.31.1.168

cscript ospp.vbs /act

MySQL中导出用户权限设置的脚本

该脚本可以将所有授权数据到当前目录下的sql脚本(grants.sql)中,使用grants.sql脚本刷到数据库中即可完成授权数据迁移(注意:这里导出的数据包含root用户的授权关系,而且导入之后会把目前已有的数据覆盖掉,请确认需要覆盖再进行导入!!):

#!/bin/bash    
#Function export user privileges    
  
pwd=root123
host=localhost
expgrants()    
{  
  mysql -B -h${host} -u'root' -p${pwd} -N $@ -e "SELECT CONCAT('SHOW GRANTS FOR ''', user, '''@''', host, ''';') AS query FROM mysql.user" | mysql -h${host} -u'root' -p${pwd} $@ | sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/-- \1 /;/--/{x;p;x;}'  
}  
expgrants > ./grants.sql 

注意:上述代码中,需要根据实际情况(mysql的root用户的密码)替换pwd的值。将上述代码拷贝后,新建并贴到shell脚本(如exp_grants.sh)中执行该脚本即可完成数据库用户授权导出。