wifi

wifi Wi-Fi是一种允许电子设备连接到一个无线局域网 (WLAN)的技术,通常使用2.4G UHF或5G SHF ISM 射频频段。 802.11a 5 GHz 1999 年发布。 各种调制类型的数据传输率:6、9、12、18、24、36、48 和 54 Mbps。 带 52 个子载波频道的正交频分复用 (OFDM)技术。 不需要许可证的国家信息基础设施 (UNII)频道内的 12 个 5 GHz 互不重叠频带。 802.11b 2.4 GHz 传送速度为11Mbit/s IEEE802.11b的后继标准是IEEE802.11g; 在2.4-GHz-ISM频段共有14个频宽为22MHz的频道可供使用。 1999 年发布。 各种调制类型的数据传输率:1、2、5.5 和 11 Mbps 高速直接序列展频 (HR-DSSS)。 工业、科技和医疗 (ISM)领域内的三个 2.4 GHz 互不重叠频带。 802.11g 2.4GHz OFDM 原始传送速度为54Mbit/s,净传输速度约为24.7Mbit/s (跟802.11a相同)。 2003 年发布。 各种调制类型的数据传输率:6、9、12、18、24、36、48 和 54 Mbps;可以使用 DSSS 和 CCK 转换为 1、2、5.5 和 11 Mbps。 带 52 个子载波频道的正交频分复用 (OFDM)技术;使用 DSSS 和 CCK 向下兼容 802.11b。 工业、科技和医疗 (ISM)领域内的三个 2.4 GHz 互不重叠频带。 ...

2012-03-20 · 1 min · 186 words · -

Go context

Go context 什么是 context Go 1.7 标准库引入 context,中文译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。 context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v 等。 随着 context 包的引入,标准库中很多接口因此加上了 context 参数,例如 database/sql 包。context 几乎成为了并发控制和超时控制的标准做法。 context.Context 类型的值可以协调多个 groutine 中的代码执行“取消”操作,并且可以存储键值对。最重要的是它是并发安全的。 与它协作的 API 都可以由外部控制执行“取消”操作,例如:取消一个 HTTP 请求的执行。 https://zhuanlan.zhihu.com/p/68792989 https://www.36kr.com/p/1721518997505

2012-03-19 · 1 min · 36 words · -

us, 用户故事

us, 用户故事 as a xxx, i would like to xxx so that xxx. As a “user”, I want to “do sth”, so that “sth” “user” - 就是我们抽象出来的persona (Definition refer to wiki http://en.wikipedia.org/wiki/Persona) “do sth” - 要实现的功能 最后so that后面的 “sth” - 价值 价值说起来很简单,也很容易理解,就是 实现这个story后对用户的价值所在。 可是再多问一个问题,为什么要有这个价值,为什么一定要写这个so that呢? 如果你的目的是想买一条裙子,20年前,唯一的就是去商场买,但是今天我们还可以选择网上购物。 这也就是说,对于同一个story,不同的技术背景,不同的地域,不同的时代都会有不同的实现,这就是so that存在的价值。

2012-03-19 · 1 min · 48 words · -

计算器 bc, expr、dc、echo、awk)

计算器 bc, expr、dc、echo、awk) Linux下的计算器 bc, expr、dc、echo、awk) bc # install bc sudo pacman -S bc # 将16进制的A7输出为10进制, 注意,英文只能大写 echo "ibase=16;A7" |bc bc在默认的情况下是个交互式的指 令。在bc工作环境下,可以使用以下计算符号: + 加法 – 减法 * 乘法 / 除法 ^ 指数 % 余数 示例: bc #bc 1.07.1 #Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. #This is free software with ABSOLUTELY NO WARRANTY. #For details type `warranty'. 2.7*8 # 21.6 3+6 <=加法 4+2_3 <=加法、乘法 (4+2)_3 <=加法、乘法 (优先) 4_6/8 <=乘法、除法 10^3 <=指数 1000 18%5 <=余数 3+4;5_2;5^2;18/4 <=一行输入多个计算,用;相隔。 quit <=退出 bc scale=3 <=设小数位 1/3 .333 quit 以上是交互的计算,那到也可以不进行交互而直接计算出结果。 ...

2012-03-18 · 2 min · 411 words · -

pathmunge

