技术文章

Shell编程(三) : shell基本运算符

戏子无情 提交于 2021-02-18 23:22:42
shell 基本运算符 shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 实例 例如,两个数组相加(注意使用的是反引号 而不是单引号 ) #!/bin/bash val=`expr 2 + 2` echo "两数之和为 : $val" 两点注意: 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。 完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。 算数运算符 运算符 说明 举例 + 加法 expr $a + $b 结果为 30。 - 减法 expr $a - $b 结果为 -10。 * 乘法 expr $a \* $b 结果为 200。 / 除法 expr $b / $a 结果为 2。 % 取余 expr $b % $a 结果为 0。 = 赋值 a=$b 将把变量 b 的值赋给 a。 == 相等 [ $a == $b ] 返回 false。 = 不相等 [ $a != $b ] 返回 true。 注意:条件表达式要放在方括号之间,并且要有空格,例如: [

Android面试题集:以前烂大街的四大组件-Activity,面试重提这些知识点你还记得吗?

风流意气都作罢 提交于 2021-02-18 23:15:16
前言 虽然有很多面试的文章里都有这些题目,但是我每次在看的时候,总是会觉得有些分散,复习的时候还要重新去找到对应的文章,所以我就想着自己来整理一下,并且把题目给分一下类型;自己整理可以帮助我复习的同时还可以巩固一遍;这次主要是4大组件相关,后续我会继续整理,觉得有帮助的可以点个赞。 接下来是关于Activity的面试题了: 描述一下Activity 生命周期? onCreate() Activity第-次被创建的时候调用,一些初始化操作可以在这里完成。 onStart() 这个方法在Activity 由不可见变为可见的时候调用。 onResume() 这个方法在Activity 准备好和用户进行交互的时候调用。此时的Acivity一定位于返回栈的栈顶,并且处于运行状态。 onPause() 这个方法在系统准备去启动或者恢复另-个Activity的时候调用。 onStop() 这个方法在Activity 完全不可见的时候调用。它和onPause()方法的主要区别在于,如果启动的新Activity 是一个对话框式的Activity,那么onPause()方法会得到执行,而onStop()方法并不会执行。 onDestroy() 这个方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。 onRestart

减少那该死的 if else 嵌套

冷暖自知 提交于 2021-02-18 22:31:34
点击上方“ Java社区 ”,选择“设为星标” 学习的最好时刻是三年前,其次是现在。 Java社区 点击右侧关注, 领取500G编程资源! 来源: http://t.cn/Ez2s6ba 写在前面 不知大家有没遇到过像“横放着的金字塔”一样的 if else 嵌套: if ( true ) { if ( true ) { if ( true ) { if ( true ) { if ( true ) { if ( true ) { } } } } } } 我并没夸大其词,我是真的遇到过了!嵌套6、7层,一个函数几百行,简!直!看!死!人! if else 作为每种编程语言都不可或缺的条件语句,我们在编程时会大量的用到。但 if else 一般不建议嵌套超过三层,如果一段代码存在过多的 if else 嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。 所以,我们程序员都应该尽量避免过多的 if else 嵌套。下面将会谈谈我在工作中如何减少 if else 嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明 if else 嵌套过多的弊端。 想象下一个简单分享的业务需求:支持分享链接、图片、文本和图文,分享结果回调给用户(为了不跑题,这里简略了业务,实际复杂得多)。 当接手到这么一个业务时,是不是觉得很简单,稍动下脑就可以动手了: 先定义分享的类型

快速提高Python数据分析速度的八个技巧

