tony

权威C书指南和清单

≯℡__Kan透↙ 提交于 2020-02-28 00:53:37
这个问题试图收集社区维护的关于 c 编程语言的 优质 书籍清单,目标是各种技能水平。 C是一种复杂的编程语言,通过阅读在线教程很难随时随地学习。 综合性书籍通常是学习语言的最佳方式,找到一本好书是第一步。 重要的是要避免写得不好的书籍,更重要的是要避免包含严重技术错误的书籍。 请建议编辑接受的答案,以添加高质量的书籍,具有近似的技能水平和每本书的简短描述/描述。 ( 请注意,问题已被锁定,因此不会接受新的答案。列表中会保留一个答案 ) 随意讨论书籍选择,质量,标题,摘要,技能水平以及您认为错误的任何其他内容。 C社区认为令人满意的书籍将列在名单上; 其余的将定期删除。 对于由C和C ++用户协会(ACCU)进行评论的书籍,应该与书籍一起添加指向这些评论的链接。 也可以看看: c 标记wiki 中的其他C相关资源 类似的 c ++ 列表: The Definitive C ++ Book Guide and List 这个问题在 Meta上 作为 2018年删除问题审计的 一部分进行了讨论。 达成共识的目的是保持其未被删除和积极维护。 #1楼 警告 这是各种质量的随机书籍清单。 在一些人看来(有一些理由),它不再是推荐书籍的清单。 一些列出的书籍包含明显不正确的陈述或教导错误/有害的做法。 知道此类书籍的人可以编辑此答案以帮助改进。 看到 C书的清单已经乱了。 怎么办呢? ,以及

转折2019,起飞2020

末鹿安然 提交于 2020-02-26 23:06:58
转折2019 2019是我人生中有重大转折意义的一年。 误入藕花深处 在上半年中,我经历了在人生岔路口难以抉择踟蹰不前的痛苦,经历了因冲动对至亲的人造成伤害的懊恼,经历了从逐渐否认自己到自信心彻底土崩瓦解的绝望。如果用一个比喻来形容2019年上半年(6.30日前)的我,我就宛如一团移动的高负能量黑雾,不管走到哪里都能让人感觉阴云密布的压抑感。 然而,越是在痛苦的时候我越知道那不是真正的我,那个阳光大男孩只不过是在一片迷雾森林中迷了路。我坚定的相信,只要我穿过这片森林,外面的景色一定是云淡天青、鸟语花香的一片美好。 那段时间,我多希望能像武侠小说中写的那样,偶遇一个大师为我指点一二,从此人生豁然开朗,步入阳光大道。 可惜,那也就是想想罢了,没有人来为我指点迷津。 争渡,争渡 人傻就要多读书。 在现实生活中我们可能很难求得一位大师为我们指点,但是在书山之上大师们却是随处可见。有人可能要说,工作那么忙回家还得看孩子打游戏,哪有时间去看书啊。在信息服务行业高度发展的今天,已经有很多人为我们提供书童的服务,比如 樊登读书 、 喜马拉雅 、 蜻蜓fm ,或者买一台 大保机器人 作为我们的书童。 这一年中,我通过樊登读书读了《高能量姿势》、《应对焦虑》、《感受爱》、《你要的是幸福,还是对错》、《心的重建》、《深度工作》、《欲罢不能》、《终结拖延症》、《活好》、《逆商》、《自卑与超越》、《革命清单

python_day3作业

放肆的年华 提交于 2020-02-21 17:03:22
一、元素分类 有如下值集合 [11,22,33,44,55,66,77,88,99,90...], 将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值} 1 list_num = [11,22,33,44,55,66,77,88,99,90] 2 dir_num = { 3 'k1':[], 4 'k2':[], 5 } 6 for i in list_num: 7 if i > 66: 8 dir_num['k1'].append(i) 9 else: 10 dir_num['k2'].append(i) 11 print(dir_num) View Code 二、查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。 1 li = ["alec", " aric", "Alex", "Tony", "rain"] 2 tu = ("alec", " aric", "Alex", "Tony", "rain") 3 dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"} 4 for i in li: 5 i = i.strip() 6 if (i

Android 9.0网络配置

倖福魔咒の 提交于 2020-01-14 05:43:28
对于不想配置网络安全的应用设置如下代码: <application android:usesCleartextTraffic="true" > </application> 如果想设置网络安全过滤内容,设置让如下: network_security_config.xml文件是自己写的,自行百度用法 <application android:networkSecurityConfig="@xml/network_security_config"> </application> 来源: CSDN 作者: Mr_Tony 链接: https://blog.csdn.net/Mr_Tony/article/details/103770210

Javascript 定时器调用传递参数的方法

依然范特西╮ 提交于 2019-12-26 19:58:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 备注:先记下,以后整理: Javascript 定时器调用传递参数的方法,需要的朋友可以参考下。 无论是window.setTimeout 还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必需要带参数,这就需要想方法解决. 例如对于函数hello(_name),它用于针对用户名显示欢迎信息: 代码如下: var userName="Tony"; //根据用户名显示欢迎信息 function hello(_name){ alert("hello,"+_name); } 这时,如果企图使用以下语句来使hello函数延迟3 秒执行是不可行的: window.setTimeout(hello(userName),3000); 这将使hello函数立即执行,并将返回值作为调用句柄传递给setTimeout 函数,其结果并不是程序需要的.而使用字符串形式可以达到想要的结果: window.setTimeout("hello(userName)",3000); 这里的字符串是一段JavaScript 代码,其中的userName 表示的是变量.但这种写法不够直观,而且有些场合必须使用函数名,下面用一个小技巧来实现带参数函数的调用: 代码如下: <script language=