pathmunge pathmunge是linux系统redhat系列版本系统变量/etc/profile中的函数,如果想要把某个二进制程序可以在所有的shell不用全路径运行,就需要将其所在的目录放在profile中,用过的命令正是pathmunge (目录命) pathmunge{ if ! echo $PATH | /bin/egrep -q “(^|:)$1($|:)";then if["$2”=“after”];then PATH=$PATH:$1 else PATH=$1:$PATH fi fi export PATH } pathmunge大致的作用是: 判断当前系统的PATH中是否有该命令的目录,如果没有,则判断是要将该目录放于PATH之前还是之后 echo “PATH” 输出PATH变量的内容以供egrep查询, grep是利用正则表达式来搜索文本的工具,egrep用的是扩展的正则表达式 -q:do not write anything to the standart output “(^|:)$1($|:)“为要搜索的文本,()和|都是扩展的正则表达式,()查找组,|用或的方式查找字符串,^和$是基础的正则表达式,表示待查找的字符串在开头或结尾,&1是命令所在的目录,整个表达式的意思就是在PATH开头或以: 开头,末尾是文本的末尾或以: 为末尾的该目录 !表示查找的字符串不在PATH中 下来两个if很好理解,如果你想把该目录放于整个PATH变量的后边,pathmunge (目录名) after 则PATH=$PATH:$1,否则PATH=$1:PATH export 将新设置的变量输出,使其在当前的shell和以后的shell中都生效

2012-03-15 · 1 min · 45 words · -

linux distribution, 发行版

linux distribution, 发行版 Archlinux Gentoo Alpine Ubuntu Centos Fedora Debian Redhat

2012-03-14 · 1 min · 11 words · -

PuTTY, SecureCRT

PuTTY SecureCRT 在命令行启动 SecureCRT 的时候指定配置文件目录 # SecureCRT /F folder SecureCRT /F C:\workspace\conf\securecrt 命令行直接连接某一个 ssh 服务 SecureCRT.exe /SSH2 /L wiloon /P 22 /PASSWORD password0 192.168.50.80 端口转发 File> Connection> 选择一个连接> Properties Name: foo Local Manually select IP address on which to allow connections (checked) IP address: 127.0.0.1 Port: 32178 Remote Destination host is different from the SSH server(checked) Hostname: 192.168.1.111 Port: 32178 从 windows 访问 linux,除了 samba 之外,日常操作用得最多的大概就是 PuTTY 和 SecureCRT Putty是免费的,SecureCRT是收费的 Putty缺省配置就很好看很好用,SecureCRT的缺省配置不是为linux准备的而且很难看。 ...

2012-03-14 · 1 min · 80 words · -

RedHat Enterprise Linux 网络配置

RedHat Enterprise Linux 网络配置 一、$/sbin/ifconfig //显示ifconfig命令查看网络接口的信息 #ifconfig eth0 //显示指定接口的信息 #ifconfig -a //显示所有接口的信息 (无论是否活跃) #ifconfig eth0 192.168.0.2 netmask 255.255.255.0 //临时修改接口IP地址 (无需重启接口) 二、$/sbin/route //显示当前Linux主机中的路由表信息 #route del default gw 192.168.0.1 //临时删除默认网关192.168.0.1 #route add default gw 192.168.0.1 //临时添加默认网关192.168.0.1 #route add -net 192.168.1.0/24 gw 192.168.0.254 //临时添加一条静态路由 /*本文中提及临时操作的地方,即主机重启后该操作将失效,如果希望每次系统重启后自动添加静态路由条目,则可以将该语句写入/etc/rc.d/rc.local中。*/ 三、#ping //测试与其他主机的网络连接 #ping -c 4 192.168.0.1 //指定发出ICMP包个数 四、#traceroute //测试当前主机到目的著急的网络连接 五、#hostname //查看当前主机的主机名 #hostname linsrv //临时修改当前主机名 六、#nslookup //测试DNS域名解析 server //显示当前DNS服务器 server 192.168.0.1 //临时指定DNS服务器地址 七、#dhclient //为当前主机申请网络配置信息 八、#netconfig //通过向导在字符界面下修改网络配置信息 九、#/etc/init.d/network restart //重启网络服务 ...

2012-03-13 · 1 min · 168 words · -

Disable Network Manager In Ubuntu

Disable Network Manager In Ubuntu This brief tutorial will show you how to quickly disable Network Manager in Ubuntu Lucid and configure a static or DHCP setting manually. This method will not remove or uninstall Network Manager, but makes it inactive every time you login to your computer. If Network Manager is misbehaving, this is also another way to disable it. sudo apt-get purge network-manager network-manager-gnome gedit /etc/network/interfaces auto lo ...

