Author: admin

Ramda函数式编程之PHP

0x00 何为函数式编程

网上已经有好多详细的接受了,我认为比较重要的有:

  1. 函数是“第一等公民”,即函数和其它数据类型一样处于平等地位
  2. 使用“表达式”(指一个单纯的运算过程,总是有返回值),而不是“语句”(执行操作,没有返回值)
  3. 没有”副作用“,即不修改外部值

0x01 开始函数式编程

在此之前,请先了解PHP中的匿名函数和闭包,可以参考我写得博客
函数式编程有两个最基本的运算:合成和柯里化。

函数合成

函数合成,即把多个函数的运算合成一个函数,如
A=f(x)
B=g(x)
C=f(g(x))
那么C即是A和B的合成。
用代码表示为:

$compose = function ($f,$g){
    return function ($x) use($f,$g){ //这里返回一个函数的函数,即高阶函数

在Macbook Pro 上安装refind以引导os x + ubuntu双系统

前言

由于工作内容需求,不得不安装了一份ubuntu,这里记录一下如何安装第三方引导工具以引导两个操作系统

准备工作

  • 一台搭载os x的电脑(linux其实也可以,这里读者自行琢磨)
  • refind主程序,这里可以下载到最新版,并放置在桌面上
  • 一个人

开始安装

  • 首先讲述一下如何关闭os x的安全保护-SIP(简单理解为这个东西可以防止你对系统分区进行读写操作)
重启 Mac,按住 Command+R 键直到 Apple logo 出现,进入 Recovery Mode
点击 Utilities > Terminal
在 Terminal 中输入 csrutil disable,之后回车
重启 Mac
  • 1
  • 2
  • 3
  • 4
  • 这里以我的电脑为例,各位请参考自己的实际情况操作。打开终端(Terminal),输入以下命令(参考注释和个人实际情况操作)
cd Desktop 

Swoole| Swoole 中 Process

date: 2018-1-8 20:56:08
title: Swoole| Swoole 中 Process

这篇 blog 折腾了很久才写出来, 问题主要还是在 理解 上. 有时候就是这样,

理解了之后就很简单, 不理解就很难; 知道了就很简单, 不知道往往就很难. 所以 stay hungry stay foolish stay young 真的很重要

本来计划开发 swoft 框架 中的 Process 模块, 所以需要对 swoole 的 Process 模块要有比较深入的了解才行. 不过根据 swoole

关于 php json API接口开发的注意问题

关于 php json接口开发的注意问题

一是注意跨域问题.需要加 Access-Control-Allow-Origin:*  http头.(针对于前端浏览器脚本调用接口)

二是如果请求的header里  Content-Type: 是 application/json,则需要用 file_get_contents("php://input");接收.如果用 swoole 框架的话,需要用$request->rawContent()接收.

如果请求header里Contente-Type是 multipart/form-data,或application/x-www-form-urlencoded或application/octet-stream
则需要用 $_POST($_GET)或$_FILES来接收.

Ps :js 代码调用接口示例如下

1.要加contentType: "application/json; charset=utf-8",

2.需要使用JSON.stringify 转换json对象或把对象转为字符形式,如'{"aa":22}'(json两边加单引号)

var submit_sync = function() {  
    $.ajax({  
        type: "post",  
        url: 'add-post-json.php',  
        
                

软件工程师需要了解的网络知识:从铜线到HTTP

软件工程师需要了解的网络知识:从铜线到HTTP(一)—— 前言

 写作目标

本文面向中国互联网届众多的“应用软件工程师”,确切地说,面向 web 后端工程师(Java、PHP),web 前端工程师,移动开发工程师(iOS、Android)。本文将从铜线讲起,一路讲到 HTTP,为大家剖析出一个真实的“网络”。

写作由来

内容来源

前两天我给一个要跳槽的做 iOS 的哥们儿讲了几个小时的网络,给他的面试铺路,在讲之前,我就意识到了这次的内容如果能够整理一下将会是一套丰富的面向软件工程师的网络教程。…

            

软件架构入门

软件架构(software architecture)就是软件的基本结构。

合适的架构是软件成功的最重要因素之一。大型软件公司通常有专门的架构师职位(architect),只有资深程序员才可以担任。

O'Reilly 出版过一本免费的小册子《Software Architecture Patterns》PDF), 介绍了五种最常见的软件架构,是非常好的入门读物。我读后受益匪浅,下面就是我的笔记。…