技术圈开发者交流群:

ThinkGo:一个轻量级的 Go 语言 MVC 框架

ThinkGo 是一个轻量级的 Go 语言 MVC 框架,目前支持路由、中间件、控制器、请求、响应、Session、视图、日志、缓存、ORM等 web 框架应该具备的基本功能,ThinkGo致力于让代码简洁且富于表达力,帮助开发者快速构建一个 Web 应用。

  • 简洁的路由,支持参数注入
  • 强大的路由中间件,支持前置/后置中间件
  • Session支持,支持cookie、redis及自定义存储
  • 强大的日志服务,支持多通道存储,遵循RFC 5424规范。
  • 缓存,支持memory、redis及自定义缓存驱动
  • 简洁的ORM,能使用原生 SQL、流畅的查询构造器
go get github.com/thinkoner/thinkgo
GoLang 2019年02月12日 20472

PHP -Casbin: 支持 ACL、RBAC、ABAC 多种模型的 PHP 权限管理框架

PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架( https://github.com/php-casbin/php-casbin ),目前在 GitHub 开源。PHP-Casbin 采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC、基于属性的访问控制 ABAC 等。

1.支持自定义请求的格式,默认的请求格式为{subject, object, action};

2.具有访问控制模型 model 和策略 policy 两个核心概念;

PHP 2018年11月01日 73244

PHP中字符串与byte字节数组的互相转化

经常会看到java里的这样的类型:

byte[] IV = { 0, 0, 0, 0, 0, 0, 0, 0 }

可惜的是,php作为弱类型语言,并没那么丰富的类型,下面提供了PHP中字符串与byte字节数组的互相转化的实例:

PHP 2018年09月21日 71283

Laravel 开启跨域功能

人在江湖走,哪有不湿鞋?

经常做api开发的的时候,总会遇到跨域的情况,特别是前后端完全分离的情况,为什么会这样呢?

出于安全性的原因,浏览器会限制 Script 中的跨域请求。由于 XMLHttpRequest 遵循同源策略,所有使用 XMLHttpRequest 构造 HTTP 请求的应用只能访问自己的域名,如果需要构造跨域的请求,那么开发者需要配合浏览器做出一些允许跨域的配置。

解决办法有很多,主要说下两种:

PHP 2018年08月29日 77630

PHP7版的Des加解密,支持ECB,CBC等模式,兼容java、C#

最近对接一大堆接口,找了各种des加解密,很多都是php7以下的,要知道mcrypt_decrypt此类的方法再php7以上已经过时或废除了

Warning
This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.
PHP 2018年08月24日 425308

使用GoLang语言爬虫,goquery+MongoDB爬取搜狗微信热点文章

goquery是一个使用go语言写成的HTML解析库,可以让你像jQuery那样的方式来操作DOM文档,使用起来非常的简便。

闲话少说,直接上代码:

package main

import (
    "gopkg.in/mgo.v2"
    "github.com/PuerkitoBio/goquery"
    "log"
    "gopkg.in/mgo.v2/bson"
)

type Article struct {
    Title      string
    Decription string
    Image      string
    Author     string
    Time       string
}

func main() {
    getArticle()
}

func getArticle() {

    //连接MongoDB数据库
    session, err := mgo.Dial("")
    if err != nil {
        panic(err)
    }
    defer session.Close()

    session.SetMode(mgo.Monotonic, true)
    c := session.DB("test").C("article")

    //使用goquery开始抓取
    doc, err := goquery.NewDocument("http://weixin.sogou.com/")
    if err != nil {
        log.Fatal(err)
    }

    //编辑文章节点
    doc.Find(".news-list li").Each(func(i int, contentSelection *goquery.Selection) {

        //文章标题
        title := contentSelection.Find(".txt-box h3 a").Text()
        decription := contentSelection.Find(".txt-box .txt-info").Text()
        image, _ := contentSelection.Find(".img-box img").Attr("src")
        author := contentSelection.Find(".txt-box .account").Text()
        time, _ := contentSelection.Find(".txt-box .s-p").Attr("t")

        result := Article{}

        //是否已经保存过该文章
        err = c.Find(bson.M{"title": title}).One(&result)

        if err != nil {
            log.Println("第", i+1, "篇文章:", title)
            //保存至数据库
            err = c.Insert(&Article{title, decription, image, author, time})
            if err != nil {
                panic(err)
            }
        }
        log.Println(result)
    })
}
GoLang 2018年08月21日 49151

Thinkphp5中配置XHProf性能分析工具

ThinkPHP中的行为是一个比较抽象的概念,你可以把行为想象成在应用执行过程中的一个动作。

不熟悉的xhprof的,请参考前一篇文章:http://www.tech1024.com/original/2990.html

如果你还不了解thinkphp的钩子行为,可以参考手册:https://www.kancloud.cn/manual/thinkphp5_1/354129

首先,我们在application/tags.php文件中,定义性能分析的行为,分别绑定在app_initapp_initApp初始化标和应用结束的钩子上:

PHP 2018年08月12日 65919

XHProf,PHP性能分析利器,快速定位代码瓶颈

很多项目,还没到考虑性能的时候就夭折了,而你项目是否到了要考虑性能优化的时候了?

经常会有人问,我的cpu正常,内存正常,数据库正常,可网站打开为什么就是?为什么就是

在当今硬件如此廉价的时候,也许考虑代码性能并非必要,要么人遭罪,要么钱遭罪,8G不够换16G,一台不行,加两台。。。

这种拿空间换时间的做法,固然可以,但并非长久之计。

PHP 2018年08月01日 54943

PHP设计模式——简单工厂模式(Simple Factory)

工厂主要有三种模式:抽象工厂、简单工厂、工厂方法,本文所说的是简单工厂模式,其他两种模式也是大同小异。

项目中,在不确定有多少种处理操作时,可以用简单工厂模式。

比如:

PHP 2018年05月09日 65210

PHP设计模式——单例模式(Singleton)

简单说来,单例模式的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个,同时这个类还必须提供一个访问该类的全局访问点。

数据库连接器(mysql|Oracle|sqlServer);

PHP 2018年05月09日 400773

排行

解决方案

网站建设

专业企业官网建设,塑造企业形象,传递企业价值

系统开发

系统软件开发,用心思考,用心设计,用心体验

技术支撑

打破技术瓶颈,让不堪重负的项目起死回生

业务中台

构建全渠道一体化运营能力,实现全链路数字化

文案策划

文案撰写、营销策划,专注品牌全案

新媒体运营

一站式解决企业互联网营销痛点和难题

以技术的力量,改变互联网

联系我们
鄂ICP备19028750号-1 @copyright 2024 tech1024.com