接口与基类

我是研究僧i 提交于 2019-12-21 10:39:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 什么时候应该使用接口,什么时候应该使用基类? 如果我不想实际定义方法的基本实现,是否应该始终是一个接口? 如果我有猫狗班。 为什么我要实现IPet而不是PetBase? 我可以理解具有用于ISheds或IBarks(IMakesNoise?)的接口,因为可以将它们逐个放置在每个宠物上,但是我不知道用于普通Pet的接口。 #1楼 我有一个粗略的经验法则 功能: 各个部分可能有所不同:接口。 数据和功能,部分将大部分相同,而部分则不同: 抽象类。 数据和功能,如果仅进行了少量更改就可以实际使用: 普通(具体)类 数据和功能,没有计划的更改: 带有final修饰符的普通(具体)类。 数据,可能还有功能:只读: 枚举成员。 这是非常粗糙且准备就绪的,并且根本没有严格定义,但是从接口的频谱可以将所有内容更改为枚举,其中将所有内容都固定为只读文件即可。 #2楼 这是接口和基类的基本和简单定义: 基类=对象继承。 接口=功能继承。 干杯 #3楼 在 Java World这篇文章中 很好地解释了 我个人倾向于使用接口来定义接口,即系统设计中指定应如何访问内容的部分。 我会有一个实现1个或多个接口的类并不少见。 我将抽象类用作其他内容的基础。 以下是上述文章 JavaWorld.com文章的作者Tony Sintes的摘录,04

教你怎么样在 Java8 中优雅的避开空指针异常

眉间皱痕 提交于 2019-11-30 04:40:34
要说 Java 编程中哪个异常是你印象最深刻的,那 NullPointerException 空指针可以说是臭名昭著的。不要说初级程序员会碰到, 即使是中级,专家级程序员稍不留神,就会掉入这个坑里。 Null 引用的发明者Tony Hoare 曾在 2009 年作出道歉声明,声明中表示,到目前为止,空指针异常大约给企业已造成数十亿美元的损失。 下面是 Tony Hoare 的原话: 我将 Null 引用的设计称为是一个数十亿美元的错误。1965 那年,我正在用面向对象语言(ALGOL W) 设计首个功能全面的系统。当时我的考量是,确保所有被使用的引用都是安全的,编译器会自动进行检查。但是,我没有抵住诱惑,加入了 Null 引用,仅仅是为了实现起来省事。这之后,它导致了数不清的 bug、错误和系统崩溃,也为企业导致了不可估量的损失。 事已至此,我们必须学会面对它。So, 我们要如何防止空指针异常呢? 唯一的办法就是对可能为 Null 的对象添加检查。但是 Null 检查是繁琐且痛苦的。所以一些比较新的语言为了处理 Null 检查,特意添加了特殊的语法,如空合并运算符。 在Groovy 或Kotlin 这样的语言中也被称为 Elvis 运算符。 不幸的是,在老版本的 Java 中并没有提供这样的语法糖。Java8 中在这方面做了改进。所以,这篇文章就特意来介绍一下如何在 Java8

shell中" "(双引号)与 &apos; &apos;(单引号)的区别

冷暖自知 提交于 2019-11-29 11:57:16
" "(双引号)与 ' '(单引号)的区别     你在shell prompt后面敲打键盘、直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令。但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢? 简单而言,command line的每一个charactor分为如下两种: *literal:也就是普通纯文字,对shell来说没有特殊功能。 *meta:对shell来说,具有特定功能的保留字。 literal没有什么好说的,凡是 abcd、123456 等这些“文字”都是literal。但是meta确常使我们困惑。事实上,前两章我们在command line中已碰到两个几乎每次都会碰到的meta: *IFS:由<space> <tab> <enter>三者之一组成(我们常用space)。 *CR:由<enter>产生。 IFS 是用来拆分command line的每一个词(word)用的,因为shell command line是按词来处理的。而CR则是用来结束command line用的,这也是为何我们敲<enter>命令就会执行的原因。除了IFS和CR外,常用的meta还有: = : 设定变量。 $ : 做变量或运算替换(请不要与 shell prompt 搞混了)

<人人都懂设计模式>-单例模式

强颜欢笑 提交于 2019-11-27 00:19:16
这个模式,我还是了解的。 书上用了三种不同的方法。 class Singleton1: # 单例实现方式1 __instance = None __is_first_init = False def __new__(cls, name): if not cls.__instance: Singleton1.__instance = super().__new__(cls) return cls.__instance def __init__(self, name): if not self.__is_first_init: self.__name = name self.__is_first_init = True def get_name(self): return self.__name tony = Singleton1('Tony') karry = Singleton1('karry') print(tony.get_name(), karry.get_name()) print(id(tony), id(karry)) print(tony == karry) print("=======单例实现方式1========") class Singleton2(type): # 单例实现方式2 def __init__(cls, what, bases=None, dict