Code Monkey home page Code Monkey logo

blog's Introduction

blog's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

blog's Issues

更准确的 PHP 汉字转拼音解决方案 - overtrue

https://overtrue.me/articles/2014/10/php-chinese-to-pinyin.html

到目前为止这可能是最准确的一个解决方案了,大GitHub上各种找,没有一个好用的,大部分都只是汉字转拼音,所以包含多音字的结果基本都错误。当然也有基于词典的转换工具,不过还是解决不了词库不全造成的多音字问题(当然,完全解决是不太可能的,或者词库会无比的大)。比如康熙来了 大部分工具的试用结果是:kang xi lai liao. 基于上面的原因,我造了下面这个轮子。特点如下: 基于CC-CEDICT.词典,解决大部分词汇问题; 添加补充词典,解决CC-CEDICT不全或者不准确的问题; 添加词频表,根据使用频率再一步提高多音字的准确度; Pinyin 主页:http://overtrue...

处理 Laravel 5 默认事件 - overtrue

https://overtrue.me/articles/2015/04/laravel-login-event-handler.html

Laravel 提供了很多默认事件,登录登出、数据库连接与查询、应用启动前后、缓存等等很多默认事件,本篇以用户登录事件来演示如何处理 Larvel 5 的默认事件。 我们的目的:处理用户登录事件,在用户登录的时候给用户添加最后登录时间(last_login_at),以及最后登录的IP(last_ip) 用户的登录事件在 Laravel 5 里的事件名称是 auth.login。 第一步:创建事件处理器 Laravel 5 里直接使用命令即可创建一个事件处理器: php artisan handler:event AuthLoginEventHandler AuthLoginEventHa...

GitHub windows 客户端报 https 错误解决办法 - overtrue

http://127.0.0.1:4321/articles/2014/10/github-windows-https-error.html

今天上午在家里的台式机上更新GitHub客户端后发现无法clone了,后来打开git shell 去clone,发现报错如下: XXXXXX,Protocol https not supported or disabled in libcurl 网上找了半天终于找到一个SourceTree同样问题的解决方法,应该是win7 64位自带的”libcurl.dll”,对于https的某些限制导致的。搜索GitHub安装目录的libcurl.dll: C:\Users\你的用户名\AppData\Local\GitHub\PortableGit_7eaa994416ae7b397b262803...

我所理解的 PHP Trait - overtrue

http://127.0.0.1:4321/articles/2016/04/about-php-trait.html

Trait 是从 PHP 5.4 加入的一种细粒度代码复用的语法。以下是官方手册对 Trait 的描述: Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。 Trait 和 Class 相似,但仅仅旨在用细粒度和一致的方式来组合功能。 无法通过 trait 自身来实例化。它为传统继承增加了水平特性的组合;也就是说,应用的几个 Class 之间不需要继承。 什...

关于 Composer 版本约束表达式的使用 - overtrue

http://127.0.0.1:4321/articles/2017/08/about-composer-version-constraint.html

相信 Composer 对你来说已经相当熟悉了,不过对于包的版本,我觉得应该还有不少同学不是那么清楚各种写法到底是啥意思。 语义化版本 首先,我们来了解一个东西:语义化版本 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正。 先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 语义化版本一般我们使用 3 个部分来表示一个版本,例如:1.4.23,1 为主版本号,4 为次版本号,23 为修订号或者补丁版本号。当然你肯定也见过 1....

如何在 And Design Pro 或 UmiJS 中使用 tailwindcss - overtrue

https://overtrue.me/articles/2020/01/use-tailwindcss-in-and-design-pro.html

最近打算给已有的项目做个管理后台,找了一圈以后开箱即用又好看的,实属 Ant Design Pro 了,就像它的 Slogan 一样:“开箱即用的中台前端/设计解决方案”。不过对于 React 还不算入门的我,一路摸着石头过河,作为 Tailwindcss 死忠粉,尝试了再 Ant Design Pro 中集成它,这里分享出来给同样喜欢这俩的朋友。 Ant Design Pro 是基于 UmiJS 构建的,所以,如果你在使用 UmiJS,方法是完全一样的。 安装 tailwindcss 和常用 postcss 插件 $ yarn add tailwindcss postcss-impor...

一种 Laravel 中简单设置多态关系模型别名(Polymorphic Types)的方式 - overtrue

https://overtrue.me/articles/2019/10/a-easy-way-to-set-laravel-morph-map.html

作为 Laravel 的重度使用者肯定都对多态关系不默生,以官方文档为例,文章有标签,视频有标签,那么文章和视频这些模型与标签模型的关系就是多态多对多(Many To Many (Polymorphic)) 如果我们给 ID 为 1 的文章打上两个标签,数据库标签关系表的的存储结果就是这样子: > select * from taggables; +--------+-------------+---------------+ | tag_id | taggable_id | taggable_type | +--------+-------------+---------...