2012-03-13 · 1 min · 118 words · -

axios

axios 模拟form 提交 Content-Type: multipart/form-data import axios from 'axios' let data = new FormData(); data.append('code','1234'); data.append('name','yyyy'); axios.post(`${this.$url}/test/testRequest`,data) .then(res=>{ console.log('res=>',res); }) https://segmentfault.com/a/1190000015261229

2012-03-13 · 1 min · 21 words · -

极限编程

极限编程 (ExtremeProgramming,简称XP) 是由KentBeck在1996年提出的。KentBeck在九十年代初期与WardCunningham共事时,就一直共同探索着新的软件开发方法,希望能使软件开发更加简单而有效。Kent仔细地观察和分析了各种简化软件开发的前提条件、可能性以及面临的困难。1996年三月,Kent终于在为DaimlerChrysler所做的一个项目中引入了新的软件开发观念——XP。 极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善: 加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。 软件开发的内容是: 需求、设计、编程和测试。 需求: 不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,你经常要和客户、项目经理等交流。 设计: 编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。 编程: 如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。 测试: 目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。 软件开发中,客户和开发人员都有自己的基本权利和义务。 客户: 定义每个用户需求的商业优先级; 制订总体计划,包括用多少投资、经过多长时间、达到什么目的; 在项目开发过程中的每个工作周,都能让投资获得最大的收益; 通过重复运行你所指定的功能测试,准确地掌握项目进展情况; 能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划; 能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。 开发人员: 知道要做什么,以及要优先做什么; 工作有效率; 有问题或困难时,能得到客户、同事、上级的回答或帮助; 对工作做评估,并根据周围情况的变化及时重新评估; 积极承担工作,而不是消极接受分配; 一周40小时工作制,不加班。 这就是软件开发,除此之外再还有其它要关心的问题! 灵巧的轻量级软件开发方法 一套软件开发方法是由一系列与开发相关的规则、规范和惯例。重量级的开发方法严格定义了许多的规则、流程和相关的文档工作。灵巧的轻量级开发方法,其规则和文档相对较少,流程更加灵活,实施起来相对较容易。 在软件工程概念出现以前,程序员们按照自己喜欢的方式开发软件。程序的质量很难控制,调试程序很繁琐,程序员之间也很难读懂对方写的代码。1968年,EdsgerDijkstra给CACM写了一封题为GOTOStatementConsideredHarmful的信,软件工程的概念由此诞生。程序员们开始摒弃以前的做法,转而使用更系统、更严格的开发方法。为了使控制软件开发和控制其它产品生产一样严格,人们陆续制定了很多规则和做法,发明了很多软件工程方法,软件质量开始得到大幅度提高。随着遇到的问题更多,规则和流程也越来越精细和复杂。 到了今天,在实际开发过程中,很多规则已经难于遵循,很多流程复杂而难于理解,很多项目中文档的制作过程正在失去控制。人们试图提出更全面更好的一揽子方案,或者寄希望于更复杂的、功能更强大的辅助开发工具 (CaseTools) ,但总是不能成功,而且开发规范和流程变得越来越复杂和难以实施。 为了赶进度,程序员们经常跳过一些指定的流程,很少人能全面遵循那些重量级开发方法。 失败的原因很简单,这个世界没有万能药。因此,一些人提出,将重量级开发方法中的规则和流程进行删减、重整和优化,这样就产生了很多适应不同需要的轻量级流程。在这些流程中,合乎实际需要的规则被保留下来,不必要的复杂化开发的规被抛弃。而且,和传统的开发方法相比,轻量级流程不再象流水生产线,而是更加灵活。 ExtremeProgramming (XP) 就是这样一种灵巧的轻量级软件开发方法。 为什么称为"Extreme" (极限) “Extreme” (极限) 是指,对比传统的项目开发方式,XP强调把它列出的每个方法和思想做到极限、做到最好;其它XP所不提倡的,则一概忽略 (如开发前期的整体设计等) 。一个严格实施XP的项目,其开发过程应该是平稳的、高效的和快速的,能够做到一周40小时工作制而不拖延项目进度。 极限编程中有四个核心价值是我们在开发中必须注意的: 沟通 (Communication) 、简单 (Simplicity) 、反馈 (Feedback) 和勇气 (Courage) 。 XP用"沟通、简单、反馈和勇气"来减轻开发压力和包袱;无论是术语命名、专著叙述内容和方式、过程要求,都可以从中感受到轻松愉快和主动奋发的态度和气氛。这是一种帮助理解和更容易激发人的潜力的手段。XP用自己的实践,在一定范围内成功地打破了软件工程"必须重量"才能成功的传统观念。 XP精神可以启发我们如何学习和对待快速变化、多样的开发技术。成功学习XP的关键,是用"沟通、简单、反馈和勇气"的态度来对待XP;轻松愉快地来感受XP的实践思想;自己认真实践后,通过对真实反馈的分析,来决定XP对自己的价值;有勇气接受它,或改进它。 工作环境 为了在软件开发过程中最大程度地实现和满足客户和开发人员的基本权利和义务,XP要求把工作环境也做得最好。每个参加项目开发的人都将担任一个角色 (项目经理、项目监督人等等) 并履行相应的权利和义务。所有的人都在同一个开放的开发环境中工作,最好是所有人在同一个大房子中工作,还有茶点供应;每周40小时,不提倡加班;每天早晨,所有人一起站着开个短会;墙上有一些大白板,所有的Story卡、CRC卡等都贴在上面,讨论问题的时候可以在上面写写画画;下班后大家可以一起玩电脑游戏……。 需求 客户应该是项目开发队伍中的一员,而不是和开发人员分开的;因为从项目的计划到最后验收,客户一直起着很重要的作用。开发人员和客户一起,把各种需求变成一个个小的需求模块 (UserStory) ,例如"计算年级的总人数,就是把该年级所有班的人数累加。";这些模块又会根据实际情况被组合在一起或者被分解成更小的模块;它们都被记录在一些小卡片 (StoryCard) 上,之后分别被程序员们在各个小的周期开发中 (Iteration,通常不超过3个星期) 实现;客户根据每个模块的商业价值来指定它们的优先级;开发人员要做的是确定每个需求模块的开发风险,风险高的 (通常是因为缺乏类似的经验) 需求模块将被优先研究、探索和开发;经过开发人员和客户分别从不同的角度评估每个模块后,它们被安排在不同的开发周期里,客户将得到一个尽可能准确的开发计划;客户为每个需求模块指定验收测试 (功能测试) 。 ...

