TCP和UDP的区别畅想
web服务器如果是基于tcp的,那么用来监听端口端口例如80,一定只能用来接收消息,而不能从这个端口主动发消息出去。 但是udp服务器就不一样了,同一端口,即可以用来做listen的端口,也可以从这个端口主动发消息出去。
web服务器如果是基于tcp的,那么用来监听端口端口例如80,一定只能用来接收消息,而不能从这个端口主动发消息出去。 但是udp服务器就不一样了,同一端口,即可以用来做listen的端口,也可以从这个端口主动发消息出去。
我觉得PlantUML非常适合绘制时序图,先给个完整的例子,我经常会用到的PlantUML画SIP请求时序图。 @startuml autonumber alice->bob: INVITE bob-[#green]>alice: 180 Ringing bob-[#green]>alice: 200 OK == talking == bob-[#green]>alice: BYE alice->bob: 200 OK @enduml 简单箭头 –> 虚线箭头 -> 简单箭头 -[#red]> 带颜色的箭头 @startuml alice->bob: INVITE bob-->alice: 180 Ringing @enduml 声明参与者顺序 先使用participant关键字声明了bob, 那么bob就会出现在最左边 @startuml participant bob participant alice alice->bob: INVITE bob->alice: 180 Ringing @enduml 声明参与者类型 actor boundary control entity database @startuml participant start actor a boundary b control c entity d database e start->a start->b start->c start->d start->e @enduml ...
编译器面无表情的说:xxx.cfg 189行,有个地方多了个分号? 但是你在在xxx.cfg的地189哼哧哼哧找了半天,满头大汗,也没发现有任何问题,这一行甚至连个分号都没有!! 而实际上,这个问题并不是出在第189行,而是出在前面几行。 所以说,编译器和女朋友的相同之处在于:**他们说的话,你不能全信,也不能不信。**而要从他们说的话中分析上下文,从蛛丝马迹中,寻求唯一的真相。
报错信息如下 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for 'mmmmm' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. 解决方案:将你的私钥的权限改为600, 也就是说只有你自己可读可写,其他人都不能用 chmod 600 你的私钥
一般拷贝全文分为以下几步 使用编辑器打开文件 全文选择文件 执行拷贝命令 实际上操作系统提供了一些命令,可以在不打开文件的情况下,将文件内容复制到剪贴板。 mac pbcopy cat aaa.txt | pbcopy linux xsel cat aaa.txt | xsel windows clip cat aaa.txt | clip
解决方案 方案1: sudo kill -9 `ps aux | grep -v grep | grep /usr/libexec/airportd | awk '{print $2}'` 或者任务管理器搜索并且杀掉airportd这个进程 参考 https://discussionschinese.apple.com/thread/140138832?answerId=140339277322#140339277322 https://www.v2ex.com/t/505737 https://blog.csdn.net/Goals1989/article/details/88578012
编辑/etc/my.cnf,增加skip-name-resolve skip-name-resolve 然后重启mysql
github向我推荐这个xmysql时候,我瞟了一眼它的简介One command to generate REST APIs for any MySql Database, 说实话这个介绍让我眼前一亮,想想每次向后端的同学要个接口的时候,他们总是要哼哧哼哧搞个半天给才能我。抱着试试看的心态,我试用了一个疗程,oh不是, 是安装并使用了一下。 说实话,体验是蛮不错的,但是体验一把过后,我想不到这个工具的使用场景,因为你不可能把数据库的所有表都公开出来,让前端随意读写, 但是试试看总是不错的. 1 来吧,冒险一次! 安装与使用 npm install -g xmysqlxmysql -h localhost -u mysqlUsername -p mysqlPassword -d databaseName浏览器打开:http://localhost:3000, 应该可以看到一堆json 2 特点 产生REST Api从任何mysql 数据库 🔥🔥 无论主键,外键,表等的命名规则如何,都提供API 🔥🔥 支持复合主键 🔥🔥 REST API通常使用:CRUD,List,FindOne,Count,Exists,Distinct批量插入,批量删除,批量读取 🔥 关联表 翻页 排序 按字段过滤 🔥 行过滤 🔥 综合功能 Group By, Having (as query params) 🔥🔥 Group By, Having (as a separate API) 🔥🔥 Multiple group by in one API 🔥🔥🔥🔥 Chart API for numeric column 🔥🔥🔥🔥🔥🔥 Auto Chart API - (a gift for lazy while prototyping) 🔥🔥🔥🔥🔥🔥 XJOIN - (Supports any number of JOINS) 🔥🔥🔥🔥🔥🔥🔥🔥🔥 Supports views Prototyping (features available when using local MySql server only) Run dynamic queries 🔥🔥🔥 Upload single file Upload multiple files Download file 3 API 概览 HTTP Type API URL Comments GET / Gets all REST APIs GET /api/tableName Lists rows of table POST /api/tableName Create a new row PUT /api/tableName Replaces existing row with new row POST :fire: /api/tableName/bulk Create multiple rows - send object array in request body GET :fire: /api/tableName/bulk Lists multiple rows - /api/tableName/bulk?_ids=1,2,3 DELETE :fire: /api/tableName/bulk Deletes multiple rows - /api/tableName/bulk?_ids=1,2,3 GET /api/tableName/:id Retrieves a row by primary key PATCH /api/tableName/:id Updates row element by primary key DELETE /api/tableName/:id Delete a row by primary key GET /api/tableName/findOne Works as list but gets single record matching criteria GET /api/tableName/count Count number of rows in a table GET /api/tableName/distinct Distinct row(s) in table - /api/tableName/distinct?_fields=col1 GET /api/tableName/:id/exists True or false whether a row exists or not GET /api/parentTable/:id/childTable Get list of child table rows with parent table foreign key GET :fire: /api/tableName/aggregate Aggregate results of numeric column(s) GET :fire: /api/tableName/groupby Group by results of column(s) GET :fire: /api/tableName/ugroupby Multiple group by results using one call GET :fire: /api/tableName/chart Numeric column distribution based on (min,max,step) or(step array) or (automagic) GET :fire: /api/tableName/autochart Same as Chart but identifies which are numeric column automatically - gift for lazy while prototyping GET :fire: /api/xjoin handles join GET :fire: /dynamic execute dynamic mysql statements with params GET :fire: /upload upload single file GET :fire: /uploads upload multiple files GET :fire: /download download a file GET /api/tableName/describe describe each table for its columns GET /api/tables get all tables in database 3 更多资料 项目地址:https://github.com/o1lab/xmysql
docker The docker variable offers convenient access to Docker-related functions from a Pipeline script.Methods needing a slave will implicitly run a node {…} block if you have not wrapped them in one. It is a good idea to enclose a block of steps which should all run on the same node in such a block yourself. (If using a Swarm server, or any other specific Docker server, this probably does not matter, but if you are using the default server on localhost it likely will.)Some methods return instances of auxiliary classes which serve as holders for an ID and which have their own methods and properties. Methods taking a body return any value returned by the body itself. Some method parameters are optional and are enclosed with []. Reference: ...
虚拟化 问题: 操作系统如何虚拟化? 虚拟化有什么好处? 操作系统向下控制硬件,向上提供API给应用程序调用。 系统的资源是有限的,应用程序都需要资源才能正常运行,所以操作系统也要负责资源的分配和协调。通常计算机有以下的资源。 cpu 内存 磁盘 网络 有些资源可以轮流使用,而有些资源只能被独占使用。