职场

shell脚本实例

江枫思渺然 提交于 2021-02-03 07:20:34
1. 写一个脚本,利用循环计算10的阶乘 #!/bin/sh factorial=1 for a in `seq 1 10` do factorial=`expr $factorial \* $a` done echo "10! = $factorial" 注:上面有一行,for a in `seq 1 10`,其中seq 1 10 , 即列出现1到10之间所有的数字,这一行也可改为:for a in "1 2 3 4 5 6 7 8 9 10" 2. 写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然 后打印出该数值,然后再次要求用户输入数值。直到用户输入 "end"停止。 #!/bin/sh unset var while [ "$var" != "end" ] do echo -n "please input a number: " read var if [ "$var" = "end" ] then break fi echo "var is $var" done 3. 写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和 #!/bin/sh sum=0 for a in `seq 1 100` do if [ `expr $a % 3` -ne 0 ] then continue fi

Java:byte[]->Base64 String-> byte[]

和自甴很熟 提交于 2021-01-05 02:41:01
在加解密程序中,为了使加解密传递的参数使用 String 。就必须将 byte[]( 加密 )->String( 中间传递 )-> byte[]( 解密 ) 。 用传统的: retData = new String(myEncryptedData,); byte [] myData = retData .getBytes(charset); 将出现乱码: String 的 getBytes() 方法是得到一个字串的字节数组,这是众所周知的。但特别要注意的是,本方法将返回该操作系统默认的编码格式的字节数 组。如果你在使用这个方法时不考虑到这一点,你会发现在一个平台上运行良好的系统,放到另外一台机器后会产生意想不到的问题。 所以转化为 String 时,用 Base64 编码。 String str = "2b421331c747d1ec54fa5df39f0a3372" ; // 待加密数据 // 2.1 >>> 调用加密方法 byte [] encryptedData = encrypt(rawKeyData, str); //加密转换 BASE64Encoder enc = new BASE64Encoder(); //加密运算之后 将byte[]转化为base64的String String encryptedtext = enc.encode(encryptedData);

Argument list too long”错误解决方法汇总

那年仲夏 提交于 2021-01-01 07:41:46
这篇文章是回复前几天在论坛一个朋友提出的问题,今天有空,整理了一下,发布出来,供大家参考! 当Linux下试图传递太多参数给一个系统命令(ls *; cp *; rm *; cat *; etc…)时,就会出现”Argument list too long”错误。本文将提供4种解决方法,按复杂程度由低到高排列。 方法#1: 手动把命令行参数分成较小的部分 例1 mv [a-l]* ../directory2 mv [m-z]* ../directory2 这是4种方法里最简单的,但是远非理想的方法。你必须有办法平均分割文件,而且对于文件数目极多的情况,需要输入N遍命令。 方法#2: 使用find命令 例2 方法2通过find命令筛选文件列表,把符合要求的文件传递给一系列命令。 优点是find命令有很强大的筛选功能,而且,也许是最重要的,这个方法只需要1行命令。 唯一的缺点是, 方法2需要遍历文件,因此耗时较多。 方法#3: 建立函数 例3 #!/bin/bash # 设定需要删除的文件夹 RM_DIR='/data/files' cd $RM_DIR for I in `ls` do rm -f $I done 方法#4:重新编译Linux内核 最后一个方法需要2个字:谨慎,这个方法很高级,因此没有经验的linux用户最好不要尝试。此外,在永久使用前,务必在系统环境中全面测试。

“云”随我动近在咫尺

