LMLPHP后院

不靠谱的 execCommand 之 insertText技术

maybe yes 发表于 2017-09-04 09:34

最近发现编辑器在执行 insertHTML 遇到剪切板内容为标签时,出现的怪异现象,于是改成了 insertText。实在搞不懂 MDN 上的 paste 是什么作用,被坑了好几次。

document.execCommand("insertText",false,text);

上面的方式做了一次变更,因为 insertText 粘贴的时候会产生很多节点,不能很好的处理换行,不知道怎么回事,最后改为如下。

document.execCommand("insertHTML",false,$('<div/>').text(text).html());

搞来搞去,归根结底,execCommand 方法只有 insertHTML 有点用,其他全是没什么作用的。

springboot mybatis 多数据源配置技术

maybe yes 发表于 2017-08-31 17:19

关于 Java 技术,其实 Java 技术不需要有创造力的人,只需要按部就班,死记硬背就可以。Java 技术已经被大型组织和集团给垄断了,大家用的技术大都是 Oracle,Apache 这些组织的代码,所有的东西都已经实现,所以不需要创造力。有些科学家也会吐槽,说 Java 技术是传教性质的,一旦进入,很难出来。

Java 技术缺少的是什么,是傻逼教程,说好听点,就是手把手教程,怎么建立文件夹,怎么创建文件,怎么复制代码。一个程序员熟练了 Java 技术,也就是熟练了这些,真正框架内部的东西是不可能熟练的,因为量太大,人生苦短。

开始手把手教程,希望帮助到大家。

maven 依赖配置:

<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.2.1</version>
</dependency>
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>1.1.2</version>
</dependency>

基于 HTML5 的 EventSource 实时推送实现技术

maybe yes 发表于 2017-08-21 18:03

本文介绍 Comet 的 EventSource 实现方式,EventSource 对象只是对数据格式进行了简单的封装。服务端加上 event-stream 的头声明,数据以事件流的方式传递,保持长连接。

先上代码吧,后端代码示例 chat.php:

if (isset($_REQUEST['message'])) {
    file_put_contents('/tmp/message.txt',
        time() . '||data: ' . $_REQUEST['message'] . "\n", FILE_APPEND);
    echo $_REQUEST['message'];
    exit;
}

function output($v) {
    echo "data: {$v}\n\n";
    ob_flush();
    flush();
}

header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
header("Content-Encoding: none");
header('X-Accel-Buffering: no');
$last = time();

for (;;) {
    // exec('tail -n 1 /tmp/message.txt', $data);
    $tempArr = file('/tmp/message.txt');
    $arr = explode('||', end($tempArr));
    if ($arr[0] <= $last){
        sleep(1);
        continue;
    }
    $last = $arr[0];
    output($arr[1]);
    sleep(1);
}

PHPExcel 兼容读取电子表格技术

maybe yes 发表于 2017-08-17 17:39

本文使用 PHPExcel 实现一个兼容的读取电子表格的功能,PHPExcel 内置强大的识别能力,可以很好的支持 csv,xls,xlsx 等格式。

<?php

require 'E:\code\projects\PHPExcel\Classes\PHPExcel.php';
$inputFileName = 'example1.xlsx';
$inputFileName = 'example1.xls';
$inputFileName = 'example1.csv';
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
var_dump($sheetData);

Ubuntu DKIM 域名邮件身份认证技术

maybe yes 发表于 2017-08-16 14:00

邮件的认证方式有 SPF 和 DKIM。SPF 全称为 Sender Policy Framework,即发件人策略框架,DKIM 的缩写是 DomainKeys Identified Mail。gmail 墙裂推荐使用 DKIM 的认证方式,SPF 实现起来相对简单,只需简单的设置 DNS 就可以。本文主要讲解 DKIM 的实现。

以 Ubuntu 为例,使用 postfix 发送邮件。

第一步,安装 opendkim。

$ apt-get install opendkim opendkim-tools

修改配置,如下:

$ vim /etc/opendkim.conf

Domain lmlphp.com
KeyFile /etc/postfix/dkim.key
Selector mail
SOCKET inet:8891@127.0.0.1
Ubuntu DKIM 邮件身份认证
LMLPHP,可爱滴WEB开发框架

2017-11-19 05:41:08 1511041268 0.004624