2012-03-12 · 2 min · 309 words · -

Windows PowerShell

Windows PowerShell # 查看 power shell 版本 $PSVersionTable # 查看安装路径 $PSHOME install https://github.com/PowerShell/PowerShell/releases Set-Aliasll dir http://marui.blog.51cto.com/1034148/290067/ Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。 目录 Windows PowerShell 简介 PowerShell脚本十个基本概念 Windows PowerShell 简介 目标受众 Windows PowerShell 入门主要面向之前没有 Windows PowerShell 背景知识的 IT 专业人员、程序员和高级用户。虽然具备脚本和 WMI 方面的背景知识会有所帮助,但是理解本文档并不假定或要求您具备此方面知识。 关于 Windows PowerShell 通过解决长期存在的问题并添加一些新的功能,Windows PowerShell 旨在改进命令行和脚本环境. 关于 Windows PowerShell 通过解决长期存在的问题并添加一些新的功能,Windows PowerShell 旨在改进命令行和脚本环境。 可发现特性 您可轻易发现 Windows Powershell 的功能。例如,若要查找用于查看和更改 Windows 服务的 cmdlet 列表,请键入: ...

2012-03-12 · 3 min · 448 words · -

XMMS

XMMS X Multimedia System (XMMS)是一套自由的音频播放器,其外表极像Winamp,但是运行在Unix-like 操作系统。 XMMS原来的名字是"X11Amp",是由Peter and Mikael Alm在1997年11月所编写的,原因是 “Linux没有好的mp3播放器”。 这个播放器是故意模仿Winamp的,其第一个版本是在翌年5月发行的。自其发行后,XMMS皆支持Winamp的面板。虽然原来的授权是闭源的,但现已变为开源,采用GNU General Public License。 在1999年6月10日,4Front Technologies决定赞助X11Amp开发并将计划名称改成"XMMS"- 这个名称解为"X MultiMedia System"。大部份XMMS使用者将X解为X11或X-Windows ,但实际上X是解为"跨平台"。 批评 XMMS一直坚持使用古老的GTK+程式包来编写,最基本的不升级原因是因为大部份插件皆依赖于旧的GTK环境。很多程序设计员亦认为XMMS的源代码设计得太差,很难维护。基于以上原因,网络上出现了很多相关的改进计划: • Beep Media Player,是以GTK+ 2来重新编写XMMS的音频播放器,在2003年开始计划。 • 而有一个并不著名的以GTK+ 2重新编写XMMS的计划,称为XMMS2,是由Mohammed Sameer主持的,但此计划已停止维护。 • XMMS2计划,是打算将XMMS的代码全部重新编写的,由Peter Alm主持,在2002冬季开始。 编辑本段 特色 XMMS现在支持以下的音频和视频档案: • 音乐光碟, 包含 经由FreeDB支持CDDB • libmikmod 所支持的格式 (including .XM, .MOD, .IT) • MPEG Layer 1,2 and 3 (即是 MP3), 经由 mpg123程式库支持 • Vorbis • WAV • TTA - 经由第三方插件支持 • WavPack - 经由第三方插件支持 ...

