- 博客(59)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 一个app从设想到上线运营的完整过程
一个app从设想到上线运营的完整过程前言设计开发准备工作后端开发前端开发数据采集部署打包发布到应用商店前言我是一个java程序员,同时喜欢古诗词,经常会写些古诗,安装体验了一些相关app,不太满意,于是就萌生了自己开发一个的想法。到现在我自己独立开发的一款app,已经在各应用商店上线了(名字叫诗词宝典),中间遇到很多坎,这里分享并记录一下过程,希望可以给想开发app的同志一些参考。总结一下大概步骤就是 设计->开发->部署打包->发布到应用商店设计设计阶段主要做的就是列举app的功
2020-06-08 17:11:25 3309 3
原创 RestTemplate发送http协议和https协议的get,post请求
工具类直接调用就行,封装好的public class HttpUtil { /** * 通过http协议发送post * @param url * @param param */ public static String sendPostHttp(String url, Map<String, Object> param){...
2019-11-06 13:43:02 3406 1
原创 聊聊Ngnix
【简介】高性能的HTTP和反向代理服务器,也是IMAP/POP3/SMTP服务器【centos安装部署】1:安装工具包 wget、vim和gccyum install -y wget yum install -y vim-enhanced yum install -y make cmake gcc gcc-c++ 2:下载nginx安装包wget http://ng...
2018-07-19 16:58:26 441
原创 学习理解ajax请求
1.ajax实例使用js实现(get)//步骤一:创建XMLHttpRequest对象var ajax = new XMLHttpRequest();//步骤二:设置请求的url参数,参数一是请求的类型,参数二是请求的url,可以带参数,动态的传递参数starName到服务端ajax.open('get','your url');//步骤三:发送请求ajax.send();//步骤四:注
2018-04-02 11:32:16 355
原创 MySQL——分表,分库操作
说明大数据量并且访问频繁的表,将其分为若干个表。如果不分的话,进行一次查询就会将表锁住,导致不能进行其他操作,故分表。 表分割 垂直分割应用场景:热数据放一个表里,冷数据放一个表里。冷数据使用MyIsam 可以有更好的查询数据。活跃数据,可以使用Innodb ,可以有更好的更新速度。对于一些特殊的活跃数据,也可以考虑使用memcache ,redis之类的缓存,等累计到一定量再去更新数据库。垂
2017-12-28 21:23:06 19197 6
原创 Linux——使用Centos搭建ftp服务器
安装1.检查是否安装 rpm -q vsftpd2.安装yum install -y vsftpd3.常用命令状态 systemctl status vsftpd.service启动 systemctl start vsftpd.service关闭 systemctl enable vsftpd.service重启 systemctl restart vsftpd.service开
2017-12-26 21:12:40 2649
原创 asp.net(二)——开发环境配置IIS安装
以win7系统为例,其他类型。1.安装IIS打开文件搜索栏输入:控制面板-》程序-》程序和功能-》打开或关闭Windows功能,在打开的对话框,选中Internet信息服务打钩。 启动浏览器,会显示IIS7的主页,它的物理路径为:C:\inetpub\wwwroot2.配置IIS选择:控制面板-》系统和安全-》管理工具-》Internet信息服务(IIS)管理器,打开Internet信息服务(II
2017-12-04 14:20:09 3193
原创 asp.net(一)——c#基础
C#基础1.注释:单行// 多行/…/ 方法///2.访问修饰符 public:成员可以从任何代码访问。 protected:成员只能从派生类访问。 internal:成员只能从同一程序集的内部访问。 protected internal:成员从同一程序集内部或者派生类访问。 private:成员只能在当前类的内部访问。3.数据类型 值类型(Value types) c#中有
2017-11-24 09:03:25 1774
翻译 Centos 7——设置防火墙
Centos 7 firewall 命令: 查看已经开放的端口:firewall-cmd –list-ports 开启端口firewall-cmd –zone=public –add-port=80/tcp –permanent 命令含义:–zone #作用域–add-port=80/tcp #添加端口,格式为:端口/通讯协议–permanent #永久生效,没有此参数重启后失效重启防火墙fi
2017-11-16 11:03:44 661
原创 RabbitMQ(三)——Publish/Subscribe
发布/订阅 把一个消息交付给多个消费者 中间的x就是交换机 exchange有以下几种类型:direct 根据 routingKey(路由键) 来分发消息到不同的队列中headers 通过键值对来匹配,可以定义为map匹配,有两种方式all和any(不常用)fanout 把消息发给绑定给它的全部队列topic 是RabbitMQ中最灵活的一种方式,可以根据routing_key自由的
2017-11-15 15:28:57 265
原创 RabbitMQ(二)——Work Queues
一个发送者,多个接收者,这是应工作队列,使用场景 web应用程序中处理复杂的任务且不能在一个短的HTTP请求内完成 创建多个接收者 我们在一的代码基础上新建第二个接收者@Component@RabbitListener(queues = "hello")public class Receiver2 { @RabbitHandler public void proces
2017-11-15 14:22:16 587
原创 RabbitMQ(一)——HelloWord
P是生产者,C是消费者,中间时队列 springboot整合使用引入依赖:org.springframework.boot:spring-boot-starter-amqp:1.5.8.RELEASE 添加配置:在application.properties中添加spring.rabbitmq.host=xx.xx.xx.xxspring.rabbitmq.port=5672spring.r
2017-11-15 13:53:18 306
原创 RabbitMQ——Cenos7.5安装配置
准备工作1.下载安装包 可以去官网下载,或者通过wget命令wget http://erlang.org/download/otp_src_20.1.tar.gzwget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm2.建立文件夹,将安装包传输到
2017-11-15 10:51:42 323
原创 Jsoup——爬虫工具的使用
官方API:https://jsoup.org/apidocs/overview-summary.html 加载插件:org.jsoup:jsoup:1.11.1(版本1.11.1)基本步骤1.加载源数据取得Document对象 2.选择元素 3.提取数据 加载 在Connect 接口中,定义了很多接口,用于发送各种请求。 例:发送简单的get Document doc = Jsoup.
2017-11-14 10:06:06 609
原创 Gradle——构建springboot
框架下载http://download.csdn.net/download/qq_29423883/10045503 基本结构 装好Intellij IDEA之后,Gradle也就默认装好了,现在我们仅需直接创建工程: 选择Java了,Next: GroupId,ArtifactId和Version,咋看起来和Maven一样?其实就是一样,后面我们还继续使用Maven的仓库呢。Next:
2017-10-20 15:04:22 1538
原创 MySQL——存储过程
定义存储过程的定义很简单 创建create procedure pro_name()begin.........end调用call pro_name()主体中一些语句会带有分号,如果你使用 mysql客户端程序来定义一个包含分号字符的存储程序,问题就出现了,默认情况下, mysql用分号作为分隔符,以你必须重新定义暂时性的分隔符。 这样就将//作为分隔符了,定义完过程后,记得更改回来。my
2017-10-19 10:09:26 308
原创 java——JDBC
java.sqljava中用于操作数据库的类和接口在java.sql包下。/** * java.sql包下主要分成六大类 * 1.连接数据库 * .DriverManager类---与驱动程序连接 * .SQLPermission类---当在安全管理器中运行的代码(例如applet)试图通过驱动管理器建立日志流时,提供权限 * .Drive
2017-10-17 17:56:34 407
原创 Java——基于JDK的几种加密方式
主要包括base64,AES,RSA,SHA和MD5等加密方式 未使用任何第三方工具,直接运行main方法即可import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.
2017-10-10 15:11:26 6253 1
原创 Java——Math
BigInteger与BigDecimal /** * 处理高精度有小数 */ static void dec() { //构造,建议使用String值 BigDecimal b1 = new BigDecimal("5.5"); BigDecimal b2 = new BigDecimal("3.3");
2017-10-09 17:29:02 238
原创 Java——反射
反射介绍 能够分析类能力的程序称为反射,Class对象可以表示所有的类型,实际上就是一个泛型类,只是忽略了类型参数。Class类主要方法 getClass()—Object类中的getClass方法会返回一个Class类型的实例; Class.forName()—可以获得类名对应的Class对象; newInstance()—动态创建对象与forName结合起来,Object o==Cl
2017-10-09 15:32:27 210
原创 Java——集合
package com.fazai.wechat.util;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.*;public class Tests { p
2017-10-09 09:14:12 250
原创 Java——I/O
流1.流的分类按照方向分类 输入流:从外部设备流向程序的流成为 输出流:程序流向外部设备的流 按照数据单元分类 字节流:以字节为单位,可以读写任意资源 InputStream,OutputStream 字符流:方便处理以unicode形式存储的信息,读写操作是基于两字节的unicode码元。Reader,Writer 按照功能分 节点流 FileInputStream 文件流 B
2017-09-28 14:22:38 232
原创 Java——JDK内置日志
import java.io.IOException;import java.util.logging.*;public class Tests { /** * --日志级别 * SEVERE (HIGHEST LEVEL) * WARNING * INFO * CONFIG * FINE * FI
2017-09-27 17:53:29 2252
原创 Java——常用的格式化处理
/** * 时间----字符串的格式化和解析 */ @Test public void strdate(){ //日期时间-->字符串 LocalDateTime dateTime = LocalDateTime.now(); String strDate = dateTime.format(DateTimeForm
2017-09-27 16:03:01 383
原创 Java——爬虫
说明主要步骤: 1,发送请求 2,保存获取内容 3,写正则表达式 3,匹配并抽取正则表达式学习可参考:http://www.qcyoung.com/2016/06/07/%E3%80%90%E4%B8%AA%E4%BA%BA%E6%80%BB%E7%BB%93%E3%80%91%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AF%AD%E6%
2017-09-26 16:10:16 830
原创 JVM——执行机制
JVM规范定义的标准结构 可见,要执行java代码,首先就是要编译成class文件。1.编译机制1.分析和输入到符号表 2.注解处理 3.语义分析和生成 class 文件 最后生成的 class 文件由以下部分组成: 1.结构信息。包括 class 文件格式版本号及各部分的数量与大小的信息。 2.元数据。对应于 Java 源码中声明与常量的信息。包含类/继承的超类/
2017-09-22 10:06:11 221
原创 MySQL——Excel表直接导入数据库
需求:在Excel中有大量数据,需要添加到数据库中 方法一,利用工具 1.准备Excel的数据,如图所示 2.使用nacicat premium,导入,根据提示操作即可 可直接导入的文件如图: 3.可以选择新建表或者现有的表,如果新建表,可编辑表结构 继续完成即可方法二 1.需要在数据库中事先创建好表和表结构,应该和excel的结构一样。 2.将excel表另存为csv(逗号
2017-09-21 11:02:03 2048
原创 Java——NIO-BIO-AIO
使用nio作为服务端import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;public class TestNio { private ByteBuffer
2017-09-21 10:09:41 187
原创 Git——基本使用
安装1.Centos/RedHat$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel$ yum -y install git-core$ git --versiongit version 1.8.3.12.windows 下载安装包即可 https://git-for-windows.g
2017-09-19 13:07:47 457
原创 极光推送——Java服务端
准备步骤 注册官方账号,将APP_KEY和MASTER_SECRET拷贝到程序里 1.需要安装官方的sdk<dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> <version>3.3.1</version></dependency>2.简单配置 3.构建J
2017-09-12 16:26:51 1483
原创 Linux——入门命令,基本操作
常用命令--ssh登录,22是端口,root是用户名,后面时地址ssh -p 22 root@139.196.XX.XX处理目录的命令 ls: 显示目录下的文件和文件夹(默认时当前所在目录) pwd:显示目前的目录 mkdir:创建一个新的目录 rmdir:删除一个空的目录 cp: 复制文件或目录 rm: 移除文件或目录 示例 在输入vi XX时 显示编辑器,输入内容然后
2017-09-11 14:44:48 290
原创 缓存——redis和本地
OSCache:http://www.cnblogs.com/Irving/archive/2013/04/05/3000722.html 传统缓存public class CacheManager {//一个本地的缓存Mapprivate Map localCacheStore =new HashMap();//一个私有的对象,非懒汉模式private static CacheManager
2017-09-11 11:04:06 3659
原创 Java——函数式接口和lambda表达式
public class TestJava { /** * 函数式接口:只定义了唯一的抽象方法的接口,会使用@FunctionalInterface该注解 * Comparator * Callable * Runnable * Function<T, R> -T作为输入,返回的R作为输出 * Predicate<T> -T作为输入
2017-09-08 16:12:38 352
原创 基于SDK的支付接口服务端——支付宝,微信
支付宝准备:1.创建应用,配置密钥(详见https://docs.open.alipay.com/291/105971); 2.jar包:alipay-sdk-java20170818173712.jar;commons-logging-1.1.1.jar3.配置信息:appid;应用私钥;支付宝公钥(是支付宝公钥不是应用公钥); 4.基本步骤: (1)获得初始化的AlipayClien
2017-08-31 13:45:27 16164 1
原创 算法——排序
import java.util.Arrays;public class TestSort{ private static int[] arr={34,12,54,1,5}; private static int len=arr.length; private static void swap(int i,int j){ int temp = arr[i];
2017-08-28 09:18:12 209
原创 设计模式——工厂模式
1.简介 工厂模式有很多种不同的类型,主要有以下四种;the factory method pattern,(工厂方法)the abstract factory pattern,(抽象工厂)the static factory method,(静态工厂)the simple factory (also called factory).(简单工厂) 使用模式是为了方便开发,但是会使代码难于
2017-08-28 09:09:44 172
原创 JavaWeb——请求过程
HTTPHTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等) 短连接:一次请求完成一次数据交互; 长连接:一次请求一直保持连接1.常见请求头2.常见响应头 3.常见的状态码 状态码分类:1** 信息,服务器
2017-08-25 11:12:11 1597
原创 MySQL——数据类型一览
数值类型 数值类型可以设置unsigned,表示无符号,数据从0开始,如tinyint设置无符号后,范围是0-255。也可以设置zerofill当存储的数据长度不够时,用0填充 bit —比特值的类型 | 1-64 | 1tinyint—微整型,范围是-128to128bool,boolean—实际上MySQL用tinyint(1)来表示布尔型,0 false,其他值为truesma
2017-08-22 15:57:05 271
原创 Mysql——高级特性
分区表对用户来说分区表是一个独立的逻辑表,但是底层是多个物理字表组成的,实现分区的代码实际上是对一组底层表的引用的封装。MySQL实现分区表的方式——对底层表封装,因而没有全局索引,分区可以将相关数据存放在一起,如果 一次性批量删除会变得简单。 应用场景:表很大无法全部放到内存中,或者只有部分热点数据,其他事历史数据。分区操作,更容易维护,如可以清除整个分区。数据分布在不同物理设备,高效利用
2017-08-22 13:58:56 946
原创 性能优化——记高性能MySQL
MySQL服务器逻辑架构第一层,客户端/服务器。负责连接,授权,安全等。每个客户端连接都会在服务器拥有一个线程。解析器解析查询并创建解析树,然后优化(重写查询,选择索引等)节奏执行,select语句在解析之前先会先查询缓存若存在,直接返回结果。 第二层,核心服务。如查询解析,优化,缓存,内置函数,存储过程,触发器,视图… 第三层,存储引擎。负责数据存储和提取。事务ACID
2017-08-10 17:17:45 7503
gradle+springboot+mybaits+shiro+......
2017-10-30
微信支付 Java SDK
2017-08-31
关于分享app后台啊啊啊啊
2017-05-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人