s3

java上课内容

我的梦境 提交于 2019-11-30 07:45:52
上次Java课上,亲爱的王建民老师生动形象得给我们上了一堂理论和实践课。开头,老师以愚公移山的神话故事开头讲述编程的精义,讲述了编程的根本是顺序,分支和循环。Java程序通常经历五个阶段:编辑,编译,装入,校检,执行。还告诉我们要从测试中找问题,从测试中找不足,给我们提了很多基础性问题然后讲了Java对标识符的要求以及标识符的规范,然后是定义Java常量的常用数据类型,以及新特性,即允许使用下划线分隔多个数位,然后是原始数据类型与类除了int,float等少数类型,其余都用来引用对象,下面是枚举类型enum size,枚举可用于switch语句中,然后讲了Java算术运算符和它的优先级。后面是变量与内存,变量的使用规则以及作用域变量间的类型转换,区分引用类型和原始类型的变量,怎样把字符串转化为浮点数。最后的两节课老师让我们进行了自我测试,内容是:一家软件公司程序员二柱的小孩子上了小学二年级,老师让家长每天出30道四则运算题目给小学生做。二柱立马就想到写一个小程序来做这件事。然后加了一些小要求1、题目避免重复;2、可定制(数量/打印方式);3、可以控制下列参数:是否有乘除法,是否有括号、数值范围、加减有无复数、除法有无余数、是否支持分数等。以下是我的程序 import java.util.Random; import java.util.Scanner; public class

Python之深浅拷贝

坚强是说给别人听的谎言 提交于 2019-11-30 05:33:14
1.浅拷贝 shallow copy s=[1,'alex','alvin'] s2=s.copy() print(s2) s2[0]=22 print(s) print(s2) 输出结果: [1, 'alex', 'alvin'] [1, 'alex', 'alvin'] [22, 'alex', 'alvin'] 使用copy方法,复制S2。修改S2,不会影响S的值 2. s=[[1,2],'alex','alvin'] s3=s.copy() # s3=s[:]也是浅拷贝 print(s3) s3[1]='linux' print(s3) print(s) s3[0][1]=3 print(s3) print(s) 输出结果 [[1, 2], 'alex', 'alvin'] [[1, 2], 'linux', 'alvin'] [[1, 2], 'alex', 'alvin'] [[1, 3], 'linux', 'alvin'] [[1, 3], 'alex', 'alvin'] 修改S3里的元素-列表里的元素。也会影响S 赋值原理: 3. a=[1,2,3] b=a print(a) print(b) b[2]=4 print(a) print(b) 注意:通过赋值,a和b会指向同一个地址。如果修改b这块内存中的某块地址,a也会跟着变化。 深浅拷贝可用于银行亲情账号绑定

[PHP] 存储改造中的逻辑和清理遗留的问题