从 WordPress 到 GitHub Pages - overtrue

https://overtrue.me/articles/2014/09/form-wordpress-to-github-pages.html

从10年开始玩博客,一直用WordPress,也自己写过一些主题与插件,比如:wp auto top(博客侧边滑动,返回顶部,查看评论的小工具)、WP CN Excerpt(WordPress高级摘要插件)、Quick Adsense cn(广告位管理插件)、Let’s kill IE6(IE6用户提示用户升级浏览器)等。 但是工作以来,发现没有太多时间去折腾它了,由其是在搬几次服务器以后数据被黑客弄丢了不少,然后就更没有信心去写博客了。从去年到今天,也终于完成了把博客从WordPress换成GitHub Pages这个计划,同时也换了新的网名overtrue和域名overtrue.me...

使用 PHP 脚本远程部署 git 项目 - overtrue

https://overtrue.me/articles/2015/01/how-to-deploy-project-with-git-hook.html

2015第一篇文章,没啥技术含量,权当作个笔记。 我们通常在一些git托管网站托管我们的代码,除了大家耳熟能详的GitHub, 还有国外的Bitbucket等,国内的开源**、Coding等都是不错的选择。 今天以Coding上私有库的部署为例来讲解如何使用Coding的hook服务来自动部署到生产环境的服务器。 准备工作 在Coding.net上创建一个私有库 安装了web服务与git服务的服务器 在服务器上 1.创建web服务器用户目录,这里以apache用户为例,不同的环境请根据自己环境自行修改: sudo mkdir /var/www/.ssh sudo chown -R apa...

在 Laravel 外使用 Eloquent(一) - overtrue

https://overtrue.me/articles/2014/10/using-eloquent-outside-laravel.html

不得不承认Laravel的Eloquent是一个很棒的ORM,其实Laravel框架的设计本身结构使用的是subtree实现(外层使用的git-subsplit) , 也就是说Eloquent是独立的模块,我们也可以在自己的项目里通过composer来使用Eloquent,本文就详细讲解如何在自己的项目集成Eloquent。 安装 首先我们得有composer,安装方法请详见:https://getcomposer.org/doc/00-intro.md 可能没有翻墙的情况下使用composer会比较慢,那么这里同样有福利:http://pkg.phpcomposer.com/ 。 我们...

PHP 的弱类型实现 - overtrue

https://overtrue.me/articles/2014/10/php-variable-principle.html

PHP 是弱类型,动态的语言脚本。在申明一个变量的时候,并不需要指明它保存的数据类型。例如: <?php $var = 1; $var = "variable"; $var = 1.00; $var = array(); $var = new Object(); 动态变量,在运行期间是可以改变的,并且在使用前无需声明变量类型。 问题一、Zend引擎是如何用C实现这种弱类型的呢? 实际上,在PHP中声明的变量,在ZE中都是用结构体zval来保存的。 首先我们打开Zend/zend.h来看zval的定义: typedef struct _zval_struc...

MySQL 中 EXPLAIN 命令详解 - overtrue

https://overtrue.me/articles/2014/10/mysql-explain.html

EXPLAIN 显示了 MySQL 如何使用索引来处理 SELECT 语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在 select 语句前加上EXPLAIN就可以了: 如: EXPLAIN SELECT surname,first_name FORM a,b WHERE a.id=b.id EXPLAIN列的解释: 列 描述 table 显示这一行的数据是关于哪张表的。 type 这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为 const、eq_reg、ref、range、index和ALL。 possible...

博客搭建问题

超哥,我想用你这个代码搭建一个博客,服务器上装了node/npm/bower,也install了,首页还是乱码,能说一下需要哪些步骤吗?我当前的服务器环境是LNMP。

Laravel 中如何更方便的修改 Passport Personal Access Token 过期时间 - overtrue

https://overtrue.me/articles/2018/11/set-expired-at-for-laravel-passport-personal-access-token.html

认真看过 Laravel Passport 文档 的人应该知道,它的 Personal Access Token 是不支持自定义过期时间的,tokensExpireIn 对此类 token 无效,原文如下: Personal access tokens are always long-lived. Their lifetime is not modified when using the tokensExpireIn or refreshTokensExpireIn methods. 默认时间为 1 年,但是这可能不满足我们的需求,我们想要改成其它更短的时间怎么办呢?今天尝试了一下,应该...

又一篇 Deployer 的使用攻略 - overtrue

https://overtrue.me/articles/2018/06/deployer-guide.html

