Month: January 2018

Linux:命令行git简单使用, git指令, 命令行操作git

开始正文 Git简介 这篇文章不介绍github,介绍git命令行,但是有必要对git和github是什么进行一个说明。你可能听说过github,据说github是世界上最大的同性社交网站。当然是开玩笑的。简单的说,github是一个开放源代码保存的地方,github也是合作项目开发的首选地。 那么git呢,git是一个仓库,一个你用来保存代码的地方。 所以,当我在github上注册了帐号之后,我可以将我的代码上传到git上进行保存,也可以大家合用一个仓库来合作开发。 当然,git本身是开放的,别人可以看到你的源代码,如果是想变成不开放的,那么你就需要像github付费了。你可以去coding看一看,c… Read More

Linux: url打开phpmyadmin, how to access phpmyadmin in lamp

问题: I have installed LAMP on ubuntu, and I want to acced PhpMyAdmin, and I don’t know it’s URL. I tried to access this URL : http://localhost/phpmyadmin 解决方法: Just in case someone doesn’t know this (i didn’t for sometime), after running this command to reconfigure phpmyadmin sudo dpkg-reconfigure -plow phpmyadmin 如果在C… Read More

Ubuntu 17.04 / 17.10 安装 LAMP, Linux Apache2 Mysql PHP, 以及phpmyadmin, INSTALLING LAMP ON UBUNTU 17.04 / 17.10

env.sh #!/usr/bin/env bash # https://websiteforstudents.com/installing-lamp-ubuntu-17-04-17-10/ # https://websiteforstudents.com/install-password-protect-phpmyadmin-ubuntu-17-04-17-10/ # INSTALLING LAMP ON UBUNTU 17.04 / 17.10 # STEP 1: 更新服务器 sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autor… Read More

Linux: shell脚本获取网页快照(网页截图)并生成缩略图

获取网页快照并生成缩略图可分两步进行: 1、获取网页快照 2、生成缩略图   获取网页快照 这里我们用 phantomjs 来实现。关于 phantomjs 的详细用法可参考官方网站。   1、安装 我的环境是CentOS6.5,安装时直接下载 tarball 然后解压即可。 最新版参看:https://github.com/ariya/phantomjs,下载地址为: https://phantomjs.org/download.html # wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-i686.ta… Read More

Linux: Shell脚本备份MySQL数据库, Linux shell script for database backup

Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行。我们也可以逐一敲入命令手动执行。如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了。 我首先要在本文带给你的是完整脚本。后面会对该脚本做说明。我假定你已经知道shell scripting、 mysqldump和crontab。 适用操作系统:任何Linux或UNIX。 主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。后面会对每行… Read More

JAVA: 抓取需要登录的页面, curl page with auth, How do I connect to a URL using Basic authentication?

ConnectToUrlUsingBasicAuthentication.java package test; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import org.apache.commons.codec.binary.Base64; public class ConnectToUrlUsingBasic… Read More

JAVA: JDBC-Mysql操作类

package com.yunti.utils; import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; im… Read More

JAVA:JDBC入门教程(三) PreparedStatement的使用