2012-03-10 · 1 min · 103 words · -

第一届黑客信息战 MIT CTF 2011记录

第一届黑客信息战 MIT CTF 2011记录 这个是前两天我朋友 dcluo 在 MIT(麻省理工学院) 参加的一个黑客竞赛的实战记录 分享给大家看看 感受一下国外的技术竞赛魅力 ———————————————————————— 第一届 MIT CTF 2011 信息战随笔 – 此次经历,值得记录 (我尽量写的详细,希望各大学校组织效仿这类比赛) 前言: 事情追溯到几个月前在 hackathon 有幸认识了一位MIT 计算机女强人 haoqi 同学。 (hacakthon是微软举办的一个过夜的"搞破坏者"的集会。)在大约凌晨2点左右。。 我和她都被微软强行推荐的 Windows 7 Phone 寂寞无聊的不行。 我突然对她说,你对网络入侵感兴趣么? 一下子,一拍即合。于是引导了今天和昨天 20个小时的入侵攻防信息战模拟。 比赛名称: MIT CTF 2011 时间: 4月2~3日 早8: 30 – 晚9:00点 地点: MIT 人物: 韩国网安内核牛+haoqi+我 + 其他12个组 (~45人) 比赛规格: 13组小队 (MIT,BU,UMASS,NE…) 一个组一个VM (ubuntu 10.10 + 最新apache+MySQL+wordpress) 分别运行在同一个虚拟机服务器上但是不同IP和Domain。 每个组一个SWITCH BOX 和 名为 ctfuser 的用户权限(ssh) 和三个密码 (ssh+wordpress+评分页密码) WordPress 每随机一段时间会要求安装一个plugin。 每天可以有一个snapshot和三次全盘恢复机会。 任务目标: ...

2012-03-06 · 3 min · 448 words · -

IaaS PaaS SaaS

‘IaaS PaaS SaaS’ 云服务"现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。 “云"其实是互联网的一个隐喻,“云计算"其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。 任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是CTO,所以有时候看到云技术背后的一些词可能会比较头疼。 云也是分层的 任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure (基础设施) -as-a-Service,Platform (平台) -as-a-Service,Software (软件) -as-a-Service。基础设施在最下端,平台在中间,软件在顶端。别的一些"软"的层可以在这些层上面添加。 IaaS: Infrastructure-as-a-Service (基础设施即服务) 第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。 但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。 一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。 PaaS: Platform-as-a-Service (平台即服务) 第二层就是所谓的PaaS,你公司所有的开发都可以在这一层进行,节省了时间和资源。 PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。 一些大的PaaS提供者有Google App Engine, Microsoft Azure,Force.com, Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud SaaS: Software-as-a-Service (软件即服务) 第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。 你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。 一些用作商务的 SaaS 应用包括 Citrix 的 GoToMeeting,WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。 Iaas和Paas之间的比较 PaaS的主要作用是将一个开发和运行平台作为服务提供给用户,而IaaS的主要作用是提供虚拟机或者其他资源作为服务提供给用户。接下来,将在七个方面对PaaS和IaaS进行比较: 开发环境: PaaS基本都会给开发者提供一整套包括IDE在内的开发和测试环境,而IaaS方面用户主要还是沿用之前比较熟悉那套开发环境,但是因为之前那套开发环境在和云的整合方面比较欠缺,所以使用起来不是很方便。 支持的应用: 因为IaaS主要是提供虚拟机,而且普通的虚拟机能支持多种操作系统,所以IaaS支持的应用的范围是非常广泛的。但如果要让一个应用能跑在某个PaaS平台不是一件轻松的事,因为不仅需要确保这个应用是基于这个平台所支持的语言,而且也要确保这个应用只能调用这个平台所支持的API,如果这个应用调用了平台所不支持的API,那么就需要对这个应用进行修改。 开放标准: 虽然很多IaaS平台都存在一定的私有功能,但是由于OVF等协议的存在,使得IaaS在跨平台和避免被供应商锁定这两面是稳步前进的。而PaaS平台的情况则不容乐观,因为不论是Google的App Engine,还是Salesforce的Force.com都存在一定的私有API。 可伸缩性: PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。而IaaS平台则需要开发人员手动对资源进行调整才能应对。 整合率和经济性: PaaS平台整合率是非常高,比如PaaS的代表Google App Engine能在一台服务器上承载成千上万的应用,而普通的IaaS平台的整合率最多也不会超过100,而且普遍在10左右,使得IaaS的经济性不如PaaS。 ...

