- 博客(58)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 技术问答:PHP、JAVA和Go的垃圾回收机制有哪些区别
PHP、Java和Go的垃圾回收机制各有特点。PHP主要依赖引用计数和周期收集器,适合简单内存管理,但处理循环引用和大对象时可能影响性能。Java采用可达性分析和分代回收,结合多种算法,适合复杂内存管理,但需要调优参数以优化性能。Go使用并发三色标记-清除算法和写屏障技术,适合高并发场景,具有低延迟和高吞吐量的优势。三种语言在垃圾回收机制上的差异反映了它们在不同应用场景中的适用性。
2025-05-20 09:44:39
384
原创 大数据分析05 数据追加修改
本文介绍了在数据处理中如何对DataFrame进行单一条件和多条件的操作。对于单一条件,可以通过直接追加数据、忽略索引追加、插入列、指定位置插入列、删除行或列等操作来修改DataFrame。对于多条件操作,可以根据条件删除行、追加符合条件的行,以及按条件修改特定列的值。这些操作能够灵活地处理数据,满足不同的需求。
2025-05-15 08:42:38
110
原创 大数据分析02 基础语法差异
Python:动态类型,语法简洁,内置功能丰富,适合快速开发。Go:静态类型,性能高,适合大规模并发和系统编程。PHP:动态类型,主要用于Web开发,语法灵活但类型系统较弱。Python:文件操作功能丰富,语法简洁,推荐使用with语句自动管理文件关闭。Go:通过os包提供底层文件操作,支持错误处理和文件权限管理,适合系统级文件操作。PHP:文件操作与 Web 开发紧密结合,提供多种函数支持文件读写和管理,适合 Web 环境下的文件操作。
2025-04-17 10:28:51
599
原创 Python 数据分析01 环境搭建教程
完成这些步骤后,你成功搭建了一个基础的数据分析环境,可以开始使用 Python、Anaconda 和 Jupyter Notebook 进行数据分析和机器学习的探索了。
2025-04-12 18:35:16
473
原创 IOS课程笔记[6] 基础控件
Xcode7以上资源存放在项目配置的Rescources中,如下图。Xcode7以下需要导入文件至Supporting Files中。
2023-10-23 09:14:56
725
原创 IOS课程笔记[1-3] 第一个IOS应用
控制器的view将要布局子控件(在这个方法里,部署需要改变重新刷新view的代码,功能类似view的layoutSubViews()这个方法,需要注意的是,这个方法里一般都需要重置的view的frame,宽度和高度的获取,因此view的frame一般都写在这个方法里)3.在视图加载后被调用,如果是在代码中创建的视图加载器,他将会在loadView方法后被调用,如果是从nib视图页面输出,他将会在视图设置好后后被调用。视图已经消失,在Controller被切换时调用,第二个视图出现后第一个视图消失。
2023-10-16 22:45:36
537
原创 GO高级特性 之 并发模型
线程与锁并发模型:基于共享内存实现,依赖开发人员的能力和技巧,不容易排查CSP并发模型:通讯手段共享内存,并发实体是独立的,通过通道实现数据交互,通道读取数据和存放数据会阻塞并发实体,容易造成死锁
2022-12-03 23:31:17
791
原创 Docker实践笔记5:Maven自动部署至Tomcat容器
Java项目配置Maven插件,将打包好的war包,一键部署到远程tomcat容器中.
2022-08-02 11:40:09
280
原创 Docker实践笔记6:PHP容器制作
此容器包含PHP7.3和Nginx1.18环境,用户可以自己使用Makefile一键编译安装PHP环境,也可以直接使用制作好的镜像运行项目。
2022-08-02 11:29:55
852
原创 Maven自动部署值Tomcat容器
介绍Java项目,配置Maven,将打包好的war包,一键部署到远程tomcat服务器.启动Tomcat容器1、下载dockerFile配置源码 https://github.com/CiaraLi/dockerFiles, 进入maven 配置文件夹,可以看到如下目录├── Dockerfile├── src│ ├── apache-tomcat-9.0.60.tar.gz│ ├── jdk-11.0.12.tar.gz│ ├── manager.xml│ ├─
2022-03-16 16:58:25
261
原创 自制简单的脚手架-shell版(二)
前言上次只做了初始化Yii的字模块,这次实现在模块中添加一个服务。先看一下子模块的结构吧子模块结构子模块主要有common、v1两个目录组成。common中有相关的服务、模型、代码,v1是接口的版本号,在v1下创建服务目录,每个服务的controllers中创建自己的控制器。路由规则是 版本号\服务名\控制器\方法名├── common│ ├── behaviors│ │ ├── AccessBehavior.php│ ├── caches│ │ └── Test
2021-12-13 19:30:00
423
原创 Shel读取文件转义符(\)丢失问题
现有文件tmp.php,期望使用Shell输出原内容<?phpnamespace api\v1;class Module extends \yii\base\Module{ public $class' = 'api\v1\test\Module';}使用read读取文件内容,并用echo输出。发现输出结果中 file=$1 fileTmp=$1.tmp while read line #使用read命令循环读取文件内容,并将读取的文件内.
2021-12-06 18:48:45
1132
原创 自制简单的脚手架-shell版(一)
前言每次新增一个项目的时候,都需克隆项目修改一堆文件。很不方便,如果有一个自动化脚本,一键搞定,可以省很多开发时间。针对自己的项目思考了一下,项目用的YII框架,使用Git子模块实现的多项目架构,根据自己创建项目的步骤分析了一下,一共分为6步。1、克隆项目架子2、修改命名空间3、修改配置文件4、初始化Git仓库5、提交初始版本6、创建controller、model、service等接口文件正式开发针对这几个步骤,可以制作一个自动化脚本。首先选择用shell命令实现。shel
2021-11-26 20:18:59
579
原创 Docker实践笔记03:JAVA环境DockerFile制作
镜像库官方镜像地址 https://hub.docker.com/系统仓库centos7iongdoc/centos7java8iongdoc/java8java11iongdoc/java11tomcat10iongdoc/tomcat镜像仓库DockerFIlehttps://github.com/CiaraLi/dockerFilesCentos7 镜像基础环境 DockerFile包含的默认的开机配置环境配置,基础通用组件安装FR
2021-09-02 14:37:54
845
原创 Docker实践笔记03:使用DockerFIle 安装环境
镜像库系统仓库centos7iongdoc/centos7java8iongdoc/java8java11iongdoc/java11镜像仓库DockerFIlehttps://github.com/CiaraLi/dockerFilesCentos7 镜像基础环境 DockerFile包含的默认的开机配置环境配置,基础通用组件安装FROM centos:7ENV container dockerRUN (cd /lib/systemd/sys
2021-08-31 19:01:30
1050
原创 Docker实践笔记02:创建一个自己的容器
一、容器创建下载centos镜像 docker search centos docker pull centos:7pull 镜像名:标签查看下载的容器[root@bogon dockerfile]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos latest 300e315adb2f 8 months ago 209MB创建一个centos
2021-08-26 20:28:19
475
原创 Docker实践笔记01:安装与配置
环境centos 7移除旧版本yum search dockersudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ ..
2021-08-25 11:00:29
113
原创 使用Composer 来安装自己的PHP代码库
一、将自己的PHP代码 打包1.1打包项目在项目根目录创建composer.json,就可以打包项目,require写入你的项目依赖,name是自己项目的名字,格式:团队/项目名称{ "name": "acme/hello-world", "require": { "monolog/monolog": "1.0.*" }}1.2指定包版本composer可以自动识别Git版本,也可以在composer.json中指定宝的版本(但不建议这样做)。{ "ve
2021-07-25 19:35:50
580
1
原创 PDF文件处理 之 添加水印
1、寻找合适的工具PHP版本的插件插件描述binarystash/pdf-watermarker只支持简单水印,不支持透明度设置,不支持平铺uvinum/pdf-watermarker图片试了一下没成功,使用起来比较复杂setasign/fpdf,setasign/fpdi可添加文字、图片Go版本PDF插件文章链接插件描述pdfcpuCLI添加水印会被图片盖住,API方式可以添加,支持调整透明度,倾斜unidoc/unip
2021-07-08 18:33:01
2201
3
原创 使用Kibana分析接口响应时间
一、背景通常在Web端查看接口时间可能会受网络的影响,不能准确的反应服务端响应时间,所以在接口结束时增加了请求时间,统一写入到日志中。使用ES收集两台负载服务器的Nginx日志,可以借助Kibana可视化视图分析日志。日志格式如下:[2020-12-10 11:27:01] [-] [info] [application] [-] [-] [api_run_time] [接口响应时间] [{"api":"/index/test","took_s":"0.01","memory_used":"8.05"}
2020-12-18 13:57:41
5372
1
原创 YII 事件应用--日志收集功能实现
所有的请求入口都是controller,每个请求结束后统一添加生成日志的操作,可以使用YII的监听事件去实现。方案一:借用权限验证接口,在controller出发afterAction事件时,写入Log。修改manage\common\behaviors\ManageAccessBehavior 文件如下:public function events(){ return [ Controller::EVENT_BEFORE_ACTION => 'beforeAction
2020-12-17 19:29:02
324
原创 一次前端接口报错net::ERR_HTTP2_PROTOCOL_ERROR的问题记录
问题描述4月1日系统部署上线,发现上传图片功能跟报错,报错的是获取阿里云OSS签名接口,并没有文件的上传操作,报错信息如图:检查参数传值正常.于是使用Postman尝试请求生产环境,发现接口返回正常.检查日志并没有发现错误日志.查找了一些关于此错误信息的资料.发现有提到反向代理的问题,然而在长时候并没有解决问题.后来在接口入口处,发现添多了一行代码header(“Access-Co...
2020-04-04 22:25:37
52060
1
原创 PHP7底层设计(一)搭建源码阅读环境
一、PHP源码下载PHP版本:7.3.7源码下载 : https://www.php.net/distributions/php-7.3.16.tar.bz2参考书籍《PHP7底层设计与源码实现》-陈雷二、源码阅读工具Source Insight -Windos版Understand -Mac版需要收费Vim+Ctags -Linux环境三、Vim+C...
2020-04-01 23:34:54
254
原创 SSH证书登录实现步骤
一、SSH证书登录步骤:客户端在本地生成SSH证书:包括公钥和私钥,一般创建私钥时应该设置好自己的密码,然后将私钥妥善保存在客户端,防止被盗。服务器添加公钥白名单:客户端将公钥上传至服务器,或者交给运维人员,然后将公钥添加至ssh的信任列表中就可以了。用户可以用一个私钥登录不同服务器,只要在想登录的服务器中添加自己的公钥即可。二、客户端创建私钥和公钥1、在客户端运行命令ssh-ke...
2020-01-21 17:43:00
3770
原创 配置简单的Git服务器
服务端 1、安装GIT [iong@bogon iong]# sudo apt-get install git2、创建git用户,并设置密码 [iong@bogon iong]# sudo adduser git [iong@bogon iong]# sudo -s [root@bogon iong]# passwd git 3、创建GIt仓库目录[roo...
2018-06-14 19:01:24
304
原创 centos系统LNMP环境配置(七)安装swoole拓展
安装redis 1、下载redis安装包、官网https://www.swoole.com/ git clone https://github.com/swoole/swoole-src.git cd swoole-src2、 php7.1以下版本 需要检出bbb49bf版本 git checkout bbb49bf *3、编译安装 phpize ./...
2018-05-29 09:45:03
422
原创 centos系统LNMP环境配置(六)redis编译安装
安装redis 1、下载redis安装包、官网http://redis.io wget http://download.redis.io/releases/redis-4.0.9.tar.gz tar –zxvf redis-4.0.9.tar.gz cd redis-4.0.9 make &amp;amp;amp;&amp;amp;amp; make install2、安装可能出现的问题如果提示gcc...
2018-05-28 21:18:18
295
原创 centos系统LNMP环境配置(五)配置nginx支持php
1、修改nginx.conf cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf$(date &amp;quot;+F&amp;quot;) vim /usr/local/nginx/conf/nginx.conf 配置文件内容如下:# 首行user去掉注释,修改Nginx运行组为www www;# 必须与/usr/local/php/...
2018-05-26 16:24:51
590
原创 centos系统LNMP环境配置(三) Nginx编译安装
安装前提 1、安装必备软件 yum -y install zlib zlib-devel openssl openssl-devel2、安装pcre 支持nginx伪静态(若已安装直接跳过) cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.t...
2018-05-19 22:10:07
192
原创 centos系统LNMP环境配置(二) Mysql编译安装
1、检查系统是否安装Mysql,如果没有查找到目录信息,表示没有安装 find -name mysql 安装Cmake 2、编译环境开始前,先安装环境编译依赖包,如果安装过cmake则跳过这一步 wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz tar -zxvf cmake-2.8.9.tar.gz ...
2018-05-16 17:48:14
207
原创 centos系统LNMP环境配置(一) 初始安装配置
装好centos7 后,需要配置网络及防火墙配置网络自启动 1、编辑网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 2、修改ONBOOT参数 ONBOOT=yes备份文件 1、备份文件并在文件名中加入日期,通常在修改配置文件时记得备份 cp /etc/profile /etc/profile$...
2018-05-16 15:54:53
335
支持搜索的select下拉框
2018-03-23
第一个团队作品_电子相册
2013-10-28
服务器与客户端时间转化类-PHP
2017-09-11
APNS 错误8 : Invalid token ,求解决
2014-12-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人