天大地大妈咪最大 提交于 2021-02-18 22:31:10
点击上方“ 早起python ”,关注早起 和我一起,成为更好的自己 今天整理了几个在使用python进行数据分析的常用小技巧、命令。记得搭配Pandas+Jupyter Notebook使用哦。 01 使用Pandas Profiling预览数据 这个神器我们在 之前的文章 中就详细讲过,使用Pandas Profiling可以在进行数据分析之前对数据进行快速预览,拿我们使用过很多次的NBA数据集来说,导入数据集之后 import pandas as pd import pandas_profiling nba = pd.read_csv( 'nba_all_elo.csv' ) #导入数据 nba.profile_report() 一行代码就生成丰富的 交互式 数据EDA报告 可以看到,除了之前我们需要的一些描述性统计数据,该报告还包含以下信息: 类型推断 :检测数据帧中列的数据类型 。 要点 :类型,唯一值,缺失值 分位数统计信息, 例如最小值,Q1,中位数,Q3,最大值,范围,四分位数范围 描述性统计数据, 例如均值,众数,标准偏差,总和,中位数绝对偏差,变异系数,峰度,偏度 最常使用的值 直方图 相关性矩阵 缺失值 矩阵,计数,热图和缺失值树状图 文本分析: 了解 文本数据的 类别(大写,空格),脚本(拉丁,西里尔字母)和块(ASCII) 02 使用

Odoo12 之主题创建或扩展

℡╲_俬逩灬. 提交于 2021-02-18 22:30:52
初次使用 Odoo 来制作网站,因Odoo自带代码块效果单一,无法满足当前网站展示效果,需要对当前代码块进行添加或扩展。而这个代码块是属于网站中的布局设计这一块,Odoo 将所有的布局以及逻辑行为,都“模块化”了。Odoo 创建布局同Html不一样,是一个完全的视角改变,从视觉上看,创建的布局,可以让用户 “拖拽” 到页面中任意位置并对它进行编辑。Odoo 布局就是一个模块化的布局,目标就是样式化这些元素来达到一个比较完美的效果。 Odoo 页面规范 odoo 始于 XML 规范,所有的代码都必须在 <odoo></odoo> 标签内完成 <?xml version="1.0" encoding="utf-8" ?> < odoo >   ## YOUR CODE </ odoo > 创建布局结构,都必须在 <template></template> 标签内完成,如果当前 template 是网页,则必须要给当前 template 添加一个 page="True" 的属性 <?xml version="1.0" encoding="utf-8" ?> <odoo> <!-- === Template === --> < template name="Services page" id="website.services" page=" True "> <h1>Our

Odoo12之win10中odoo12环境搭建

蓝咒 提交于 2021-02-18 22:30:42
所需材料 1.python3.7 2.pycharm社区版及以上 3.postgresSQL10 下载链接:https://www.enterprisedb.com/thank-you-downloading-postgresql?anid=1257100 4.odoo12源码(请注意版本选择) github链接: https://github.com/odoo/odoo gitee链接: https://gitee.com/mirrors/odoo python和pycharm的安装不在此讲解,有需要的请自行百度。 postgresSQL安装 pg安装 postgresSQL的安装因为是.exe文件,所以一路点击next即可。 但我们要记住安装过程中设置的密码,后面要用到,这个密码是pg10超级管理员的密码,为了好记,我设置的密码全部都是root,图形如下: 一路点击next直到完成即可。 可能出现问题 在安装过程中,最后安装可能会出现警告信息如下: failed to load SQL moudules into the databases cluster 造成这个的原因是:Postgresql 没有安装完全。 解决这个问题,可以参考:https://blog.csdn.net/yuboo999/article/details/80460712 和 https://www

enq: TM

