royee

Results 269 issues of royee

关于图片优化,Google Web Fundamentals 的说法被众多的文章引用:“图片优化既是一门艺术,也是一门科学,图片优化是一门艺术,是因为单个图片的压缩不存在最好的特定性方案,而图片优化之所以是一门科学,是因为许多开发得很出色的方法和算法可以明显减小图片的大小。要找到图片的最优设置,需要按照许多维度进行认真分析:格式能力、编码数据内容、像素尺寸等。” 选择图片格式是优化的第一步。我们经常听到的词语包括矢量图、标量图、SVG、有损压缩、无损压缩等等。 jpeg gif png webp svg ![QQ截图20200905143545.png](https://i.loli.net/2020/09/05/3gcXDmdN2oHA1rl.png) 1. 颜色丰富的照片,JPG 是通用的选择 人眼的结构很适合查看 JPG 压缩后的照片,可以充分的忽略并在脑中补齐细节 JPG 在压缩率不高时保留的细节还是不错的,JPEG2000 更是推出了无损压缩 色彩还原好,可以在照片不明显失真的情况下大幅降低体积,照片类的图片、自然风景类的图片最佳选择 WebP 能够比 JPG 减少 30%的体积,但目前兼容性较差 2. 如果需要较通用的动画,GIF 是唯一可用的选择 GIF...

程序

交叉编译 交叉编译linux文件 ```golang set CGO_ENABLED=0 set GOOS=linux set GOARCH=amd64 go build main.go ``` 交叉编译参数 ```golang $GOOS $GOARCH android arm darwin 386 darwin amd64 darwin arm darwin arm64 dragonfly amd64 freebsd...

golang

# CSP并发模型 CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型。 CSP中channel是第一类对象,它不关注发送消息的实体,而关注与发送消息时使用的channel。 # Golang CSP Golang 就是借用CSP模型的一些概念为之实现并发进行理论支持,其实从实际上出发,go语言并没有,完全实现了CSP模型的所有理论,仅仅是借用了 process和channel这两个概念。process是在go语言上的表现就是 goroutine 是实际并发执行的实体,每个实体之间是通过channel通讯来实现数据共享。 # Channel Golang中使用 CSP中 channel 这个概念。channel 是被单独创建并且可以在进程之间传递,它的通信模式类似于 boss-worker 模式的,一个实体通过将消息发送到channel 中,然后又监听这个 channel 的实体处理,两个实体之间是匿名的,这个就实现实体中间的解耦,其中 channel 是同步的一个消息被发送到 channel 中,最终是一定要被另外的实体消费掉的,在实现原理上其实是一个阻塞的消息队列 #...

golang

annotations https://plugins.jetbrains.com/plugin/7320-php-annotations/versions/ 用hyperf 框架方便很多。

swoole

https://www.jianshu.com/p/2e105bcf18b7

php
swoole

```c GET / HTTP/1.1 Host: 192.168.0.10:8080 Connection: Upgrade Pragma: no-cache Cache-Control: no-cache Upgrade: websocket Origin: null Sec-WebSocket-Version: 13 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36...

php
程序

```php first() groupBy pluck 少些一层map last() get() flatten(1) collect(arr) flatMap == map flatten toArray() implode("\n") zip 循环中 用到临时变量 则用map 但这里用到另外个 数组 则用zip方法 reduce() groupBy() sortBy() values() sum 以及高级特性 穿func collect(arr1)−>map(function(item,key)use(arr2){...

php

在PHP中作为客户端与服务器端使用socket进行通信时,一般我们使用fsockopen,但在使用这个函数进行通信时,有时候发现数据的反应时间特别长,更有甚者能达到1分钟。以下是代码片段: ```php

php

大并发下 防缓存失效惊群 ```php public function setByLock($key, $value, $ttl = null,$redis) { if (is_numeric($ttl) && intval($ttl) > 0) { $ttl = intval($ttl); $exp = time() + $ttl; $arg = array("data" =>...

php
redis

在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。 unix socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。这种方式需要再nginx配置文件中填写php-fpm的pid文件位置,效率要比tcp socket高。 tcp socket的优点是可以跨服务器,当nginx和php-fpm不在同一台机器上时,只能使用这种方式。 配置方法 tcp socket tcp socket通信方式,需要在nginx配置文件中填写php-fpm运行的ip地址和端口号。 ``` location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; } ``` unix...

php
nginx_Openresty