其实网上有相当多的关于 Deployer 的使用教程,在这个社区也有不少同学写过,不过发现很难找到一个完整能跑通的文章,所以希望今天写这篇是一个小白就能完整走通的教程吧,当然了,这是回忆加参考外文写出来的,难免也有失误,欢迎小白同学在下面反馈使用过程中遇到的问题为谢! 基础知识 在开始之前,有必要了解一下 Deployer 是一个什么样的东西。 Deployer 是一个基于 SSH 协议的无侵入 web 项目部署工具,因为它不需要你在目标服务器上装什么服务之类的东西即可使用,它只需要在你的开发机,或者你的笔记本,就是发起部署动作的一方安装即可。 它的原理就是通过 SSH 到你的机器去创建...

npm 代理安装依赖 - overtrue

https://overtrue.me/articles/2016/03/npm-proxy.html

虽然已经使用了淘宝 npm 镜像, 但是有一些包的下载地址在国外,比如 phantomjs 的下载地址是 https://bitbucket/xxxx, 没有代理的话还是会卡在这里。 我们可以使用 bitinn/kneesocks 来支持 npm 的 socket 代理,它的作用按我的理解是生成一个本地的 HTTP 代理。 安装: $ npm install kneesocks --production -g 创建本地代理: kneesocks PORT1 PORT2 这里需要说明一下,PORT1 为一个未被使用的新端口,用于 kneesocks 监听,PORT2 是已经存在的本地代理,...

Config Zsh On Osx - overtrue

https://overtrue.me/articles/2014/10/config-zsh-on-osx.html

之前在看jeffway的laravel教程的时候发现他演示用的终端特别漂亮,有一个云朵一样的标志,然后就一直找不到是怎么弄的,好在今天在GitHub上看到了zsh(不过打开页面的时候我已经发现我star过了… 🙈 ) 将bash切换为zsh chsh -s /bin/zsh 其实还可以用which来定位(特别是ubuntu的童鞋) chsh -s which zsh 直接用zsh会很蛋疼,因为zsh功能很强大但是太复杂,所以需要oh-my-zsh来将它简单化。如果要切换回bash: chsh -s /bin/bash 下载oh-my-zsh 直接用git从gi...

Laravel 获取当前控制器名称或方法 - overtrue

https://overtrue.me/articles/2015/03/get-current-controller-of-laravel.html

