技术文章

01Java-方法

百般思念 提交于 2021-02-19 10:57:54
一:动手动脑 1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数 package reserve; import java.util.Scanner; import java.util.Arrays; import java.util.Random; public class Main{ public static void main(String[] args) { Random random = new Random(); Scanner sc = new Scanner(System.in); System.out.println( "请输入产生随机数的个数:" ); int count= sc.nextInt(); byte [] buffer= new byte [count]; random.nextBytes(buffer); System.out.println(Arrays.toString(buffer)); } } package hu; import java.util.Random; import java.util.Scanner; public class Hu { public static void main(String[] args) { Scanner in = new Scanner(System.in); int m

Docker 使用指南 (四)—— 数据卷的使用

江枫思渺然 提交于 2021-02-19 10:57:41
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/96 来源:腾云阁 https://www.qcloud.com/community 一.数据卷的使用 有时候需要使用数据库,但是又希望它的数据能保存在本地,Docker中提供了数据卷可以供你方便的操作数据。数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 数据卷默认会一直存在,即使容器被删除 注意 :数据卷的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的数据卷。 本次实验环境: 腾讯云服务器 CentOS 6.7 x86_64 添加一个数据卷: # docker run -d -it --name busybox -v /data/ busybox 这会在容器内创建一个 /data 目录,并加载一个数据卷到容器的 /data 目录。 进入容器: # docker exec -it busybox sh 查看目录映射: # docker inspect -f {{.Volumes}} busybox map[/data:/var/lib

PHP的垃圾回收机制以及大概实现

心不动则不痛 提交于 2021-02-19 10:57:16
垃圾回收,简称gc。顾名思义,就是废物重利用的意思。如果用过C语言,那么申请内存的方式是malloc或者是calloc,然后你用完这个内存后,一定不要忘了用free函数去释放掉,这就是传说中手动垃圾回收,一般都是扫地神僧用这种方式。 那么,在用的最普遍地最传统的web开发中,php的自动垃圾回收机制是怎样的呢? 这个问题我们先这么想,就是都知道php是C语言实现的,现在把C语言给你放在这里了,然后你想想如何用C语言实现对一个变量的统计以及释放。 PHP进行内存管理的核心算法一共两项:一是引用计数,二是写时拷贝,请理(bei)解(song)。当你声明一个PHP变量的时候,C语言就在底层给你搞了一个叫做zval的struct(结构体);如果你还给这个变量赋值了,比如“hello world”,那么C语言就在底层再给你搞一个叫做zend_value的union(联合体),总体看来就是这样的: 好了,进入代码实战阶段,注意两点: 1.用的PHP版本是7.1.17(记住!这个很重要!不同版本的PHP有极大可能会出现不相同的结果!我试过6个版本的PHP,三个PHP5版本,三个7版本,其中PHP7版本变化尤其多,但不影响业务代码不会出bug,放心),运行环境是cli。 2.下面的原理解只针对PHP7,不再说5了。你面试的时候,只需要说5的我不太了解,7的我深入看过一些即可,面试官不会难为你的。

API开发/运维经验1

◇◆丶佛笑我妖孽 提交于 2021-02-19 10:51:46
对于维护API的经验,推荐《软件框架设计的艺术》这本书,无论是webService还是Rest还是其他什么,都很有帮助。 不过这书在概念上还是离平时工作太远,知识很精华,但和我的实际工作并不接轨,所以逐渐萌生“把我自己开发/运维API的一些经验整理出来,写一篇大的博文”这样的想法 不过最近又忙且病,所以一条条慢慢往外挤…… 1. 参数命名规范 我曾经接手一个已经运行一段时间的API系统,它对外暴露的接口的参数,没有采用通用的第一个后单词首字母的规范 我在新开发接口时,决定采用新的规范; 但问题来了,接口的以前使用者,在调用新接口时,总也调不通,原因就是,以前用来标记访问来源的参数visitsystem,被我不经意间改成了visit**S**ystem,一字之差,接口在验证时找不到访问来源,于是不允许访问; 由此得出经验:参数规范化很重要,但对于以被使用的通用参数名,还是遵从以前的规则。 因为开发最不喜欢细看接口文档……啊啊啊!!!!(虽然我也有这毛病,但我还是要鄙视) 2. 接口返回值 对于错误信息的返回,非常重要。调用接口的系统,会根据错误信息,提示用户进行对应操作。 我负责这个系统,最开始是用数字(errcode),代表错误信息;但用数字用来标示每个错误,则粒度太细,用来标示一类错误,则对信息的提示又不足; 比如对于系统异常,和参数错误,是同级别的错误类型

上周热点回顾(2.19-2.25)

五迷三道 提交于 2021-02-19 10:51:02
热点随笔: · 听说你开发.NET还在用VS,小哥哥给你推荐全平台的Rider ( 愤怒的TryCatch ) · 到底该不该使用存储过程 ( 陈宏鸿 ) · 游戏服务器设计之NPC系统 ( 知然 ) · SqlSugar ORM 入门到精通【一】入门篇 ( 孙凯旋 ) · 使用websocket实现在线聊天功能 ( <天上白玉京> ) · .NET Core使用swagger进行API接口文档管理 ( OMango ) · 【Java】多线程初探 ( 外婆的彭湖湾 ) · 孤立的SQL用户 ( DB乐之者 ) · 使用Spring Boot搭建应用开发框架(一) —— 基础架构 ( bojiangzhou ) · 话说区块链,它真的不是比特币 ( 望星辰大海 ) · 高可用Redis服务架构分析与搭建 ( Horstxu ) · SQL注入详解 ( 飞天小子 ) 热点新闻: · 微软正式开源Blazor ,将.NET带回到浏览器 · 一个五线小城市青年的回乡偶记 · 刘强东宿迁往事:回老家一小时发350万红包 把京东客服搬回家 · .NET Core 2.1路线图 · 悲催的80后,躲不过的养老危机 · 逃离硅谷吃起盒饭 科技精英回国追逐几何增长机会 · 微软精心打造的Vista系统,为什么死得这么快? · 中科院阿里云发布国内首个超导量子处理器 · 微软再发力Python

MySQL基础语法

馋奶兔 提交于 2021-02-19 10:49:57
一、什么是数据库: 数据库(database)是按照数据库的结构来组织、存储和管理数据库的仓库。 二、mysql相关操作: 1、sql语句语法规范: a.常用mysql的关键字我们需要大写、库名、表名、字段名称等使用小写。 b.sql语句支持折行操作,但是不要把完整的单词拆开。 c.数据库名称、表名称、字段名称不要使用mysql的保留字,如果必须使用,需要用反引号‘’将其括起来。 2、登录/退出mysql a.登录:mysql -uroot -p b:登陆的同时修改命令提示符:mysql -uroot -p --prompr =‘\h~\u~\d~\D’(命令提示符) \h:主机 \u:当前登陆的用户 \d:当前打开的数据库 \D:当前服务器的时间 3、得到版本号: mysql -V mysql --version 4、登陆的同时,打开指定数据库: mysql -uroot -p -D db_name 5、退出: exit quit \q 6、命令行结束符默认使用‘ ;’或者是\g来结束 7、可以通过help或者\h或者?加上相关关键字来查看手册 8、\c可以取消当前命令的执行 三、数据库相关操作 来源: oschina 链接: https://my.oschina.net/u/4341017/blog/4115953

php跨域问题记录

岁酱吖の 提交于 2021-02-19 10:49:02
记录跨域问题 一、问题 在控制层加了如下代码: header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN'] ); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Headers: X-Requested-With,Content-Type,Accept'); 打开chrome的network里的response,没有这几个值~ 但是同样的代码我在本地另一个项目里是OK的,项目环境是Nginx做了层代理,实际用的是PHP当Apache模块的方式,就开始怀疑: 输出时框架限制了 Nginx/Apache限制了header(ps:我们项目是用Nginx当了反向代理,PHP当Apache模块) 灵魂拷问:PHP输出时这些header是怎么返回的? 二、解决 1.框架 用xdebug跟了下,没看到框架里有任何限制不能更改header 2.web服务器 看到response每次返回的都一样,以为是运维控制了返回的选项,不能随意添加,和运维同事沟通了下,发现确实是不能随意添加header头,窃喜以为找到了原因。然而另一个同事说加的跨域允许是OK的;Nginx的conf里加的proxy

闲鱼服务端架构演进历程

孤街醉人 提交于 2021-02-19 10:48:47
作者 | 万佳 嘉宾 | 巴滕 闲鱼是从阿里巴巴某一茶水间“游”出来的。2014 年 6 月,闲鱼诞生,2 年时间不到,其用户数突破 1 亿。如今,它已经成为国内最知名的闲置交易平台,拥有数亿用户,年交易额超过 2000 亿,并开启了一个万亿市场。闲鱼能有今天的成绩,离不开背后的技术迭代、架构升级和技术人的付出。闲鱼初创时,架构设计面临着哪些挑战?闲鱼服务端架构在 6 年时间里是怎样演进的?闲鱼在服务端架构上还在做哪些新尝试?...... 带着这些问题,InfoQ 记者采访了闲鱼技术部高级技术专家巴滕。自闲鱼创立以来,他一直参与闲鱼服务端架构持续演进的工作。 1、闲鱼的业务特点 据巴滕介绍,闲鱼是一个典型的双边市场,买家和卖家规模相互影响,“如何同时服务好买家和卖家双方,这是我们一直努力的方向”。 对买家来说,要提升商品发现效率,帮助他们尽快地买到商品。 对卖家而言,要降低发布门槛,帮助他们尽快地把商品卖出去。 对于平台,要持续优化用户的使用体验,比如降低纠纷和欺诈问题,同时持续扩大市场规模。 2、闲鱼服务端最初的架构设计 众所周知,闲鱼的前身是 PC 时代的淘宝二手,它属于淘宝的一个小频道。当时,闲鱼整体业务规模和用户量都非常小。基本上,单一应用就支撑所有业务,并且整体架构和服务完全是面向 PC 设计的。 “当时,服务端同学需要时常编写 Velocity 模板代码

MySQL学习【SQL语句上】

守給你的承諾、 提交于 2021-02-19 10:48:31
1.连接服务端命令 1.mysql -uroot -p123 -h127.0.0.1 2.mysql -uroot -p123 -S /tmp/mysql.sock 3.mysql -uroot -p123 -hlocalhost 4.mysql -uroot -p123 2.mysql登陆后的一些命令 1.\h或者help   查看帮助 2.\G       格式化查看数据(以key:value形式) 3.\T 或 tee    记录日志 4.\c       结束命令 5.\s或者status  查看状态信息 6.\. 或者source  导入sql数据 7.\u 或use    使用数据库 8.\q或exit或quit  退出 3.mysqladmin的一些使用 1.查看mysql存活状态 [root@db01 ~]# mysqladmin -uroot -p123 ping 2.查看mysql状态信息 [root@db01 ~]# mysqladmin -uroot -p123 status 3.关闭mysql进程 [root@db01 ~]# mysqladmin -uroot -p123 shutdown 4.查看mysql参数 [root@db01 ~]# mysqladmin -uroot -p123 variables 5.删除数据库 [root@db01 ~]#