给你一囗甜甜゛ 提交于 2019-11-30 03:21:33
现象:用户读信时,根据路径的哈希结果,访问四台服务器中一台请求文件,这四台缓存机器已经下线,访问不到再去后端存储访问浪费了时间 前因:每一封信都是一个文件,存储在公司内部的分布式文件系统s3上.因为读取速度太慢和经常的网络访问失败,后来在s3系统之上新增了nginx缓存代理,imap pop web各端都能使用这几台缓存.又增加了阿里云oss存储,与s3存储并行. 1. 访问文件的时候,会根据内部的索引服务返回的location进行判断,结果是4,5,6,分别代表只存s3,只存oss,s3和oss双读.代码中对location进行判断,进行读取访问文件.当存在双读的时候,要根据配置优先读取oss或者优先读取s3,读取不到时再去读取另外的存储 2. 在需要读取s3时,在这之上要先访问缓存代理.根据指定的哈希规则,对path部分取哈希值,如果在以下四个范围内就访问指定的IP '0~25'=>'http://xxx.xxx.88', '25~50'=>'http://xxx.xxx.89', '50~75'=>'http://xxx.xxx.90', '75~100'=>'http://xxx.xxx.91' 哈希算法如下: function BKDRHash($str) { $hash = 0; $seed = 1313; for ($i=0;$i<strlen($str);$i++)

AWS Lambda 自动化和 Python - 自动创建S3 Bucket lifecycle

荒凉一梦 提交于 2019-11-30 01:37:01
最近经常需要创建一些S3 Bucket用于备份。每个新建的Bucket都应该配置lifecycle,自动删除旧的数据,以便节约空间和开支。 豆子写了一个简单的Lambda函数来自动实现。每次当我们创建一个Bucket的时候,他会调用对应的API,Cloudtrail监测到这个事件后,会发送给Cloudwatch, 然后Cloudwatch会自动调用我的函数来创建lifecycle policy。 下面是简单的截图说明。 创建一个新的Cloudwatch Rule 对应的Lambda函数 他默认的IAM已经有权限访问Cloudwatch, 我新建了一个S3的Policy,然后分配给他的IAM role,这样这个lambda函数可以访问Cloudwatch和S3 的权限。 下面是Python代码 import logging import boto3 from botocore.exceptions import ClientError lifecycle_config_settings = { 'Rules': [ {'ID': 'Delete Rule', 'Filter': {'Prefix': ''}, 'Status': 'Enabled', 'Expiration': { 'Days':100 }} ]} def put_bucket_lifecycle

cronicle minio s3 存储配置集成

浪尽此生 提交于 2019-11-30 00:16:31
cronicle 后端存储是可配置的 ,通过使用不同的存储配置,我们可以解决多实例部署以及数据共享的问题 cronicle 的后端存储模型,设计的特别方便,包含了基于文件的,基于s3 的,同时我们也可以开发自己的 存储引擎 以下是一个集成minio s3 部署单master,多slave 实际上我们可以扩展为多master 环境准备 docker-compose 文件 version: "3" services: s3: image: minio/minio command: server /data ports: - "9000:9000" environment: - "MINIO_ACCESS_KEY=dalongapp" - "MINIO_SECRET_KEY=dalongapp" volumes: - "./data:/data" cronicle: build: ./ hostname: master image: dalongrong/cronicle volumes: - "./config.json:/opt/cronicle/conf/config.json" ports: - "3012:3012" cronicle2: build: ./ hostname: cronicle2 image: dalongrong/cronicle volumes: - ".

2019.09.16 课堂总结

送分小仙女□ 提交于 2019-11-29 20:02:42
一、动手动脑1 1、问题:仔细阅读示例: EnumTest.java,运行它,分析运行结果?你能得到什么结论?你掌握了枚举类型的基本用法了吗? 2、 代码如下: 1 public class EnumTest { 2 3 public static void main(String[] args) { 4 Size s = Size.SMALL; 5 Size t = Size.LARGE; 6 // s和t引用同一个对象? 7 System.out.println(s == t); // 8 // 是原始数据类型吗? 9 System.out.println(s.getClass().isPrimitive()); 10 // 从字符串中转换 11 Size u = Size.valueOf("SMALL"); 12 System.out.println(s == u); // true 13 // 列出它的所有值 14 for (Size value : Size.values()) { 15 System.out.println(value); 16 } 17 } 18 19 } 20 21 enum Size { 22 SMALL, MEDIUM, LARGE 23 }; 3、运行结果截图 4、结论 ①枚举变量中实例化的对象的不同元素的地址不同

2019-9-16 java上课知识整理总结

╄→гoц情女王★ 提交于 2019-11-29 19:43:26
2019-9-16 java上课知识整理总结 一,课堂测试 1,题目:课堂测试:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件” 要求: (1)题目避免重复; (2)可定制(数量/打印方式); 2,设计思路 1),产生两个1-100的随机数作为题目参与运算的数据,产生一个1-100的随机数并对4求余作为运算符 (0:‘+’,1:‘-’,2:‘*’,3:‘/’)。 2),用for循环控制出题个数n,用循环变量i对一行出题个数m求余,余数为0换行控制一行中题目的个数。 3),在减法中用while(s1<s3)循环(s1,s3是参与运算的数)循环体是新生成一个随机数赋给s3,保证结果非负。 4),在乘法中用while(s1*s3>100)循环(s1,s3是参与运算的数)循环体是新生成一个随机数赋给s3,保证结果小于100。 5),在除法中用while(s1/s3!=0)循环(s1,s3是参与运算的数)循环体是新生成一个随机数赋给s3,保证结果为正数。 6),用数组存储之前所有输入的操作数和运算符用for循环判断是否重复若重复新生成一个随机数赋给s3,保证出题不重复。 3,代码 import java.util.Random; import java.util.Scanner; public class suanshu { static Scanner sc =

AWS Lambda 自动化和 Python - 自动创建S3 Bucket lifecycle

霸气de小男生 提交于 2019-11-29 17:32:43
最近经常需要创建一些S3 Bucket用于备份。每个新建的Bucket都应该配置lifecycle,自动删除旧的数据,以便节约空间和开支。 豆子写了一个简单的Lambda函数来自动实现。每次当我们创建一个Bucket的时候,他会调用对应的API,Cloudtrail监测到这个事件后,会发送给Cloudwatch, 然后Cloudwatch会自动调用我的函数来创建lifecycle policy。 下面是简单的截图说明。 创建一个新的Cloudwatch Rule 对应的Lambda函数 他默认的IAM已经有权限访问Cloudwatch, 我新建了一个S3的Policy,然后分配给他的IAM role,这样这个lambda函数可以访问Cloudwatch和S3 的权限。 下面是Python代码 import logging import boto3 from botocore.exceptions import ClientError lifecycle_config_settings = { 'Rules': [ {'ID': 'Delete Rule', 'Filter': {'Prefix': ''}, 'Status': 'Enabled', 'Expiration': { 'Days':100 }} ]} def put_bucket_lifecycle

P3810 【模板】三维偏序(陌上花开)

别说谁变了你拦得住时间么 提交于 2019-11-28 20:47:56
题面 https://www.luogu.org/problem/P3810 题解 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; struct node { int s1,s2,s3; bool operator < (const node rhs) const { return s1<rhs.s1 || s1==rhs.s1 && s2<rhs.s2 || s1==rhs.s1 && s2==rhs.s2 && s3<rhs.s3; } } a[100050]; struct newnode { int s1,s2,s3; int f,v; bool operator < (const newnode rhs) const { return s2<rhs.s2; } } b[100050]; int n,k,newn; int ans[100050]; struct fenwick { long long tree[200050]={0}; void insert(int loc,int v) { for (int i=loc;i<=k;i+=i&-i) tree[i]+=v; } int query(int loc) { long long sum=0; for (int

Lambda,AWS和Python的自动化管理操作 - 自动Resize S3上传的图片

筅森魡賤 提交于 2019-11-28 14:20:09
这节来学习一个经典的案例,这个案例我在三个不同的培训视频里面都看见过,不知道最初的原创者是谁 :) 和前面的几个例子比较起来,思路其实是大同小异的,唯一的区别在于两点: 通过S3来触发Lambda 对于AWS默认不包括的Python模块,我们需要手动上传zip文件或者通过S3来导入 这个例子的流程简单的说就是创建2个S3的bucket,在其中一个上传照片,他会自动压缩尺寸并保存在另外一个bucket里面。 下面来看看如何实现。 首先创建2个bucket,一个source, 一个destination 然后创建对应的role 然后创建一个Lambda function,选择上面配置的role 添加一个触发器,这里我们指定S3的source bucket 接下来,是配置对应的函数 import os import tempfile import boto3 from PIL import Image s3 = boto3.client('s3') DEST_BUCKET = os.environ['DEST_BUCKET'] SIZE = 128, 128 def lambda_handler(event, context): for record in event['Records']: source_bucket = record['s3']['bucket']['name']