我们有时候需要获取当前 Laravel 项目的控制器或者方法名,框架默认是不会提供单独的方法的,框架只提供了如下的方法: \Route::current()->getActionName(); 返回的结果是: App\Http\Controllers\WelcomeController@index 可是这不是我们想要的,我们只想获取控制器名或者方法名,那么,你可以自定义下面三个函数来实现: /** * 获取当前控制器名 * * @return string */ public function getCurrentControllerName() { return getC...

laravel-mongodb 拓展与 MySQL 关联问题 - overtrue

https://overtrue.me/articles/2014/12/laravel-mongodb-field-type-bug.html

当我们在存储mongo数据的时候,整型字段存储的值为NumberLong格式,那么如果这个id来自于MySQL,在使用MySQL模型与MongoDB关联查询时就会踩到这个坑,从jenssegers/laravel-mongodb生成的SQL可以看到类似这样的结果: ...{"object_id":{"$in":["13", "15"]}}... 可是我们的期望是: ...{"object_id":{"$in":[13, 15]}}... 这里的13、15是MySQL里的...

让你的 Laravel 应用与官方保持同步 - overtrue

https://overtrue.me/articles/2015/06/sync-your-laravel-project.html

解决什么问题? 我们在用着 4.2,过了一段时间作者发布了 5.0,项目可能还没开发完,然后你又像我一样是一个不升级不舒服斯基,那么用升到最新版是你接下来要忙碌的事情。因为你不知道 4.2 ~ 5.0 变化了多少。所以你不可能手动一个个加上或者删除、修改。有的人可能是备份,然后用新版建立一个项目:composer create-project laravel/laravel ,然后把原来自己的代码考过来,然而,变化不一定只是文件新增或者删除啊,可能是原来文件里改了一行,你却没法知道。所以这就头疼了。那么下面我就分享一个超简单的办法来解决这个问题: 首先我们使用的是 git,如果你不熟悉它...

关于 | overtrue

https://overtrue.me/about/

安正超
男 90 后
Web 开发者,热爱开源,Laravel 脑残粉,重度代码洁癖患者。
综合技能

名称
熟悉程度

PHP
★★★★★

CSS
★★★☆☆

Javascript
★★★★☆

Linux
★★★☆☆...

我写了一份 PHP 拓展包开发教程 - overtrue

https://overtrue.me/articles/2018/12/php-package-develop-tutorial.html

这里所谓的拓展包,其实就是指的 Composer 包啦,很多人其实都有想去做自己的拓展包,但是又不知道从何下手,所以,作为一个还算熟悉的拓展包开发者当然有这个责任将这个技能分享给大家了。 下图是目录结构,感兴趣的同学可以花 ¥20 元学习一下(毕竟我写了两个周,就当请我喝杯咖啡啦)。 课程链接:https://laravel-china.org/courses/creating-package

Summernote 图片上传到服务端实现方式 - overtrue

http://127.0.0.1:4321/articles/2016/11/summernote-image-upload-to-server.html

Summernote 默认使用 data-url 形式来存储编辑器内的图片,稍大一些的图片生成的 data URIs 就会特别长特别长,几度让我的 chrome 出现:net::ERR_INCOMPLETE_CHUNKED_ENCODING 的报错。 为了将其改为上传到服务器端然后插入 img 标签的形式,我们需要做一些小小的自定义,下面的一段简单的代码即可达到此目的: jQuery(document).ready(function($) { //upload image in description $('#description').summernote({ height: 300,...

你再也不用为装不上 Laravel 而痛苦了 - overtrue

https://overtrue.me/articles/2014/10/easy-install-laravel.html

为了解决很多朋友不会安装laravel的问题,尤其是不会翻墙不会装composer、不会装openssl,还不会配置php的刚入门的同学,特定搞了一台DO机器来做了这个项目:overtrue/Latest-laravel,每天更新master(4.2)与develop(5.0)分支。 每天早上 8:30 自动更新laravel到最新版并安装完成后打包上传到GitHub, 这回真的是妈妈再也不用担心你的laravel学习了。 更多详情: overtrue/Latest-laravel 对了!别忘记点 star 😋 赞助 本项目运行在DigitalOcean机器上,如果您觉得对你有帮...

MySQL 性能优化小结 - overtrue

https://overtrue.me/articles/2014/10/mysql-performance-optimization-summary.html

一.数据库设计和查询优化 Schema设计时主要考虑:标准化,数据类型,索引. 一个数据库设计可以混合使用,一部分表格标准化,一部分表格非标准化.(非标准化表格适当冗余) 最优的数据类型,使表在磁盘上占据的空间尽可能小,读写快,占用内存少.(索引也尽量建立在较小的列上) 正确索引,提高Select,Update,Delete性能. 不同的Sql不同的优化方案 Explain Sql查看结果,分析查询. 查询使用匹配的类型. 使用long-slow-queries记录较慢查询,分析优化. 二.服务器端优化 安装适当的MySql版本. 如果服务器使用Intel处理器,使用Intel C++版...

sudo -Hu 执行时找不到命令的问题解决 - overtrue

https://overtrue.me/articles/2015/05/cannot-find-command-sudo-hu.html

虽然在 /etc/profile 中加了全局 PATH,但是在以 sudo -Hu [username] [command] 执行的时候报命令不存在,原因是 /etc/sudoers 中还有一个 secure_path 没修改: visudo 查找 secure_path,加入你要添加的目录,比如 /usr/local/bin: Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin 改为: Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin 即可。

关于 Composer 版本约束表达式的使用 - overtrue

http://127.0.0.1:4321/articles/2017/08/about-composer-version-constraint.html

相信 Composer 对你来说已经相当熟悉了,不过对于包的版本,我觉得应该还有不少同学不是那么清楚各种写法到底是啥意思。 语义化版本 首先,我们来了解一个东西:语义化版本 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正。 先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 语义化版本一般我们使用 3 个部分来表示一个版本,例如:1.4.23,1 为主版本号,4 为次版本号,23 为修订号或者补丁版本号。当然你肯定也见过 1....

PinYin库升级到4.0后所有拼音里有a的都无法转换!

$a = $pinyin->convert('带着希望去旅行,比到达终点更美好');

print_r($a);
`

Array
(
[0] => d�
[1] => i
[2] => zhe
[3] => xi
[4] => w�
[5] => ng
[6] => qu
[7] => lyu
[8] => xing
[9] => bi
[10] => d�
[11] => o
[12] => da
[13] => zhong
[14] => dian
[15] => geng
[16] => mei
[17] => hao
)

换回3.0又没有这个问题了

centos 编译安装最新版 Git - overtrue

https://overtrue.me/articles/2015/05/install-latest-git-on-centos.html

安装依赖包 yum -y install zlib-devel curl-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib autoconf tk perl-ExtUtils-MakeMaker 获取最新版 Git 源码包 从 https://github.com/git/git/releases 下载最新版的 zip 包或者 tar.gz 并解压: 以 tar.gz 格式为例(在网页的 tar.gz 上右键复制下载链接即可): wget https://github.com/git/git/arch...

棒棒哒

Longest streak
210 days
March 10 – October 5
echo "超超你的时间真长!“

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.