前两章我们写了一个 DBTools 工具类,可以进行简单的数据库操作,但是有很大的局限性,今天就来改善一下这个类,学习一个新的对象 PreparedStatement 为什么要使用PreparedStatement 前面我们建立了一个store数据库,并且建立了一个user数据表,表里包含字段 id ,account ,password ,role。而且还向里面加入了一条数据 sql 语句是这样写的 INSERT INTO store.user (account,password,role) VALUES ('admin','123',1) 我直接把字段的值直接写在了sql语句里,不过通常情况下,(‘admin’,’123’,1… Read More

JAVA: JDBC入门教程(二) 通过JDBC进行简单的增删改查

对数据库的更新操作 数据库的更新包括:INSERT UPDATE DELETE 执行数据库更新操作需要用到 Statement类,该类通过Connection的createStatement()方法来获得,写好sql语句然后调用Statement对象的executeUpdate(sql) 方法来实现更新操作,很简单。 比如说我想在user表里加入一条记录,可以分为一下几个步骤 获取数据库连接 创建Statement对象 写sql语句 执行更新操作代码如下 @Test public void insertUser(){ Connection conn = null; Statement statement = null; try { //获取数据…

JAVA: JDBC入门教程(一): 连接数据库

1. JDBC的环境搭建 JDBC的环境搭建很简单,需要下面的配置好 安装Java 安装数据库 安装数据库驱动程序 以上两点都很容易,若果有疑问的自行百度解决吧,主要说一下第三个,现在以mysql为例 配置JDBC的环境。 新建java项目,自行命名,我这里的项目叫JDBCTest 下载驱动包,名字叫 mysql-connector-java-5.1.38-bin.jar 可以自行去网上下载,链接http://dev.mysql.com/downloads/connector/j/5.0.html 在项目的根目录下新建一个lib文件夹并且把刚刚下载的 驱动文件(.jar)拷贝到lib文件夹下,然后在这个文件上右键 Bui… Read More

Java: 精确数字运算, 加减乘除运算, 解决浮点数的计算失去精度问题, BigDecimal的用法(加减乘除)

今天在数值计算时碰到一个问题.程序如下: double a = (3.3-2.4)/0.1; System.out.println(a); 你可能认为结果很简单,不就是9嘛,是事实上,结果为:8.999999998,为什么呢?我翻阅了一些资料,终于找出了原因. 为什么浮点数会丢失精度?   十进制数的二进制表示可能不够精确浮点数或是双精度浮点数无法精确表示的情况并不少见。浮点数值没办法用十进制来精确表示的原因要归咎于CPU表示浮点数的方法。这样的话您就可能会牺牲一些精度,有些浮点数运算也会引入误差。以上面提到的情况为例,2.4的二进制表示并非就是精确的2.4。反而最为接近的二进制表示是 2.3999999999… Read More

Java:遍历Map/HashMap的各种方法

在遍历Map集合之前首先先定义一个Map对象: Map<String, String> map = new LinkedHashMap<String, String>(); map.put("1", "one"); map.put("2", "two"); map.put("3", "three"); map.put("4", "fore"); map.put("5", "five"); 这个地方使用的是LinkedHashMap,主要是为了确保让map中的元素是按照插入的顺序存放的。 1. 使用keySet()方法遍历 使用keyset方法遍历,是先取出map的key组成的Set集合,通过对Set集合的遍历,… Read More

JAVA: 使用Jackson解析JSON, 生成JSON, 反序列化和序列化, Jackson 实现JSON数据与Java对象相互转换, 详解入门(附项目源码)

项目主页:https://github.com/FasterXML/jackson-databind 在Web开发过程中,利用JSON可以帮助我们更加方便的开发我们的应用。那么在Java语言中,如何实现Java实例与JSON之间的相互转换(序列化与反序列化)呢?目前流行的JSON第三方类库有Jackson、Gson、Fastjson等,本文将简单介绍如何使用Jackson进行JSON的解析与序列化。 一、获取Jackson 获取Jackson可以通过Maven或直接下载jar包两种方式,通常我们只需要下载Jackson的jackson-core核心包即可,如果希望使用更多功能(例如注解),还需要下载… Read More

PHP: Gearman实现分布式处理, 分布式任务分发框架Gearman教程

一. 场景分析 业务服务压力比较大,想把一些占用资源的功能异步到远程处理,比如记录业务日志,文件加密,文件分发到其他文件服务器节点上,检查文件服务器是否已同步,对用户上传的图片进行剪裁生成多份缩略图,视频转换,静态内容生成,清除缓存等等,这些请求耗时长,占用系统资源大,影响业务正常访问。这些问题会经常遇到的,如果这些任务都在用户请求过程中完成,服务器撑不撑得住暂不考虑,单凭用户体验角度考虑来说,那是难以忍受的。 二. 解决之道 对于这种需求,我们可以通过分布式计算,对任务进行拆分,转移到多台服务器上进行异步或同步处理。分布式消息队列有多种实现方式如rabbitmq、gearman等。 在这里主要说gear… Read More