五迷三道 提交于 2020-12-19 14:12:19
上周我们接受了IT专家网的专访,就“云计算”的相关问题作了一些探讨。现在将讨论中提出的一些有趣的问题以及我们的看法摘录在这里。希望更多的朋友一起参与讨论。 云计算的发展,仍旧是大企业发挥的舞台,例如红帽(RedHat)是一家云平台提供商,亚马逊云服务提供商以及IBM这样的云基础设置供应商等等。中小企业在他们这些巨头疯狂轰炸下终于耐不住寂寞也顺势跟风,导致失败案例也不胜枚举。Eg. 阿里巴巴旗下的阿里软件(www.alisoft.com) 关闭并终止提供相关服务,并入阿里巴巴集团B2B子公司。对于阿里巴巴而言,这可能只是业务重组,但对于它们的用户而言,却带来了不同程度的时间、金钱损失。 Q1. 您是如何看待中小企业跟风云计算问题?您所在的企业是否对云计算感冒?云计算的哪些优势使您的企业觉得是时候部署云计算了? 事实上,云计算的生态中最重要的两个角色分别是云计算提供商和云计算消费者(包括应用软件提供商)。毫无疑问从技术和商业上前者注定是大企业的天下,而后者恰恰是中小企业的“蓝海”。在没有特别说明的情况下,下面我所谈到的“企业”和“应用软件提供商”属于“云计算的消费者”。我认为多数中小企业的业务量弹性比较大,而且一般都缺乏专门的预算来维护数据中心,云计算对于中小企业自然是一个不错的选择。作为自1983年起向中小型行业用户提供软件服务的应用软件提供商,我们对云计算是抱有比较积极地态度的

低学历者如何逆袭

一曲冷凌霜 提交于 2020-11-30 01:24:10
低学历者如何逆袭 原创 2016-04-08 景峯 Netkiller 低学历者如何逆袭 低学历者如何逆袭? 我在领英上看到一篇文章《低学历者逆袭成功的概率是多少》,该文章将低学历与不读书化等号。 事实上低学历与是否读书并无半点关系。这跟在寺庙里念经还是在家修行一个道理。 我觉的社会上的人有四种。 学历高,饱读诗书 学历低,饱读诗书 学历高,不读书 学历低,不读书 ”学历高,饱读诗书“ 与 ”学历低,饱读诗书“ 都能获得很好的发展,成功者比比皆是,这类人是少数。 ”学历高,不读书“ 与 ”学历低,不读书“ 的结果也不没有什么不同,都是混社会底层,只是分工不同。 于是 ”学历高,不读书“ 者就对社会现状很不满,”凭什么“!!! 低学历者成功被看成是暴发户,这是不正确的,人们只是看到了他的成功的一面,你不知道他背后的故事,他付出的努力你是看不到的。 当进入一个全新的工作岗位,你在学校学的知识在这个岗位上根部无法使用时,那么你跟低学历者是站在相同的起跑线上, 你们的心态完全不同,对于低学历者的心态,就像你当年考上大学的改变人生命运的心态是一样的。他会比你更努力,更珍惜。 而你的心态,这只是一个工作机会,离开这里你还可以找下家,但你到了下家仍然是跟新的同事站在相同的起跑线上。 那么低学历者怎样才能逆袭呢?我把我的经验给大家分享一下。 持续积累,书必须读 学习方法 英文 实践 坚持 自我营销

职场黄金法则

↘锁芯ラ 提交于 2020-11-24 02:21:52
黄金法则 有些东西,不是写几行代码,看几本书学得到的。 积极主动 凡事积极主动,此乃第一要务 工作计划 任务分轻重缓急,时间进度,文档汇报,交接存档。这里的难点在于时间的预估 把小事做到极致 任务背景,完成情况,解决办法,后续遗留,文档 全权负责 自己负责的事或模块,做到极致,必须全权负责 Ownership 如何汇报工作,发送邮件,展示成果,提出建议,和领导探讨问题 文档整理 来源: oschina 链接: https://my.oschina.net/u/1011678/blog/729419

spring配置线程池

南笙酒味 提交于 2020-11-15 18:04:11
spring提供了线程池的支持 查看基本 Java线程池 先是一个线程 ThreadTransCode.java package com.enorth.lichen.transcode; public class ThreadTransCode implements Runnable{ @Override public void run() { System.out.println( "转码开始.............."); } } 在spring配置文件中添加线程池的配置信息 < bean id ="taskExecutor" class ="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" > < property name ="corePoolSize" value ="3" /> < property name ="keepAliveSeconds" value ="200" /> < property name ="maxPoolSize" value ="5" /> < property name ="queueCapacity" value ="25" /> </ bean > 在action中添加注入 < bean id ="saveVideoAction" class ="com

