源码

Swoft源码之Swoole和Swoft的分析

大兔子大兔子 提交于 2019-12-25 03:40:51
这篇文章给大家分享的内容是关于Swoft 源码剖析之Swoole和Swoft的一些介绍(Task投递/定时任务篇),有一定的参考价值,有需要的朋友可以参考一下。 前言 Swoft 的任务功能基于 Swoole 的 Task机制 ,或者说 Swoft 的 Task 机制本质就是对 Swoole 的 Task机制 的封装和加强。 我的官方群 点击此处 。 任务投递 //Swoft\Task\Task.php class Task { /** * Deliver coroutine or async task * * @param string $taskName * @param string $methodName * @param array $params * @param string $type * @param int $timeout * * @return bool|array * @throws TaskException */ public static function deliver(string $taskName, string $methodName, array $params = [], string $type = self::TYPE_CO, $timeout = 3) { $data = TaskHelper::pack($taskName,

西瓜视频解析原理及源码,使用CRC32的签名算法,获得视频源地址

佐手、 提交于 2019-12-25 03:39:27
这里的视频解析,目的是根据用户在某平台对某一个视频的分享信息,(如一个视频链接),拿到该视频的源地址。 1.解析链接来源 西瓜视频解析的链接来源,可以来自今日头条App,也可以来自于西瓜视频网页或者西瓜视频App。 来源 举例 链接域名 今日头条App https://m.toutiaoimg.com/a6773817552297525771/?app=news_article&is_hit_share_recommend=0 m.toutiaoimg.com 西瓜视频App https://m.ixigua.com/group/6713036790858531331/?app=video_article&timestamp=1577176945&utm_source=copy_link&utm_medium=android&utm_campaign=client_share m.ixigua.com 西瓜视频网页 https://www.ixigua.com/i6697675511759372808/ www.ixigua.com 当拿到一个待解析链接时,可以根据上面的表格明确链接的来源。但是,无论是哪个来源,他们均有一个共同参数,那就是西瓜视频的 itemId 。同时, 不同来源的链接均可以换算为西瓜视频网页链接 。如下: 今日头条App分享链接 https://m

区块链技术开发路线

僤鯓⒐⒋嵵緔 提交于 2019-12-25 03:39:03
〇、背景陈述:      已经对区块链领域的学习研究了一段时间。总体来说,前期主要是围绕bitcoin架构及其源码学习的,但对这个领域的技术开发还是不太熟悉。为了使自己对区块链领域有一个系统的学习和技术锤炼,特此总结了如下技术开发路线,来逐渐充实自己的区块链开发知识体系。   这篇博文主要是对之后的技术开发路线做一个清晰的规划。   对于一个古典互联网人如何进入区块链呢?我觉得比较现实的有两种姿势。           一种是信仰,说实话,当前阶段不炒币来做区块链特别是公链的人,那真的需要信仰啊, 公链要技术上能投入实用,要把生态建立起来需要很长的过程,能耐住性子,经历创业九死一生,那不是信仰又是什么呢?这样的人值得尊敬,因为他们推动了真正的技术进步。   另一种是实用,深圳前不久开出了第一张基于区块链的发票, 现在要想做联盟链相关 的项目,其实真的机会很多,技术也相对的成熟,做做项目养家糊口很实际啊,这里区块链跟其它技术没什么两样。    作为一名比较务实的技术开发人员,为了谋生而将主要精力放在Hyperledger Fabric(联盟链)的开发上,是一个比较稳健的选择。但是对于区块链的鼻祖——比特币的学习,我认为又是不可或缺的。比特币相当于公链,相对于以太坊来说,比特币是属于比较早期的区块链。我们学习比特币主要在于对区块链的经典技术原理有一个较全面的认识和积累。  

CENTOS6.6下mysql5.6的源码安装

我只是一个虾纸丫 提交于 2019-12-25 03:22:26
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 1、下载:当前mysql版本到了5.6.28 http://dev.mysql.com/downloads/mysql 选择Source Code wget http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.28.tar.gz 2、必要软件包 yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake 3、编译安装 添加用户 groupadd mysql useradd -r -g mysql mysql 编译安装 tar -zxvf mysql-5.6.28.tar.gz cd mysql-5.6.28 默认情况下是安装在/usr/local/mysql cmake . make && make install 编译参数 cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \

Java写的斗地主游戏源码

≡放荡痞女 提交于 2019-12-25 02:32:28
源码下载在最后 我们的前年的课设要求做一个斗地主程序,当时正在愁如何做界面,当时刚好在学习C#,于是就用C#完成了这个程序。 一方面,当时我C#功底还很差(其实现在也不怎么样),很多地方用了“笨办法”,实现的比较幼稚,程序效率很低,另一方面感觉很对不起老师,因为做这个程序的本意是研究斗地主程序的AI出牌等等算法相关的东西,而我却几乎忽略了这些内容。(我会好好学习算法的……^-^) 最可怕的是,由于当时时间比较紧,只有几天的时间,所以我本着“能跑就行”的想法完成了这个程序。从程序本身来说,我觉得我的代码几乎没有任何参考价值,满篇的switch...case...,乱七八糟的结构,而且最可怕的是,所有代码几乎都集中在了一个mainform.xaml.cs文件里。。。太恐怖了。我一直为我会写出这样的代码感到羞耻……因此也就没敢发布这些源码。 最近又在研究Java,做另外的项目,看了看以前的代码,觉得虽然代码很烂,但有些地方的处理还是有一定意义的,毕竟这也算是个中小游戏应用,于是又用JAVA重写了一遍, 发上来和大家分享。如果能对你的学习或者工作起到任何作用,我都会非常高兴。 此源码完全自由使用,你可以利用它做任何事情,包括商业应用,而不需要提前通知我。 这次采用的是JAVA8 ,最新发布的JAVA版本, IDE是netbeans,一共有80MB左右大小,体积不大,安装也容易

