随着时代的进步,科技的发展。
我们进入了所谓信息大爆炸、信息过载的时代。因此,在浩如繁星的书籍中找到好书就变得非常困难。
矛和盾虽然对立,同时也是一起发展和进步的,科技发展也带来了更便捷的沟通和交流方式,也有了效率更高的信息检索方式。
我们比古人幸运多了,只要明白自己的需求和目标,就很容易找到适合自己的书籍。
那么,如何能够拥有一本书呢?
no Pain no Gain no Gavin
随着时代的进步,科技的发展。
我们进入了所谓信息大爆炸、信息过载的时代。因此,在浩如繁星的书籍中找到好书就变得非常困难。
矛和盾虽然对立,同时也是一起发展和进步的,科技发展也带来了更便捷的沟通和交流方式,也有了效率更高的信息检索方式。
我们比古人幸运多了,只要明白自己的需求和目标,就很容易找到适合自己的书籍。
那么,如何能够拥有一本书呢?
Mac使用SourceTree项目的GIT密码始终保存不到Mac的钥匙串中,明明在钥匙串中是存在的.但是在使用sourceTree pull/push代码的时候还是需要再输入密码,很是繁琐.
于是,网上搜索了一下,说的在https模式下,Mac需要使用osxkeychain凭据助手,并在Git中设置使用. 并且如果已经安装了brew
的应该会自带了osxkeychain
.但是奇怪的是,我安装了brew的,使用brew安装应用也没有问题.那就只能手动的再设置一次了.
git-credential-osxkeychain
curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
git-credential-osxkeychain
放入 bin目录mv git-credential-osxkeychain /usr/local/bin
git-credential-osxkeychain
赋权限chmod u+x /usr/local/bin/git-credential-osxkeychain
git config --global credential.helper osxkeychain
经过上面的设置,下次访问https的项目时只需要输入一次密码,就会存储到osx的钥匙串中了,以后再也不会在Git中询问了.
function b64ToUint8Array(b64Image) { var img = atob(b64Image.split(',')[1]); var img_buffer = []; var i = 0; while (i < img.length) { img_buffer.push(img.charCodeAt(i)); i++; } return new Uint8Array(img_buffer); } var b64Image = canvas.toDataURL('image/jpeg'); var u8Image = b64ToUint8Array(b64Image); var formData = new FormData(); formData.append("image", new Blob([ u8Image ], {type: "image/jpg"})); var xhr = new XMLHttpRequest(); xhr.open("POST", "/api/upload", true); xhr.send(formData);
用上面这种方式在前端通过js处理,server端不需要进行任何额外处理。
我认为是最方便最直接的办法,反而很多高赞回复,需要server进行各种处理,不推荐。
Had to convert canvas Base64-encoded image to Uint8Array Blob
.
参考:https://stackoverflow.com/questions/13198131/how-to-save-an-html5-canvas-as-an-image-on-a-server
配置比较低的虚拟主机,不管是搭在CentOS还是Ubuntu上,Wordpress都会定期出现“建立数据库连接时错误”,那是因为PHP-FPM子进程过多,吃光了内存,MySQL的进程就被干掉了。
通过 netstat -tunlp 发现是MySQL的进程被干掉了,如果service mysqld restart 还重启不了,简单粗暴点就直接reboot。
解决方案
编辑 php-fpm.conf 文件,控制PHP-FPM的子进程数。
1、找到php安装目录etc目录下的 php-fpm.conf 文件:
vim /etc/php-fpm.d/www.conf
2、找到 pm 、pm.start_servers 、pm.min_spare_servers 、pm.max_spare_servers 这几项参数,修改参数的值。pm = dynamic #php-fpm以动态模式运行,动态模式适合内存较小的服务器
pm.start_servers = 3 #动态模式下,php-fpm的起始进程数
pm.min_spare_servers = 3 #动态模式下,php-fpm的最小进程数
pm.max_spare_servers = 10 #动态模式下,php-fpm的最大进程数
3、重启php-fpm
service php-fpm restart
参考:
https://www.centos.bz/2017/12/wordpress%E5%AE%9A%E6%9C%9F%E5%87%BA%E7%8E%B0%E5%BB%BA%E7%AB%8B%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E6%97%B6%E5%87%BA%E9%94%99%E9%97%AE%E9%A2%98%E7%9A%84%E8%A7%A3%E5%86%B3/
https://www.simcf.cc/4671.html