浅谈Linux的内存管理机制

夙愿已清 提交于 2020-11-11 08:00:18
一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。 物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。 作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。 linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。 要深入了解linux内存运行机制,需要知道下面提到的几个方面: 首先,Linux系统会不时的进行页面交换操作,以保持尽可能多的空闲物理内存,即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存页面。这可以避免等待交换所需的时间。 其次,linux进行页面交换是有条件的,不是所有页面在不用时都交换到虚拟内存

IT搬砖潜规则揭露

扶醉桌前 提交于 2020-04-15 16:18:17
【推荐阅读】微服务还能火多久?>>> 如果你是富二代(不是富二代的,可以让你老爸快点创业,还是有希望的),工作只是你的副业,有钱就是任性怕什么,下面的文章自行绕过吧。 看的网上的一些经验,结合自己几年的工作经验,总结下: 1. 努力的完善自己吃饭的手艺,使工作更上一层楼,本身这件事情没错,错就错在我们的思维上。 拼命的加强自己的技术能力,这和搬砖有什么区别,将搬砖的技术练的再牛有什么几把用?还不是搬砖的?无非就是工资高点,奖金多点,有什么区别?还不是搬砖的!就算真的成为专家又如何,能有几个人? 技术真的不是全部,程序员们很多都认为只要技术够牛,我就可以凭借技术挣更多的钱,然后就可以过的更好,所以容易往往忽略了其他方面的发展。 而不是整天沉迷在技术的氛围里,提高自己吃饭的手艺,真的和搬砖没有什么区别,天天在网上和一群搬砖的讨论,看文章 如何将砖搬的事情做的 更优雅,更漂亮,更高效??意义在那里?(在确定你不能成为中国仅有的几个专家的时候,还是不要将全部时间投入进去了)。 技术人员只有一项技能,那就只能努力的工作了,所以我们都挣不到大钱。(真的是说到每个技术人员心坎去了,每天累死累活,赚点血汗钱,身上背了一身贷款,身体每况日下,后面还有一大堆超车,或者拉你下来的人,还得天天不断更新自己的技能库,而且这项技能就是一项的,写代码或者带团队) 换一种思路,除了加强自己的技术能力

百度员工离职总结:如何做个好员工

大兔子大兔子 提交于 2019-12-14 17:10:01
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 2014年7月4日,我从百度离职了。   这是第一次,我不是因为和老板闹翻而离职;   这是第一次,我带着晋升的喜悦而离职;   这是第一次,我带着满满的收获而离职。   我曾经认为,我永远不会成为一个好员工,因为我太独、太挑剔、不喜欢听话的好孩子、而且讨厌一切想要改变我的人。但是三年过去,我改变了不少,我必须承认,所谓“进步”的过程,就是被认可的过程,也是被“驯化”的过程。   所谓“驯化”,就是了解规则、遵守规则、利用规则的过程。我并非被某些人“驯化”,而是被社会与职场的规律驯化。我曾经鄙视这个过程,但今天看来,作为一个资质平庸的人,如果你想在这个社会里做成点儿什么,“被驯化”是不可避免的。   我也曾自诩“卓尔不群”,又受了老罗“彪悍的人生不需要解释”的“蛊惑”。但在现实中,这个路子不一定行得通。你不得不向很多人解释、用他们(而不是自己)喜欢的方式解释,因为只有得到他们的认可和支持,你才能继续工作下去。如果你是一个资质平庸的人,你不得不这样做,美剧《犯罪心理》中有一句话:“凡按自己的方式追求理想者,无不树敌。” 树敌多了,你就死了。   现在,我不敢说自己是个“好员工”,我只是觉得我是个比曾经的自己更好的员工。在离职的时候,我打算把自己这几年的职场心得总结一下,算是给自己的一个礼物。