拜拜、爱过 提交于 2021-02-18 21:49:21
今天下午,有台服务器出现异常,响应特别慢,io等待奇高,awr top 5事件如下: 经回查ash,找到了造成这些事件的sql语句,如下: select * from v$active_session_history where event = ' enq: TM - contention ' select * from v$active_session_history where event = ' enq: KO - fast object checkpoint ' enq-TM的事件主要由insert /*+ append */语句引起,如下: enq-TM是一个表级别锁,在本例中主要是由于append引起。 TM 锁在下列场景中被申请: 在OPS(早期的RAC)中LGWR会以ID1=0 & ID2=0去申请该队列锁来检查 DML_LOCKS 在所有实例中是全0还是全非0 当一个单表或分区 需要做不同的表/分区操作时,ORACLE需要协调这些操作,所以需要申请该队列锁。包括: 启用参考约束 referential constraints 修改约束从DIASABLE NOVALIDATE 到DISABLE VALIDATE 重建IOT 创建视图或者修改ALTER视图时可能需要申请该队列锁 分析表统计信息或validate structure时 一些PDML并行DML操作

第十六届北京师范大学程序设计竞赛决赛(网络同步赛)

三世轮回 提交于 2021-02-18 21:46:05
题目链接 第十六届北京师范大学程序设计竞赛决赛 一句话总结:迟到选手抢到FB之后进入梦游模式最后因为忘加反向边绝杀失败…… 好吧其实还是自己太弱 下面进入正题 Problem A 签到题(读题是一件非常有趣事情) #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a); i <= (b); ++i) #define dec(i, a, b) for (int i(a); i >= (b); --i) #define MP make_pair #define fi first #define se second typedef long long LL; int main(){ int T; string s; scanf("%d", &T); while (T--){ int n; scanf("%d", &n); int fg = 1; rep(i, 1, n){ cin >> s; if (s != "PERFECT") fg = 0; } puts(fg ? "MILLION Master" : "NAIVE Noob"); } return 0; } Problem B 设读进来的那个序列为$b_{i}$ 要还原出的那个序列答案为$a_{i}$ 我们求出$a_{i}$对

互联网涨薪30%划算不?

时间秒杀一切 提交于 2021-02-18 21:45:29
看了osc首页广告, ”小朋友们都跳槽到互联网,薪水都上涨30% “。确实,大部分去互联网的开发人员都有很大程度的涨薪,不过这是月薪或者年薪,时薪并没有涨。可以计算一下 以互联网或者创业公司的996制度为准(早9点,晚9点,周六上班),那一周相对于8小时工作制的工作来说,一周多工作28小时,也就是3.5天,那一个月多出14天工作。如果跳槽前薪水是1万,那么跳槽后,时薪不变,则应该是1万6左右,这样比较划算。涨幅应该是60%。 不过考虑到大部分互联网公司也许没有那么忙,所以30%-60%的涨幅应该是自己的价值体现,否则,就不划算了。 当然,从学习技术角度,或者真需要挣钱养家的角度来说,多挣点还是很好的 来源: oschina 链接: https://my.oschina.net/u/567839/blog/313965

8.hbase写入流程和读取流程

好久不见. 提交于 2021-02-18 21:44:52
1 hbase写入流程 hbase中无论是新增数据还是修改已有行,其内部流程都是一样的,hbase执行写入时会写到两个地方,write-ahead log 简称wal 也叫hlog 预写式日志 和 MemStore,hbase默认把数据先写到这两个地方,只有这两个地方的变化都写入并确认后,才认为写动作完成。 MemStore是内存中的缓冲区默认64m,HBase会把要写入的数据在这里积累,当填满后 才进行刷写到硬盘上,生成一个HFile。 WAL 使用来排除故障,大型分布式系统,节点故障很常见,设想如果MemStore没有写满刷写到硬件上,那么内存中的数据就会丢失,应对办法就是将数据在写动作完成前就写入WAL,每台节点维护一个WAL,直到WAL写入成功,写动作才算完成。 同时,如果节点宕机恢复,MemStore里的数据会被自动从WAL中恢复到内存中 HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。 事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。 每个Strore又由一个memStore和0至多个StoreFile组成。 StoreFile以HFile格式保存在HDFS上 2 hbase读取流程 如果想快速访问,通用的原则是,尽可能多的把数据有序,并且放到内存中,hbase实现了这两个要求