2012-03-06 · 1 min · 87 words · -

systemd timer, cron, crond, crontab, linux 定时任务, cronie

systemd timer, systemd-timer, cron, crond, crontab, linux 定时任务, cronie 安装了 systemd 的系统, 可以用 systemd-timer 来替代 cron 和 anacron。 When using the systemd init system, (persistent) timers are available as a replacement of (ana)cron. Since version 197 systemd supports timers, making cron unnecessary on a systemd system. Since version 212 persistent services are supported, replacing even anacron. Persistent timers are run at the next opportunity if the system was powered down when the timer was scheduled to run. ...

2012-03-02 · 6 min · 1075 words · -

MySQL index

MySQL index http://book.51cto.com/art/201012/240956.htm 7.2 创建索引 创建索引是指在某个表的一列或多列上建立一个索引,以便提高对表的访问速度。创建索引有3种方式,这3种方式分别是创建表的时候创建索引、在已经存在的表上创建索引和使用ALTER TABLE语句来创建索引。本节将详细讲解这3种创建索引的方法。 7.2.1 创建表的时候创建索引 (1) 创建表时可以直接创建索引,这种方式最简单、方便。其基本形式如下: CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件], …… 属性名 数据类型 [ UNIQUE | FULLTEXT | SPATIAL ] INDEX | KEY [ 别名 ] ( 属性名1 [(长度)] [ ASC | DESC] ) ); 其中,UNIQUE是可选参数,表示索引为唯一性索引;FULLTEXT是可选参数,表示索引为全文索引;SPATIAL也是可选参数,表示索引为空间索引;INDEX和KEY参数用来指定字段为索引的,两者选择其中之一就可以了,作用是一样的;“别名"是可选参数,用来给创建的索引取的新名称;“属性1"参数指定索引对应的字段的名称,该字段必须为前面定义好的字段;“长度"是可选参数,其指索引的长度,必须是字符串类型才可以使用;“ASC"和"DESC"都是可选参数,“ASC"参数表示升序排列,“DESC"参数表示降序排列。 1.创建普通索引 创建一个普通索引时,不需要加任何UNIQUE、FULLTEXT或者SPATIAL参数。 【示例7-1】 下面创建一个表名为index1的表,在表中的id字段上建立索引。SQL代码如下: CREATE TABLE index1 (id INT , name VARCHAR(20) , sex BOOLEAN , INDEX ( id) ); 运行结果显示创建成功,使用SHOW CREATE TABLE语句查看表的结构。显示如下: MySQL> SHOW CREATE TABLE index1 \G ...

2012-03-01 · 2 min · 222 words · -

可执行文件