java-五子棋游戏源码

痴心易碎 提交于 2019-12-25 02:31:53
代码如下 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JOptionPane; public class FiveChessFrame extends JFrame implements MouseListener, Runnable { private static final long serialVersionUID = 1L; int width = Toolkit.getDefaultToolkit().getScreenSize().width; int hight = Toolkit.getDefaultToolkit().getScreenSize()

java语言-俄罗斯方块Java源码案例

本秂侑毒 提交于 2019-12-25 02:31:42
只提供参考 源码 import java.awt.*; import java.applet.Applet; public class Blocks extends Applet implements Runnable { Dimension d; Font largefont= new Font("Helvetica", Font.BOLD, 28); Font smallfont= new Font("Helvetica", Font.BOLD, 10); Color textcolor1=new Color(96,128,255); Color textcolor2=new Color(255,160,64); FontMetrics fmsmall, fmlarge; Graphics goff; Image ii; Threadthethread; boolean ingame=false; final short xblocks=10; final short yblocks=20; final int blocksize=16; final int width=xblocks*blocksize; final int height=yblocks*blocksize; short[][] screendata; final short maxcolors=6;

深入java并发包源码(一)简介

家住魔仙堡 提交于 2019-12-25 02:01:44
深入java并发包源码(一)简介 深入java并发包源码(二)AQS的介绍与使用 深入java并发包源码(三)AQS独占方法源码分析 阅读本文章前需要了解 CAS 操作是什么。 首先大致介绍一下需要讲到的几个类,只需要理解这几个类是什么关系即可,后面会有详细解析。 Unsafe :这个类提供了 native 方法,未开源,提供了线程阻塞和唤醒,原子操作等方法。 LockSupport :包装了一层 Unsafe 类,非常类似于代理者模式,将在 Unsafe 类中的线程挂起唤醒等操作导出,避免将 UNSAFE 类引入代码造成复杂性上升,并且降低了耦合。 首先我们看一下以 ReentrantLock 为代表的并发工具与 JUC 底层类的关系。 AQS 类:用 Unsafe 类的 CAS 操作和 LockSupport 来实现锁的等待,具体实现在后面会分析。 ReentrantLock :实现了 Lock 接口,持有自定义的 AQS 内部类,通过 AQS 内部类实现锁的操作,然后将 AQS 映射到 Lock 接口上。 接下来仔细介绍一下这些类的实现 Unsafe Unsafe 类有相当多的功能,比如内存管理,线程同步,对类和数组进行一些骚操作 。想要获取这个类需要用到利用 Java 反射。本篇文章只介绍一些关于并发的操作。 如果有兴趣可以去看一下这篇博客 说一说Java的Unsafe类

《STL源码剖析》——第七、八章:仿函数与接配器

南楼画角 提交于 2019-12-25 01:03:37
第七章:仿函数 7.1 、仿函数(函数对象)概观 STL仿函数的分类,若以操作数(operand)的个数划分,可分为一元和二元仿函数,若以功能划分,可分为算术运算 ( Arithmetic)、关系运算 ( Rational)、逻辑运算 ( Logical)三大类。任何应用程序欲使用STL内建的仿函数,都必须含人<functiona1>头文件,SGI则将它们实际定义于<st1_function.h>文件中。以下分别描述。 重载 () 所以函数的对象 使用()像函数调用 是类 而不是普通的函数 内部记录状态: 作为类型 与模板进行配合使用 1、函数对象通常不定义构造函数和析构函数,所以在 构造和析构时不会发生 任何问题,避免了函数调用的运行时问题。 2、函数对象超出普通函数的概念,函数对象可以有自己的状态 3、函数对象 可内联编译,性能好 。用 函数指针几乎不可能 4、模版函数对象使函数对象具有通用性,这也是它的优势之一 7.2 、可配接( adaptable )的关键 unary_function unary_function用来呈现一元函数的参数型别和回返值型别。其定义非常简单: binary_function binary_function 用来呈现二元函数的第一参数型别、第二参数型别,以及回返值型别。其定义非常简单: 7.3 、算术类( Arithmetic )仿函数

零起步5-CentOS7.6源码编译安装git-2.24.1

我是研究僧i 提交于 2019-12-25 00:43:37
安装 git-2.24.1 准备工作1: 下载安装包及相关依赖,git有几个依赖 openssl openssl-devel curl-devel expat-devel,已安装的不用重复安装 [root@localhost ~]# wget https://github.com/git/git/archive/v2.24.1.tar.gz [root@localhost ~]# yum install expat-devel openssl openssl-devel curl-devel -y 编译安装 [root@localhost ~]# tar zxvf v2.24.1.tar.gz [root@localhost ~]# cd git-2.24.1/ [root@localhost git-2.24.1]# make prefix=/usr/local/git all [root@localhost git-2.24.1]# make prefix=/usr/local/git install [root@localhost git-2.24.1]# cd .. 配置环境变量 ,添加git用户和组(禁用shell登录) [root@localhost ~]# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc