首页 文章 精选 留言 我的

精选列表

搜索[工程师],共10000篇文章
优秀的个人博客,低调大师

Python全栈工程师(数值类型、运算符)

ParisGabriel Python 入门基础 python的应用领域: 1.系统运维 2.网络编程(如:网络爬虫,搜索引擎,服务器编程) 3.科学计算 4.航空领域(如:卫星,导弹,等) 5.人工智能,机器人 6.web开发、 7.云计算 8.大数据以及数据库开发 9.教育 10.游戏,图像处理 等等。。 python的优点: 1.面向对象(java、C++、python、C#、swift) 2.开源免费 3.跨平台(windows、Linux、Unix、iOS、Android) 4.混合编程(C、C++、java、.net) 5.应用领域广泛 python的缺点: 1.执行速度没有C、C++快、较慢的java、相对而言也比较慢 2.源代码不能加密 python的组成: 1.程序是由模块组成的 2.模块是由数据、函数、支持库、类等组成的 3.函数是由语句块组成的 4.语句块是有表达式组成的 Python的核心数据类型: (整数int,浮点数float,复数complex,布尔型bool、 字符串 str 列表 list 等) 1.十进制表示方式10 200 -100 999八进制:0o177(127)0o11(9) 2.十六进制:0x11(17)0xff(255)0x1a2b3.二进制:0b1110b101 整形数 int整数是不带小数的部分数字正数负数0浮点数:float带有小数部分的数字 复数分为两部分:实部(real)虚部(image)虚部是j或J结尾的数字面值:1j(2J)1+2J3-4Jbool有两种1.true 代表条件成立2.false 代表条件不成立true的值是1false的值是0 内置对象: None 是一个表示不存在的特殊对象(空值) 用来占位或解除变量的绑定 表达式: 由数字、数字和运算符组成 通常让计算机做一些事会返回结果 算数运算运算符: 1.+ 加法 2.- 减法 3.* 乘法 4./ 除法 5.// 地板除 6.** 幂运算 7.% 取余 / 除法: 得到的是浮点数 不会丢弃小数位 // 地板除: 得到的是整数型 字节舍去所有小数(没有四舍五入) % 取余: 取整除后所剩余的余数(7%3=1) ** 幂运算: 优先级: 1.** 2.* / // % 3.+ - 4.()内的优先级最高 优先级越高越先执行 同等优先级 从左往右依次执行 混合类型自动升级: 整数加浮点数结果为浮点数 基本输入函数: print(格式:print(要打印的内容)) 多个数据类型要用“,”分开 变量: 变量就是关联一个对象的标识符并且区分字母大小写 标识符的命名: 必须以下划线或字母开头,后面跟字母、下划线、整数 不能使用Python的关键字命名 赋值运算符: “=” 语法: 变量名=表达式 变量名1=变量名2=表达式 变量名=表达式=序列 创建一个变量,此变量用来绑定数据对象 修改一个变量的绑定关系 让其绑定另一个对象 当变量不存在时创建变量 同事将对象绑定在变量上 当变量存在时改变变量的对象 一个人变量只能绑定一个对象 一个对象可以绑定多个变量 序列赋值: a,b = 100,200 Python的自动化内存管理: a=a+b 释放a a=a+b的和 变量的交换: 交换算法: >>> a=10 >>> b=20 >>> a=a+b >>> b=a-b >>> a=a-b >>> a 20 >>> b 10 第三变量: >>> a=20 >>> b=10 >>> c=a >>> a=b >>> b=c >>> a 10 >>> b 20 序列赋值: >>> a=10 >>> b=20 >>> a,b=20,10 >>> a 20 >>> b 10 >>> 删除变量: del >>> del a 删除变量的同时解除与对象的关联关系,如果能则释放对象 help(“——main——”) tarena@tedu:~$ python3 Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> a = 100 >>> help("__main__") 在交互模式下查看当前作用域的所有变量 Q退出查看 自动化内存管理和引用计数: 每个对象都会记录有几个变量绑定自身,当引用的数量为0时则此对象将被销毁 并且释放内存资源 此种自动化内存管理的方式叫引用计数 is/is not 运算符作用:判断两个对象是否是一个对象,当是同一个对象时返回true否则返回 falseis not返回值与is相反 id(obj)函数: 返回一个对象在内存中的地址(id(对象) 小整数对象值:CPython中 ,整数-5到256的数永远存在于小数池中不会释放且可重复使用符合赋值算数运算符:y += x 等同于 y = y + xy -= x 等同于 y = y - xy *= x 等同于 y = y * xy /= x 等同于 y = y / xy //= x 等同于 y = y // xy %= x 等同于 y = y % xy **= x 等同于 y = y ** x 练习:写程序打印出1.古代的秤是16两一斤 请问216两是几斤几两 print("Answer to question 1:") print(216 // 16, "axe", 216 % 16, "liang") 2.冲凌晨0:0:0计时 到现在已经过了63320秒 现在是几时几分几秒 print("Answer to question 2:") time = 63320 time // 3600 a = time % 3600 a // 60 a % 60 print(time // 3600, "小时", a // 60, "分钟", a % 60, "秒") 3.温度转换:摄氏度=5.0/9.0*(华氏度-32)请问100华氏度是多少摄氏度?如果当前温度是摄氏度温度能否算出华氏度温度是多少? print("Answer to question 3:") a = 5.0 / 9.0 * (100 - 32) print("100华氏度=", a, "摄氏度") a = 100 * 9 / 5 + 32 print("100摄氏度=", a, "华氏度")

优秀的个人博客,低调大师

Java工程师成神之路(2018修订版)

来源 :公众号|作者 : Hollis 主要版本更新时间备注 v1.02015-08-01首次发布 v1.12018-03-18增加新技术知识、完善知识体系 一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 HotSpot 即时编译器、编译优化 类加载机制 classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jboss modules、osgi、jigsaw) 虚拟机性能监控与故障处理工具 jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler 编译与反编译 javac 、javap 、jad 、CRF Java基础知识 阅读源代码 String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader & URLClassLoader、ArrayList & LinkedList、 HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap、HashSet & LinkedHashSet & TreeSet Java中各种变量类型 熟悉Java String的使用,熟悉String的各种函数 JDK 6和JDK 7中substring的原理及区别、 replaceFirst、replaceAll、replace区别、 String对“+”的重载、 String.valueOf和Integer.toString的区别、 字符串的不可变性 自动拆装箱 Integer的缓存机制 熟悉Java中各种关键字 transient、instanceof、volatile、synchronized、final、static、const 原理及用法。 集合类 常用集合类的使用 ArrayList和LinkedList和Vector的区别 SynchronizedList和Vector的区别 HashMap、HashTable、ConcurrentHashMap区别 Java 8中stream相关用法 apache集合处理工具类的使用 不同版本的JDK中HashMap的实现的区别以及原因 枚举 枚举的用法、枚举与单例、Enum类 Java IO&Java NIO,并学会使用 bio、nio和aio的区别、三种IO的用法与原理、netty Java反射与javassist 反射与工厂模式、java.lang.reflect.* Java序列化 什么是序列化与反序列化、为什么序列化 序列化底层原理 序列化与单例模式 protobuf 为什么说序列化并不安全 注解 元注解、自定义注解、Java中常用注解使用、注解与反射的结合 JMS 什么是Java消息服务、JMS消息传送模型 JMX java.lang.management.*、javax.management.* 泛型 泛型与继承 类型擦除 泛型中K T V E object等的含义、泛型各种用法 单元测试 junit、mock、mockito、内存数据库(h2) 正则表达式 java.lang.util.regex.* 常用的Java工具库 commons.lang,commons.*...guava-librariesnetty 什么是API&SPI 异常 异常类型、正确处理异常、自定义异常 时间处理 时区、时令、Java中时间API 编码方式 解决乱码问题、常用编码方式 语法糖 Java中语法糖原理、解语法糖 Java并发编程 什么是线程,与进程的区别 阅读源代码,并学会使用 Thread、Runnable、Callable、ReentrantLock、ReentrantReadWriteLock、Atomic*、Semaphore、CountDownLatch、、ConcurrentHashMap、Executors 线程池 自己设计线程池、submit() 和 execute() 线程安全 死锁、死锁如何排查、Java线程调度、线程安全和内存模型的关系 锁 CAS、乐观锁与悲观锁、数据库相关锁机制、分布式锁、偏向锁、轻量级锁、重量级锁、monitor、锁优化、锁消除、锁粗化、自旋锁、可重入锁、阻塞锁、死锁 死锁 volatile happens-before、编译器指令重排和CPU指令重 synchronized synchronized是如何实现的? synchronized和lock之间关系 不使用synchronized如何实现一个线程安全的单例 sleep 和 wait wait 和 notify notify 和 notifyAll ThreadLocal 写一个死锁的程序 写代码来解决生产者消费者问题 守护线程 守护线程和非守护线程的区别以及用法 二、 进阶篇 Java底层知识 字节码、class文件格式 CPU缓存,L1,L2,L3和伪共享 尾递归 位运算 用位运算实现加、减、乘、除、取余 设计模式 了解23种设计模式 会使用常用设计模式 单例、策略、工厂、适配器、责任链。 实现AOP 实现IOC 不用synchronized和lock,实现线程安全的单例模式 nio和reactor设计模式 网络编程 tcp、udp、http、https等常用协议 三次握手与四次关闭、流量控制和拥塞控制、OSI七层模型、tcp粘包与拆包 http/1.0 http/1.1 http/2之前的区别 Java RMI,Socket,HttpClient cookie 与 session cookie被禁用,如何实现session 用Java写一个简单的静态文件的HTTP服务器 实现客户端缓存功能,支持返回304 实现可并发下载一个文件 使用线程池处理客户端请求 使用nio处理客户端请求 支持简单的rewrite规则 上述功能在实现的时候需要满足“开闭原则” 了解nginx和apache服务器的特性并搭建一个对应的服务器 用Java实现FTP、SMTP协议 进程间通讯的方式 什么是CDN?如果实现? 什么是DNS? 反向代理 框架知识 Servlet线程安全问题 Servlet中的filter和listener Hibernate的缓存机制 Hiberate的懒加载 Spring Bean的初始化 Spring的AOP原理 自己实现Spring的IOC Spring MVC Spring Boot2.0 Spring Boot的starter原理,自己实现一个starter Spring Security 应用服务器 JBoss tomcat jetty Weblogic 工具 git & svn maven & gradle 三、 高级篇 新技术 Java 8 lambda表达式、Stream API、 Java 9 Jigsaw、Jshell、Reactive Streams Java 10 局部变量类型推断、G1的并行Full GC、ThreadLocal握手机制 Spring 5 响应式编程 Spring Boot 2.0 性能优化 使用单例、使用Future模式、使用线程池、选择就绪、减少上下文切换、减少锁粒度、数据压缩、结果缓存 线上问题分析 dump获取 线程Dump、内存Dump、gc情况 dump分析 分析死锁、分析内存泄露 自己编写各种outofmemory,stackoverflow程序 HeapOutOfMemory、 Young OutOfMemory、MethodArea OutOfMemory、ConstantPool OutOfMemory、DirectMemory OutOfMemory、Stack OutOfMemory Stack OverFlow 常见问题解决思路 内存溢出、线程死锁、类加载冲突 使用工具尝试解决以下问题,并写下总结 当一个Java程序响应很慢时如何查找问题、 当一个Java程序频繁FullGC时如何解决问题、 如何查看垃圾回收日志、 当一个Java应用发生OutOfMemory时该如何解决、 如何判断是否出现死锁、 如何判断是否存在内存泄露 编译原理知识 编译与反编译 Java代码的编译与反编译 Java的反编译工具 词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化 操作系统知识 Linux的常用命令 进程同步 缓冲区溢出 分段和分页 虚拟内存与主存 数据库知识 MySql 执行引擎 MySQL 执行计划 如何查看执行计划,如何根据执行计划进行SQL优化 SQL优化 事务 事务的隔离级别、事务能不能实现锁的功能 数据库锁 行锁、表锁、使用数据库锁实现乐观锁、 数据库主备搭建 binlog 内存数据库 h2 常用的nosql数据库 redis、memcached 分别使用数据库锁、NoSql实现分布式锁 性能调优 数据结构与算法知识 简单的数据结构 栈、队列、链表、数组、哈希表、 树 二叉树、字典树、平衡树、排序树、B树、B+树、R树、多路树、红黑树 排序算法 各种排序算法和时间复杂度 深度优先和广度优先搜索 全排列、贪心算法、KMP算法、hash算法、海量数据处理 大数据知识 Zookeeper 基本概念、常见用法 Solr,Lucene,ElasticSearch 在linux上部署solr,solrcloud,,新增、删除、查询索引 Storm,流式计算,了解Spark,S4 在linux上部署storm,用zookeeper做协调,运行storm hello world,local和remote模式运行调试storm topology。 Hadoop,离线计算 HDFS、MapReduce 分布式日志收集flume,kafka,logstash 数据挖掘,mahout 网络安全知识 什么是XSS XSS的防御 什么是CSRF 什么是注入攻击 SQL注入、XML注入、CRLF注入 什么是文件上传漏洞 加密与解密 MD5,SHA1、DES、AES、RSA、DSA 什么是DOS攻击和DDOS攻击 memcached为什么可以导致DDos攻击、什么是反射型DDoS SSL、TLS,HTTPS 如何通过Hash碰撞进行DOS攻击 用openssl签一个证书部署到apache或nginx 四、架构篇 分布式 数据一致性、服务治理、服务降级 分布式事务 2PC、3PC、CAP、BASE、 可靠消息最终一致性、最大努力通知、TCC Dubbo 服务注册、服务发现,服务治理 分布式数据库 怎样打造一个分布式数据库、什么时候需要分布式数据库、mycat、otter、HBase 分布式文件系统 mfs、fastdfs 分布式缓存 缓存一致性、缓存命中率、缓存冗余 微服务 SOA、康威定律 ServiceMesh Docker & Kubernets Spring Boot Spring Cloud 高并发 分库分表 CDN技术 消息队列 ActiveMQ 监控 监控什么 CPU、内存、磁盘I/O、网络I/O等 监控手段 进程监控、语义监控、机器资源监控、数据波动 监控数据采集 日志、埋点 Dapper 负载均衡 tomcat负载均衡、Nginx负载均衡 DNS DNS原理、DNS的设计 CDN 数据一致性 五、 扩展篇 云计算 IaaS、SaaS、PaaS、虚拟化技术、openstack、Serverlsess 搜索引擎 Solr、Lucene、Nutch、Elasticsearch 权限管理 Shiro 区块链 哈希算法、Merkle树、公钥密码算法、共识算法、Raft协议、Paxos 算法与 Raft 算法、拜占庭问题与算法、消息认证码与数字签名 比特币 挖矿、共识机制、闪电网络、侧链、热点问题、分叉 以太坊 超级账本 人工智能 数学基础、机器学习、人工神经网络、深度学习、应用场景。 常用框架 TensorFlow、DeepLearning4J 其他语言 Groovy、Python、Go、NodeJs、Swift、Rust 欢迎大家加入Java架构开发:744677563 本群提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导 进群修改群备注:开发年限-地区-经验 方便架构师解答问题

优秀的个人博客,低调大师

HDS工程师手记——用“数据”遇见可知的未来

美国物理学会院士巴拉巴西的《爆发》,在最新的时间、最新的领域,讨论了一个最古老的问题:到底应该用决定论的观点,还是用非决定论的观点,看待人类行为?作为复杂网络研究的权威,巴拉巴西在大数据的新背景下,认为数据、科学以及技术的合力,会使得人类变得比预期中容易预测得多。就象泰勒格迪做到的那样。在日趋精密的数字技术条件下,有了从四处搜集来的信息,我们不会再把人类的行为视为互不相关、随意偶然的独立事件。《爆发》作者的观点:人类行为93%是可以预测的。例如,通过对大量数据的分析追踪和预测每个公民的行踪。比如电梯摄像头拍到你11点20分离开了公寓大楼,那么10分钟后在你家附近地铁站的监视画面中就很有可能搜寻到你。这并不只是科幻故事,而更可能是大数据时代人类真实的生存现状。在大数据时代,通过对各种数据的充分了解,预测个体的行为可以变得非常容易。 遇见可知的未来 如果最变化无常的人类行为93%是可以预测的,那么,未来其它的事情是不是也可以预测呢,是不是预测的准确率也能达到93%呢。假设未来能预测93%,我们是不是可以认为我们的未来是可知的,我们能遇见可知的未来? 在不远的未来,未来世界的预测准确率将超过93%,天气能预测准确率能达到93%, 地震能预测准确率超过93%,疾病预测准确率超过93%,甚至股市准确率超过93%。我们的未来就是可知的未来。 有数据才能遇见未来 大家都对遇见可知的未来充满期待,但怎么才能遇见可知的未来呢?这就是时下非常热门的话题:大数据分析。大数据分析流程如下图所示: 大数据分析流程 从上图可以看出,对于大数据我们期待商业智能,就像我们想吃美味可口的食物,我们需要厨房(分析平台),需要厨师(行业知识和分析算法),但最重要的是我们要有食材(数据),食材才是最根本、最重要的东西。我们要知道数据在哪里,并且知道如何从浩如烟海的数据中挑选出对我们有用的数据。例如食材很多,要能精确的挑选出哪些食材是做宫保鸡丁的最佳食材。 传统的数据仓库技术,如BA存在了几十年,但是它主要是处理结构化数据,主要提供商业分析,而现在发展为BI,Business Intelligence的英文缩写,中文解释为商务智能。BI最终展现给用户的信息就是报表或图视,数据集合就象玩具“魔方”一样,可以任意快速的旋转组合报表或视图。从内容上BI除了包含结构化数据,还包含非结构化数据,如互联网,社交媒体和物联网(IOT)数据。这是大数据的特点。 IOT – 是Internet Of Things的缩写,字面翻译是“物体组成的因特网”,准确的翻译应该为“物联网”。物联网(Internet Of Things)又称传感网,“物联网”(Internet Of Things)指的是将各种信息传感设备,如射频识别装置、红外感应器、全球定位系统、激光扫描器等种种装置与互联网结合起来而形成的一个巨大网络。其目的是让所有的物品都与网络连接在一起,方便识别和管理。物联网的兴起将带来数据爆炸增长,也将对我们大数据分析和未来社会的预测产生影响。 数据处理的关键- ETL 使用数据最关键是数据梳理 – ETL。从浩如烟海的数据中,提取对我们有价值的数据和信息。ETL,(Extract Transform Load),它实现数据的抽取,转换及装载工作。ETL在技术上主要涉及增量、转换、调度和监控等几个方面的处理: 抽取:将数据从各种原始的业务系统中读取出来。 转换:按照预先设计好的规则将抽取的数据进行转换、清洗,以及处理一些冗余、歧义的数据,使本来异构的数据格式能统一起来。 装载:将转换完的数据按计划增量或全部导入到目标数据库中。 现在的大数据分析中,ETL是基础也是关键,HDS公司最近收购的Pentaho就能够实现各种数据的ETL整合。如下图所示: 从上图可以看出,Pentaho可以将传统的客户信息,交易信息等结构化数据,ETL(PDI)到标准的DW库中,也可以将IOT数据,地理位置信息(Location), 互联网和社交媒体信息ETL(PDI)到规定的目标中,如MongoDB和Hadoop中,并且能够集成传统数据和新的社交数据,为大数据分析提供全新视角。 拥有大量的数据,我们可以遇见可知的未来,数据ETL加工、转换、调度和处理是大数据分析的基础,HDS的Pentaho能够实现各种数据的ETL加工、转换、调度和处理,为企业客户大数据分析助一臂之力。 本文作者:谢勇 来源:51CTO

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册