可执行文件 目标文件与可执行文件格式的小历史 目标文件与可执行文件的格式和操作系统和编译器密切相关,不同的系统平台下会有不同的格式,但是这些格式又大同小异,可以说,目标文件与可执行文件格式的历史几乎是操作系统的发展史。 COFF是由Unix System V Release 3首次提出并使用的格式规范,后来Microsoft在其基础上,制定了PE格式标准,并将其应用于自家的Windows NT系统。后台,System V Release 4 在 COFF的基础上引入了ELF格式,目前流行的Linux系统也是以ELF作为基本的可执行文件格式。这也是为什么目前PE和ELF如此相似的原因,因为它们都是源于同一种可执行文件格式COFF。 在COFF之前,Unix最早的可执行文件格式是a.out格式,中文意为汇编器输出。因其设计简单,以至于后来共享库出现的时候,a.out格式变得捉襟见肘,难以满足共享库实现的要求,于是从Unix System V Release 3开始被COFF取代。由于COFF格式的设计非常通用,以至于COFF的继承者PE和ELF目前还在被广泛地使用。COFF的主要贡献是在目标文件中引入了“段”的机制,不同的目标文件可以拥有不同数量及不同类型的段。另外,还定义了调试数据的格式。 可执行文件(Executable File)是指可以由操作系统直接加载执行的文件,在Windows操作系统中可执行文件就是PE文件结构,在Linux下则是ELF文件 PE文件整体结构 PE结构可以大致分为: DOS部分 PE文件头 节表(块表) 节数据(块数据) 调试信息 PE文件种类如下表所示: 种类 主扩展名 可执行系列 EXE, SCR 库系列 DLL, OCX, CPL, DRV 驱动程序系列 SYS, VXD 对象文件系列 OBJ 在Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A (MZ)。如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件。比如用16进制文本编辑器打开一个“.xls”文件其前两个字节为:0XD0 0XCF;打开一个“.pdf”其前两个字节为:0X25 0X50。 ———————————————— 版权声明:本文为CSDN博主「Apollon_krj」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Apollon_krj/article/details/77069342 https://www.ascotbe.com/2020/03/23/PortableExecutable/ ELF (Executable Linkable Format) ELF (Executable Linkable Format):linux下的可执行文件格式,按照ELF格式编写的文件包括:.so、.a等 Mach-O Mach-O:iOS/MacOS下可执行文件格式,平时常见的.app或者ipa只是zip压缩包并非可执行文件,可执行文件在压缩包中。在mac下使用file命令打印任意可执行文件便可以看到如下内容: file /Applications/filename.app/Contents/MacOS/filename Mach-O 64-bit executable x86_64 ...

2012-03-01 · 1 min · 82 words · -

MongoDB

MongoDB # mongodb 5.0以上需要 cpu支持 avx, pve 中 cpu 类型要选 max podman run -d --name wekan-db -p 27017:27017 mongo:5.0.9 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: 面向集合存储,易存储对象类型的数据。 模式自由。 支持动态查询。 支持完全索引,包含内部对象。 支持查询。 支持复制和故障恢复。 使用高效的二进制数据存储,包括大型对象 (如视频等) 。 自动处理碎片,以支持云计算层次的扩展性 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。 文件存储格式为BSON (一种JSON的扩展) 可通过网络访问 所谓"面向集合" (Collenction-Orented) ,意思是数据被分组存储在数据集中,被称为一个集合 (Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库 (RDBMS) 里的表 (table) ,不同的是它不需要定 义任何模式 (schema)。 模式自由 (schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON (Binary Serialized dOcument Format) 。 MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB 在32位模式运行时支持的最大文件尺寸为2GB。 MongoDB把数据存储在文件中 (默认路径为: /data/db) ,为提高效率使用内存映射文件进行管理。

2012-02-29 · 1 min · 61 words · -

Bootchart, systemd-analyze

Bootchart, systemd-analyze Bootchart 已经成为 systemd 的一部分 https://wiki.archlinux.org/title/Improving_performance/Boot_process#Analyzing_the_boot_process systemd-analyze plot > plot.svg 很多朋友抱怨自己的 Linux 系统启动速度太慢,但又苦于没有什么好途径进行分析,使之能够得到改进。如果你正受到这方面问题的困惑,那么有一个 Bootchart 小工具能够帮助你。 Bootchart 能够对系统的性能进行分析,并生成系统启动过程的图表,以便为你提供有价值的参考信息。综合所得的信息,你就可以进行相应的改进,从而加快你的 Linux 系统启动过程。 在安装 Bootchart 并重新启动系统后,你就可以在 /var/log/bootchart/ 找到它生成的图片文件了。以下是我的系统所生成的启动过程图表,你可以参考一下。 First you need to enable some options in the kernel to use the BSD process accounting. This feature is optional, but is highly recommended for improved accuracy. If you are using genkernel to build your kernel, run the following command: And enable the following options: General setup —> [] BSD Process Accounting [] BSD Process Accounting version 3 file format ...

2012-02-28 · 1 min · 86 words · -