Vcancy's Home

电影|阅读|记录


  • 首页

  • 标签

  • 分类

  • 归档

《联盟》

发表于 2018-05-10 | 分类于 书

《联盟》 里德霍夫曼

新的互联网时代背景下,人们已经从传统的终身职员转变为自由职员。公司与员工达成联盟关系,公司为员工提供有利于职业发展的环境、资源、机会,员工通过个人成长为公司创造价值,也为接下来的职业生涯增加资本。

如何达成联盟关系

通过诚实对话建立互信

公司承诺员工在职期间的职业能力提升

员工承诺在职期间完成任务、解决问题、创造价值

任期制

轮转期:双方判断对方是否适合

转变期:员工为公司产生价值,公司为员工创建职业提升条件

基础期:员工和公司的目标和价值一致

利用好员工人脉关系

通过员工人脉为公司发展、决策提供信息

利用好前员工资源

总结:

  1. 拿出彼此诚意(公司类似球队非家庭)

  2. 适合就干 (互利才能共赢)

  3. 不适合就散(保持联系)

[SQLAlchemy实践]对象 JSON 序列化

发表于 2018-05-08

通常使用SQLAlchemy返回对应的模型对象,在某些场景下我们需要将SQLAlchemy对象进行JSON序列化

在Python标准库的json包中,提供了JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换。

默认支持数据类型:

Supports the following objects and types by default:

+-------------------+---------------+
| Python            | JSON          |
+===================+===============+
| dict              | object        |
+-------------------+---------------+
| list, tuple       | array         |
+-------------------+---------------+
| str               | string        |
+-------------------+---------------+
| int, float        | number        |
+-------------------+---------------+
| True              | true          |
+-------------------+---------------+
| False             | false         |
+-------------------+---------------+
| None              | null          |
+-------------------+---------------+

通过继承JSONEncoder,实现default方法来自定义SQLAlchemy对象转化成JSON字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from sqlalchemy import inspect
from sqlalchemy.ext.declarative import DeclarativeMeta

class AlchemyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj.__class__, DeclarativeMeta):
fields = {}
for field in [c.key for c in inspect(obj).mapper.column_attrs]:
data = obj.__getattribute__(field)
try:
if isinstance(data, datetime):
data = data.strftime('%Y-%m-%d %H:%M:%S') # 添加对datetime序列化的支持
json.dumps(data) # this will fail on non-encodable values, like other classes
fields[field] = data
except TypeError:
fields[field] = None
return fields

return json.JSONEncoder.default(self, obj)

debian9 编译nginx 1.14.0 配置gRPC

发表于 2018-05-06 | 分类于 服务器技术

Nginx 在 1.13.10 中,新增了对gRPC的原生支持,Nginx 1.14.0 主线版已经发布。

安装 Nginx
Nginx版本要求:1.13.10+。gRPC必须使用 HTTP/2 传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接的多路复用和流式特性。所以在安装部署nginx时需要安装http/2。使用源码安装,编译时需要加入http_ssl和http_v2模块:

1
./configure --with-http_ssl_module --with-http_v2_module
阅读全文 »

Leetcode_747 Largest Number At Least Twice of Others

发表于 2018-05-02 | 分类于 算法

在一个给定的数组nums中,总是存在一个最大元素 。

查找数组中的最大元素是否至少是数组中每个其他数字的两倍。

如果是,则返回最大元素的索引,否则返回-1。

示例 1:

输入: nums = [3, 6, 1, 0]
输出: 1
解释: 6是最大的整数, 对于数组中的其他整数,
6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.

示例 2:

输入: nums = [1, 2, 3, 4]
输出: -1
解释: 4没有超过3的两倍大, 所以我们返回 -1.

提示:

nums 的长度范围在[1, 50].
每个 nums[i] 的整数范围在 [0, 99].

阅读全文 »

成都移动中兴B860A机顶盒卡在45%,获取IP地址失败

发表于 2018-04-29

机顶盒 中兴B860A,开机启动卡在45%,获取IP地址失败。

区域:成都移动

原因:账号密码验证失败,升级了宽带套餐,之前宽带密码和机顶盒密码不一致,升级后移动貌似统一了宽带和机顶盒拨号密码。

解决方案如下:

阅读全文 »

Leetcode_724 Remove Duplicates from Sorted Array

发表于 2018-04-28 | 分类于 算法

给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。

我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。

示例 1:

输入:
nums = [1, 7, 3, 6, 5, 6]
输出: 3
解释:
索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。
同时, 3 也是第一个符合要求的中心索引。
示例 2:

输入:
nums = [1, 2, 3]
输出: -1
解释:
数组中不存在满足此条件的中心索引。
说明:

nums 的长度范围为 [0, 10000]。
任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。

阅读全文 »

Leetcode_26 Remove Duplicates from Sorted Array

发表于 2018-04-28 | 分类于 算法

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例 1:

给定数组 nums = [1,1,2],

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。

你不需要考虑数组中超出新长度后面的元素。
示例 2:

给定 nums = [0,0,1,1,1,2,2,3,3,4],

函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。

你不需要考虑数组中超出新长度后面的元素。
说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);

// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {
print(nums[i]);
}

阅读全文 »

80s电影下载地址获取

发表于 2018-04-28

偶尔电影,发现https://www.80s.ai/ 这个网站资源丰富。写了一个python小程序搜索电影/电视剧下载地址。

安装:
pip install spider80s

使用:

搜索单个电影/电视剧

1
80s 电影名

搜索多个电影/电视剧,空格分隔

1
80s 电影名1 电影名2

Python程序发布到 PyPI

发表于 2018-04-28

PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。本文记录如何发布自己的程序到Pypi。

  1. 注册Pypi账号
  2. 编写setup.py文件
  3. 本地打包测试
  4. 发布到Pypi
阅读全文 »

Python上下文管理器

发表于 2018-04-25 | 分类于 python
上下文管理协议

实现了enter和exit这两个上下文管理器协议

with语句的执行原理
  1. 执行 context_exp 以获取上下文管理器
  2. 加载上下文管理器的 exit() 方法以备稍后调用
  3. 调用上下文管理器的 enter() 方法
  4. 如果有 as var 从句,则将 enter() 方法的返回值赋给 var
  5. 执行子代码块 with_suit
  6. 调用上下文管理器的 exit() 方法,如果 with_suit 的退出是由异常引发的,那么该异常的 type、value 和 traceback 会作为参数传给 exit(),否则传三个 None
  7. 如果 with_suit 的退出由异常引发,并且 exit() 的返回值等于 False,那么这个异常将被重新引发一次;如果 exit() 的返回值等于 True,那么这个异常就被无视掉,继续执行后面的代码
阅读全文 »
1234…7
Vcancy

Vcancy

TO BE OR NOT TO BE.

67 日志
15 分类
36 标签
GitHub E-Mail
© 2021 Vcancy
由 Hexo 强力驱动
|
主题 — NexT.Mist v6.0.6