- 博客(130)
- 收藏
- 关注
原创 Vue-Router
Vue-Router使用步骤定义动态路由/获取参数路由懒加载使用步骤下载vue-router路由模块;创建路由对象;配置路由规则;将路由对象注册为vue实例对象的成员属性定义动态路由/获取参数在定义路由规则时在path:中拼接参数path:id通过params获取动态路由参数this.$route.params.id 路由懒加载通过异步的方式来加载对应的路由组件,提高页面相应速度...
2020-10-17 10:26:18 222
原创 Vue标签
标签v-ifv-forv-bindv-modelkey避免v-if和v-for共用v-if判断是否隐藏v-for数据循环v-bind绑定一个属性v-model实现双向绑定key当有相同标签名的元素切换时,需要通过 key特性设置唯一的值来标记以让 Vue 区分它们,否则 Vue 为了效率会替换相同标签内部的内容避免v-if和v-for共用当 Vue 处理指令时,v-for 比 v-if 具有更高的优先级,通过v-if 移动容器元素,不会再重复遍历列表中的每个值,而只检查它一次,且不会
2020-10-17 10:20:17 399
原创 Vue必知必会
VueVue原理MVVMMVC区别双向绑定原理Vue生命周期生命周期Vue常用生命周期钩子首次页面加载会触发哪些钩子Vuex组成使用场景优点Vue-Routerkeep-alive作用Vue路由使用步骤active-class定义动态路由/获取传递动态参数vue-router导航钩子Vue组件Vue.cli中自定义组件Vue引入组件步骤如何让CSS只在当前组件中起作用Vue原理MVVMM(数据模型),可以在Model中定义数据修改和操作的业务逻辑V(视图),View将数据模型转化成UI展现VM(
2020-10-17 09:56:28 847 1
原创 [会话共享]
App后端会话共享通过nignx请求转发,到不同的应用模块中,需要判断用户有没有登陆验证通过app的移动端没有cookie,session机制使用session外置方式解决,用redis统一管理session,用redis来模拟session移动端的session都是无状态的,不创建session,我们通过用户登陆时生成一个token(session) ,token存在redis设置超时,用户每次请求都带着token到服务端做校验,token代表唯一用户Web后端session给Web站点
2020-07-10 14:07:01 305
原创 [MapperScannerConfigurer]
MapperScannerConfigurer在SSM整合时候,整合mybatis时,需要配置mapperscanner,主要作用就是用来进行mapper的批量扫描作用mybatis能够通过mapper接口获取sqlsession执行方法,靠的是MapperScannerConfigurer-进行mapper批量扫描, 从mapper(dao)包中扫描出mapper接口,自动创建代理对象并且在spring容器中注册@MapperScanSpringBoot注解中通过@MapperScan注
2020-07-09 10:11:22 492
原创 [deal_cache.c]分析
deal_cache.c封装了所有处理缓存数据库存储业务int deal_cache_setLifecycle(cJSON *root)给缓存中的sessionid设置生命周期底层调用的也是封装好的redis接口 int deal_cache_setLifecycle(cJSON *root) { /* { cmd: "setLifcycle", key: "online-drive
2020-07-07 19:10:58 256
原创 [面经汇总](六)项目及其他
项目问题项目中怎么判断用户是否登录项目介绍,项目遇到哪些难点,怎么解决的,负责哪些模块问了项目,热点数据的处理碰到分歧怎么解决在团队中担任什么角色常规自我介绍职业规划你的优势在哪里?业务遇到紧急任务绝对做不完怎么办反问有什么想问我的吗对秋招有什么建议吗?掌握框架...
2020-07-05 15:06:36 157
原创 [面经汇总]Web
概念什么时MVCModel/View/Controller,模型视图控制器的缩写是一种软件设计规范;将数据模型,界面显示与业务逻辑之间分离,将众多业务逻辑聚集到一个组件,后续优化个性定制不需要重新编写业务逻辑以达到减少编码时间的目的什么是MVVCMVC是后端开发的分层概念MVVM是前端视图分层的概念关注于视图层分离,MVVM将前端视图层分为Model/View/ViewModelVue以数据为驱动,自身将DOM和数据双向绑定,每当数据变化DOM也会变化,VM就是Vue的一个实例前后端分离
2020-07-05 10:20:28 137
原创 [面经汇总](五)框架
SpringIoc控制反转Aop面向切面编程解释依赖注入Spring动态代理,默认哪种Autowired和Resource区别启动流程linux上部署javaSpringBootSpringboot有什么优点,特性自动配置的特点Mybatismybatis #和$区别SpringMVCspringmvc的原理...
2020-07-03 18:42:05 140
原创 [面经汇总](三)并发
进程/线程线程/进程的区别sleep与wait的区别守护进程线程阻塞的原因线程状态,如何开启线程多线程介绍一下多线程什么情况下应该使用多线程如何实现多线程怎么保证线程安全wait、notify作用,使用场景,其他多线程同步工具或方法如何实现join方法实现同步的方式线程池线程池有几种创建方法线程池种类哪些场景用到fixedThreadpool线程池状态线程池的参数饱和机制锁Synchronized的使用与底层原理粒度重不重?synchronized静态方法和普
2020-07-03 10:39:11 195
原创 [Java]Wait
java的wait()方法是让当前线程等待,当前线程不是指t而是指主线程(让执行wait的线程等待)wait会释放锁,等待其他线程调用notify/notifyAll()再继续允许 package com.citi.test.mutiplethread.demo0503; 2 3 import java.util.Date; 4 5 public class WaitTest { 6 public static void main(String[] a..
2020-07-03 09:16:45 1274
原创 [面经汇总](二)JVM
JVM内存jvm内存内存模型栈和堆的区别为什么要用堆和栈,而不直接全放一起内存溢出和内存泄漏的定义堆内存不够了会怎么样 该怎么办GC什么是GCGC中哪些对象可以回收可作为GC Root根节点的对象有哪些GC触发时机...
2020-07-02 21:38:27 237
原创 [面试]设计模式
设计模式单例模式简单工厂工厂方法抽象工厂观察者模式模板方法适配器模式装饰者模式迭代器模式单例模式简单工厂在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口工厂方法定义了一个创建对象的接口,但由子类决定要实例化哪个类抽象工厂提供一个接口,用于创建相关的对象家族抽象工厂模式创建的是=对=象家族==,也就是很多对象而不是一个对象,并且这些对象是相关的,而工厂方法模式只是用于创建一个对象观察者模式定义对象之间的一对多依赖,当一个对象状态改变时,它的所有依赖都会收到通
2020-07-02 11:36:03 97
原创 [云盘](二)我的文件和共享列表后台实现
我的列表业务逻辑是,点击我的文件,会在展示界面展示出该用户所有文件单机图标会显示选项下载,分享,删除,属性单机空白处会显示选型,会显示选项:按下载量排序/按下载量排序/刷新/上传其中上传操作也可以点击界面中的上传图标,然后会弹出窗口选择要上传的文件,上传过程是一个toolbar会显示进度在传输列表中Mian读取配置文件 read_cfg();拿到数据库连接while (FCGI_Accept() >= 0)等待连接业务主要分两种,一是只想知道用户有多少个文件,另一个是普通排序,
2020-07-01 12:26:42 693
原创 [云盘]Nginx集成FastCGI
NginxNgixn作为 web服务器具有简单部署,效率高,热部署等等优点,但是在Nginx上只能部署静态网页,对于动态网页需要调用CGI程序去处理spawn-fcgispawn-fcgi作为的是ngixn和fastcgi的代理实现两者之间通信使用编写fcgi程序spawn-fcgi -a IP -p 端口 -f fastcgi程序-a - IP: 服务器IP地址-p - port: 服务器将数据发送到的端口-f - cgi程序: spawn-fcgi启动的可执行fastcgi
2020-06-30 16:23:29 204
原创 [FastCGI]
FastCGICGI通用网关接口CGI使外部程序与Web服务器之间交互成为可能CGI程序运行在独立的进程中,并对每个Web请求建立一个进程,这种方法非常容易实现,但效率很差,难以扩展;大量请求,进程的大量建立和消亡使操作系统性能大大下降CGI处理流程web服务器与CGI通过环境变量、标准输入、标准输出、标准错误互相传递数据web服务器收到客户端(浏览器)的请求Http Request,启动CGI程序,并通过环境变量、标准输入传递数据CGI进程启动解析器、加载配置(如业务相关配置)、连
2020-06-30 15:53:27 194
原创 [http]
HTTP协议报文请求报文请求行由方法字段、URL 字段 和HTTP 协议版本字段 3 个部分组成,他们之间使用空格隔开常用请求方法GET当客户端要从服务器中读取某个资源时,使用GET 方法。GET 方法要求服务器将URL 定位的资源放在响应报文的数据部分,回送给客户端使用GET方法时,请求参数和对应的值附加在 URL 后面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度受限制,因此GET方法不适合用于上传数据通过GET方法来获取网页时,参数会显
2020-06-30 15:33:07 342
原创 [云盘]协议包和数据库表设计
协议登录用户注册用户我的文件我的文件展示页面服务器返回给前端秒传上传文件共享列表文件相关操作分享文件删除文件pv字段处理数据库表设计MySQL数据库用户信息表 user文件信息表 file_info用户文件列表user_file_list用户文件数量表user_file_count共享文件列表登录用户//====================登陆用户127.0.0.1:80/loginpost数据(json){ user:xxxx, pwd:xxx}注册用户//==========
2020-06-30 14:10:47 567 1
原创 [云盘]共享文件列表
共享文件操作变量定义读取配置文件cfg.hcfg.c/conf解析前端Json文件下载标志处理Main源码变量定义DEALSHAREFILE_LOG_MODULE—日志模块的输出到该模块DEALSHAREFILE_LOG_PROC —该日志模块输出的具体目录定义三个static静态字符数组存放MySQL登录用户名密码和具体使用的数据库定义两个static静态数组存放Redis的ip+port根据以上定义判断MySQL采用本地连接,Redis采用远程连接 #define D
2020-06-30 10:20:14 504 2
原创 [云盘]业务分析
登录注册界面我的文件展示当前登录用户在FastDFS中所有存储的文件下载榜传输列表在文件传输过程中会有条形框显示进度切换用户点击切换用户会直接跳转到登陆界面
2020-06-30 08:53:43 220
原创 [MySQL]读写分离
读写分离主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE)从数据库处理SELECT查询操作数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库作用数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。但是数据库的“读”(从oracle读10000条数据可能只要5秒钟)。读写分离是为了防止数据库的写入影响了查询的效率主从复制与读写分离在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求,无论是在
2020-06-29 16:27:30 133
原创 [MySQL]日志系统
redo log日志模块redo log是InnoDB存储引擎层的日志,又称重做日志文件,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来在实例和介质失败(media failure)时,redo log文件就能派上用场,如数据库掉电,InnoDB存储引擎会使用redo log恢复到掉电前的时刻,以此来保证数据的完整性在一条更新语句进行执行的时候,InnoDB引擎会把更新记录写到redo log日志中,然后更新内存,此时算是语句执行完了,然后在空闲的时候或者是按照设定的
2020-06-29 16:24:32 123
原创 [MySQL]主从复制
MySQL主从复制主从复制作用主从复制的原理主从复制步骤主从复制问题主库宕机后,数据可能丢失从库只有一个sql Thread,主库写压力大,复制很可能延时(slave DB 读延迟)复制架构异步复制同步复制半同步复制并行复制主从复制主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库主数据库一般是准实时的业务数据库mysql主从复制是mysql高可用性,高性能(负载均衡)的基础简单,灵活,部署方式多样,可以根据不同业务场景部署不同复制结构,复制过程中应该时刻监控复制状态,复制出错
2020-06-29 16:24:10 100
原创 [云盘]脚本解析
start.sh运行fasfdfs.sh,参数stop,先关闭fastdfs运行fasfdfs.sh,参数 all,启动storage和tracker运行 fcgi.sh,运行所有fastcgi程序运行nginx.sh,参数stop,先关闭nginx运行nginx.sh,参数start,开启nginx运行redis.sh,参数stop,关闭redis运行redis.sh,参数sart,重启redis #!/bin/bash echo echo =====
2020-06-29 16:19:36 1057
原创 [Shell]脚本
ShellShellShell脚本Shell环境Shell脚本示例运行Shell变量定义变量使用变量只读变量删除变量变量类型Shell字符串单双引号区别拼接字符串获取字符串长度提取子字符串Shell数组定义数组读取数组Shell 注释Shell传参Shell基本运算符算数运算符关系运算符布尔运算符逻辑运算符字符串运算符文件测试运算符Shell echo命令Shell printf 命令Shell test命令Shell流程控制ifif elseif else-if elsefor循环whileShell函数
2020-06-29 11:33:13 960
原创 Ubuntu16.04MySQL安装和配置
MySQLMySQL安装官网安装源码安装MySQL安装 官网安装首先设置root权限sudo apt-get installmysql-serverapt isntallmysql-clientapt installlibmysqlclient-dev检查安装是否成功sudo netstat -tap |grep mysql 源码安装由于官网下载...
2020-06-29 09:08:59 143
原创 [前后端分离Blog]项目介绍
Blog项目项目介绍项目框架项目功能前端开发后端开发问题能不能介绍一下Vue开发的全过程工具准备页面开发路由中心配置什么是ajax请求介绍一下在Vue开发中使用的v标签介绍一下Vue开发过程中使用的生命周期函数介绍一下开发过程中使用的钩子函数开发过程中遇到的问题动态路由的设置项目介绍项目框架这是一个我在Github发掘的一个博客管理项目,前端采用Vue+ElementIu制作,后台框架由SpringBoot+Mybatis+MySQL搭建的一个前后端分离项目为了提高开发效率我添加了MybatisP
2020-06-26 19:37:05 1680
原创 [JVM]配置常用参数和常用GC调优策略
JVM配置常用参数堆参数回收期参数大内存使用并发和并行两种,UseParallelGC和UseConcMarkSweepGC项目中常用的配置常用组合GC调优策略GC调优原则多数的 Java 应用不需要在服务器上进行 GC 优化; 多数导致 GC 问题的 Java 应用,都不是因为我们参数设置错误,而是代码问题在应用上线之前,先考虑将机器的 JVM 参数设置到最优(最适合); 减少创建对象的数量; 减少使用全局变量和大对象;GC 优化是到最后不得已才采用的手段; 在实际使用中
2020-06-26 19:36:40 370
原创 [Blog]后端代码分析
项目结构打包后的代码结构如图所示.idea目录.存放项目的配置信息,包括历史记录,版本控制信息等其中 libraries目录中存放的都是maven依赖src目录源码分析main目录java目录包com/markerhub下commondtoLoginDto.javaDTO(Data Transfer Object,数据传送对象)DTO是一个普通的Java类,它封装了要传送的批量的数据。当客户端需要读取服务器端的数据的时候,服务器端将数据封装在D
2020-06-25 21:12:48 1182
原创 [Android]状态机与业务分析
司机状态机与业务逻辑IDLEIDLE状态的司机代表是空闲状态司机端不做任何处理会一直处于这个状态司机端每隔2s向前端更新自己的定位信息,但是不会有后台服务器不会由记录,会不断更新sessionid的生命周期,READYREADY状态的转变是司机点击”开始接单”,status由IDLE变为READY,页面按钮变为“停止接单”司机端每隔两秒调用底层JNI模块更新自己定位信息(向缓存中的GEO司机坐标池),协议数据包括sessionid,status,driver,位置信息有用户下单并且选中
2020-06-24 18:03:09 392
原创 [Android]数据库表设计
缓存表司机sessionid和临时信息映射表[HASH]司机临时状态表Key:online-driver-[sessionid]注意,orderid是在web应用服务器分配自动分配司机给一个用户给该司机,时生成一个订单号,格式为orderid-xxxx-xxx-xxx-xxx-xxxx乘客sessionid和临时信息映射表[HASH]乘客临时状态表Key:key: online-user-[sessionid]临时订单表[HASH]key:orderid-xxxx-xxx-xxx-
2020-06-24 18:02:51 391
原创 [Android]通讯协议设计
通讯协议Andoroid与Web登陆协议注册协议更新地理位置信息协议思考(难点)通信协议的设置状态机设计Andoroid与Web登陆协议登陆协议的设计包括与服务器通信协议和得到服务器相应数据格式定义与服务器通信协议主要是请求URL“/login”,协议数据格式为json对象,三个键值对响应数据分为成功,失败两种reslut字段,recode字段,sessionid,orderid,status失败时,result字段,reason字段=== =给服务端的协议====ht
2020-06-24 18:02:11 628
原创 [Android]数据服务器开发
server-datahttps-server.c unsigned short serverPort = COMMON_HTTPS_PORT; /* Instead of casting between these types, create a union with all of them, * to avoid -Wstrict-aliasing warnings. */ typedef union { struct sockaddr_storage ss;
2020-06-24 10:49:27 446 1
原创 [Android]web服务器开发
Web服务器服务器开发https_server.clogin.creg.cset_order.cfinish.order.clocation_changed.cremote_store.c服务器开发https_server.c这是用libevent搭建的https服务器,libevent搭建的服务器框架,通过创建创建一evhttp 句柄,去处理用户端的requests请求只需要写对应的URL和对应的http回调函数处理请求https-server的处理流程是:创建evhttp句柄
2020-06-23 21:40:52 1100
原创 [Android]Android开发(三)
JNIJNI目录Android.mk设置LOCAL_PATH变量Application.mkData.cppLogin.cppReg.cppStartOrder.cppDriverLocationChanged.cppPassengerLocationChanged.cppCurl.cppcJson.cppJNI目录Android.mk类似于Makefile设置LOCAL_PATH变量LOCAL_PATH:=$(call my-dir)##### libcurl.so #########
2020-06-23 18:47:21 315
原创 [Android]Android开发(二)
界面开发登陆界面开发登陆按钮注册按钮界面源码注册界面开发注册按钮界面源码司机界面地图容器mapView搜索菜单栏接单按钮逻辑与司机状态机将代表司机的覆盖物加载地图上定位服务接口总结乘客界面开发搜索菜单栏定位服务总结OBOJni.java登陆界面开发两个EditText分别输入username和passwd两个Button一个login登陆,一个reg注册一个CheckBox判断是否为司机登陆按钮一个文本为“登陆”的Button,绑定了点击事件从两个text拿到useername和pas
2020-06-23 14:41:55 414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人