日读

日有所读

2020-04-26 [WEB] 听说,加缓存能提高性能?

  • 在哪加?

    • 客户端缓存:包括HTTP 缓存、浏览器缓存等
    • Web 缓存:例如CDN、反向代理服务等
    • 应用层缓存:例如Memcached、Redis等键值存储
    • 数据库缓存:一些数据库提供了内置的缓存支持,比如查询缓存(query cache)
  • 存什么?

    • Cached Database Queries:缓存原始查库结果

      1
      2
      3
      4
      5
      6
      7
      8
      9
      key = "user.%s" % user_id
      user_blob = memcache.get(key)
      if user_blob is None:
      user = mysql.query("SELECT * FROM users WHERE user_id=\"%s\"", user_id)
      if user:
      memcache.set(key, json.dumps(user))
      return user
      else:
      return json.loads(user_blob)
    • Cached Objects:缓存应用程序中的数据模型,比如重新组装过的数据集,或者整个数据模型类实例 【推荐方式】

    论数据是如何查询,如何加工转换的,只把最终得到的数据模型对象缓存起来,原始数据发生变化时,直接把相应的数据对象整个移除。对应用程序而言,数据对象比原始数据更容易管理和维护,因此,建议缓存数据对象,而不是原始数据

  • 怎么查?

    • Cache-aside/Lazy loading:预留缓存
    • Read-through:直读式
    • Write-through:直写式
    • Write-behind/Write-back:回写式
    • Write-around:绕写式
    • Refresh-ahead:刷新式
  • 缓存满?

    • LRU(Least Recently Used)
      最常用的一种策略,根据程序运行时的局部性原理,在一段时间内,大概率访问相同的数据,所以将最近没有用到的数据剔除出去,比如订机票,一段时间内大概率查询同一路线
    • LFU(Least Frequently Used)
      根据使用频率,将最不常用的数据剔除出去,比如输入法大多是根据词频联想的
    • MRU(Most Recently Used)
      在有些场景下,需要删掉最近用过的条目,比如已读、不再提醒、不感兴趣等
    • FIFO(First In, First Out)
      先进先出,剔除最早访问过的数据

2020-03-20 [Asyncio] 非常适合小白的 Asyncio 教程

  • concurrency:并发
  • threading:线程
  • multiprocessing:多进程
  • parallelism:并行
  • coroutine:协程
1
2
3
4
5
6
7
8
import asyncio

async def do_some_work(x):
print("Waiting " + str(x))
await asyncio.sleep(x)

loop = asyncio.get_event_loop()
loop.run_until_complete(do_some_work(3))

2020-03-12 [Web] 彻底理解cookie,session,token

  • cookie
  • session
  • token
    • CORS
    • CSRF

2020-03-11 [视野] My guiding principles after 20 years of programming

  • Don’t fight the tools
  • Write the code for yourself
  • Collaboration
  • Divide and conquer
  • Deprecate yourself
  • Security comes in layers
  • Every code has a life cycle and will die
  • Don’t attach your identity to your code
  • Tech debt is like fast food
  • Security > Usability (Accessibility & UX) > Maintainability > Simplicity (Developer experience/DX) > Brevity (code length) > Performance
  • Bugs’ genitals are called copy & paste
  • Don’t only write code for the happy scenario
  • Less dependencies
  • Stay clear from hype-driven development
  • Get out of your comfort zone
  • Great code is well documented
  • Avoid overriding, inheritance and implicit smartness
  • Never start coding (making a solution) unless you fully understand the problem
  • Don’t solve a problem that doesn’t exist
  • Software is more fun when it’s made together

2020-02-25 [Web] 分别说说微信和淘宝扫码登录背后的实现原理?

扫码登录的流程描述:
1.用户通过 浏览器 网页访问 PC服务器 网址,请求登录二维码
2.PC服务器 响应请求,生成一个 随机字符串
3.PC服务器将生成的 随机字符串 作为key值,存入 redis服务器
4.PC服务器将key值作为参数(或额外加盐)生成二维码返回给 浏览器
5.浏览器 网页展示二维码,并不断轮询 PC服务器 是否登录成功
6.用户使用手机扫描二维码,将二维码中的key解析出来,连同用户信息(主要是传递userId, 但出于安全用token比较好)一同发给 手机服务器
7.手机服务器将用户信息作为value存入redis服务器
8.当下次的第5步来查询时,发现已经扫码,则执行登录逻辑,生成 PC服务器的用户token
9.浏览器获得用户token,完成登录

2020-02-13 [Saas] A Failed SaaS Postmortem

作者启动了一个自己的 SaaS 产品,失败以后进行了分析,主要是对技术栈的选择和任务的优先级进行了检讨。

  • The vision
  • The initial plan
  • Not-so-boring technology choices
  • The upgrade treadmill
  • Ignoring customer development

2020-02-10 [Python] 30 Python Best Practices, Tips, And Tricks

  • Use Python 3
  • Check for a minimum required Python version: sys.version_info
  • Use IPython
  • List Comprehensions
  • Check memory usage of your objects: sys.getsizeof()
  • Return multiple values
  • Use data classes
  • In place variable swapping
  • Merging dictionaries
  • String to title case
  • Split a string into a list
  • Create a string from a list of strings
  • Emoji: emoji.emojize() VS emoji.demojize()
  • Slicing a list
  • Reversing strings and lists
  • Display kittens
  • Using map()
  • Get unique elements from a list or string
  • Find the most frequently occurring value: max(set(test), key = test.count)
  • Use the _ in an interactive shell
  • Quickly create a web server: python3 -m http.server
  • Multi-Line Strings
  • Ternary Operator For Conditional Assignment: [on_true] if [expression] else [on_false]
  • Counting occurrences: from collections import Counter
  • Chaining of comparison operators

2020-02-04 [视野] 为什么经过思考的新闻不会“反转”?

人人都是写手的年代,无疑增加了信息筛选的难度。当下疫情肆虐,各种谣言、虚假信息更是甚嚣尘上,所以培养自己的判断力何其重要!

2020-02-03 [视野] 2019年2月第1天,继续聊信息获取能力

  1. 确认你想用什么模式获取信息
  • 筛选(订阅)模式
  • 寻找(搜索)模式
  1. 筛 - 建立自己的知识体系
  2. 找 - GROW模型

2020-01-23 [API] API Taxonomy Explained: The Many Types of APIs

  • API Types by Provisioning: Private, Partner, Public
  • API Types by Design Style
  • API Types by Protocol
  • API Types by Data Format

2020-01-22 [视野] 逼近真相:在虚假和半真半假中的生存指南

假使这些完全无中生有的东西,你再帮他们说一遍,你等于,你也有责任

1 尽可能看原始来源
2 尽可能从不同的视角了解同一个消息
3 区分事实和观点
4 理解概率
5 严谨的思考

2020-01-21 [安全] How tracking pixels work

介绍浏网站如何通过浏览器的行为跟踪图片挖掘用户隐私。

2020-01-20 [硬件] The Microsoft Surface Laptop 3 Showdown: AMD’s Ryzen Picasso vs. Intel’s Ice Lake

2019年10月,微软发布 Surface Laptop 3 笔记本电脑。这台电脑非常罕见地有两种配置,一种是 Intel 的 CPU + GPU,另一种是 AMD 的 CPU + GPU。本文就对这两种配置进行了比较,结果是 CPU 方面 Intel 略占上风,GPU 方面 AMD 较好。

2020-01-16 [视野] 我对中国科技行业的看法(译文)

原文地址。文章写的很中肯,点明长处也指出不足。未来可期!

2019-12-16 [NLP] An Introduction to Text Summarization using the TextRank Algorithm (with Python implementation)

  • Text Summarization Approaches
  • Understanding the TextRank Algorithm
  • Understanding the Problem Statement
  • Implementation of the TextRank Algorithm

2019-12-04 [架构] A guide to distributed teams

一份给分布式团队的手册!涉及技术层面的东西不是很多

2010-11-28 [Twitter] Twitter account deletions on ‘pause’ after outcry

Twitter 打算启动一项删除长期不活跃用户账号政策,却遭到网友的抨击而被迫暂停!
话说,好长时间没有更新了,罪过罪过。。。

2019-11-10 [ThinkPHP] API专题

2019-11-12 [Blockchain] How Does the Blockchain Work?

最近正好写关于区块链的论文!Mark一下

2019-11-11 [DNS] DNS Encryption Explained

The Domain Name System (DNS) is the address book of the Internet. When you visit cloudflare.com or any other site, your browser will ask a DNS resolver for the IP address where the website can be found. Unfortunately, these DNS queries and answers are typically unprotected. Encrypting DNS would improve user privacy and security. In this post, we will look at two mechanisms for encrypting DNS, known as DNS over TLS (DoT) and DNS over HTTPS (DoH), and explain how they work.

2019-11-07 [AI] 这些欧美国家为什么限制使用人脸识别技术?

技术是由人在特定的社会条件下开发的,技术本身也会带有深刻的偏见。

2019-11-04 [教育] 教育投入的误区,很多人把方向搞错了

教育是投资,要根据自己的家庭环境量力而行!一篇非常好的论述教育的文章,强烈推荐!

2019-10-31 [视野] 你所不知道的 AI 进展

谷歌的机器学习专家格里高利·萨普诺夫(Grigory Sapunov)写了一篇通俗的科普文章,上面的链接是对原文的翻译。文章主要从以下方面展开:

  • 图像处理
    • 对象补全
    • 背景处理
    • 样式转换
    • 图像着色
  • GAN方法(生成对抗网络,Generative Adversarial Networks):革命性的提升人工智能模型效果、生成虚拟图像的方法。
    • StyleGAN:虚拟人像
    • 图像翻译:pix2pix
    • 人像翻译:StarGAN
    • 文本到图像生成:
  • 视频生成
    • 运动传递
    • 脸部生成
    • 视频渲染
  • 文本和声音处理
    • 语音合成
    • 音乐合成
    • 自动评论
    • 智能邮件

2019-10-30 [NLP] 放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较

NLP系列第二弹!因学校事物较多,电脑不在住处,近几日中断了!

2019-10-27 [NLP] 自然语言处理 NLP 基本概念大全

一定要反复读并且读一下文中的拓展文章!

  • NLP的2个核心任务

    • NLU:自然语言理解
    • NLG:自然语言生成
  • NLP的4个典型应用

    • 情感分析
    • 聊天机器人
    • 语音识别
    • 及其翻译
  • NLP的5个难点

    • 语言的多样性;语言是没有规律的,或者说规律是错综复杂的。
    • 语言的歧义性:语言是可以自由组合的,可以组合复杂的语言表达
    • 语言的鲁棒性:语言是一个开放集合,我们可以任意的发明创造一些新的表达方式
    • 语言的知识依赖:语言需要联系到实践知识,有一定的知识依赖。
    • 语言的上下文:语言的使用要基于环境和上下文。

2019-10-24 [技巧] Essential Chrome Developer Tools: Beginner to Master

2019-10-23 [性能] Making Instagram.com faster: Part 3 — cache first

关于缓存的介绍!没看太懂。。。

2019-10-22 [性能] Making Instagram.com faster: Part 2

  • Pushing data using early flushing and progressive HTML

2019-10-21 [性能] Making Instagram.com faster: Part 1

  • JavaScript, XHR, and image prefetching
  • Benefits of preload prioritization
  • Problems with preload prioritization
  • Image prefetching

文章是深度学习的应用,讲述如何发现热门菜谱。

2019-10-19 [语法] A Guide to Python’s Magic Methods

整合Python语言里的魔术方法,包括附录共16章。可以作为参考手册使用。

2019-10-18 [安全] Advanced web security topics

  • Using wrong MIME type in images to serve HTML
  • Stealing secrets with user-contributed CSS
  • Stealing web page content by tricking the browser to load the private page as CSS
  • Angular injection
  • HTTP injection
  • Finding out which sites a user visited
  • Abusing URL indexing to scan for private data
  • Allowing clients to pick protocols
  • Phishing with target=_blank links
  • Breaking out of a sandbox with Rowhammer.js
  • Phishing autofilled fields
  • Sneaking past validation with XML comments
  • Clickjacking social media login widgets

2019-10-15 [算法] Regular Expression Matching with a Trigram Index or How Google Code Search Worked

亲身作者讲述谷歌搜索是如何工作的。

2019-10-14 [技巧] Top 10 GitHub best practices for developers

  • Don’t just git push directly to master
  • Do git commit with the right email address
  • Define code owners for faster code reviews
  • Don’t let secrets leak into source code
  • Don’t commit dependencies into source code
  • Don’t commit configuration files into source code
  • Create a meaningful git ignore file
  • Archive dead repositories
  • Lock package version
  • Align packages versioning

2019-10-13 [性能] Python 工匠:使用数字与字符串的技巧

  • 少写数字字面量:即少写直接出现在代码里的数字,用常量字符去替代在业务具有特殊意义的数字。而下标数字可以不用理会
  • 别在裸字符串处理上走太远:即只使用基本的加减乘除和循环、配合内置函数/方法来操作字符串,获得我们需要的结果。对于 SQL 语句这种结构化、有规则的字符串,用对象化的方式构建和编辑它才是更好的做法。
  • 不必预计算字面量表达式:即使我们把代码改成 if delta_seconds < 11 24 3600:,函数也不会多出任何额外的开销。
  • dis 模块非常有用,请多多使用它验证你的猜测
  • 字符串拼接并不慢:+= 形式的代码对性能影响可以忽略

该系列其他文章:
Python 工匠:善用变量来改善代码质量
Python 工匠:编写条件分支代码的技巧

2019-10-12 [技巧] Web Performance 101

与前端相关的WEB性能提升窍门!文章有点长~

2019-10-10 [技巧] How to Make Good Code Reviews Better

代码审查,提上日程!

2019-10-06 [算法] Demystifying Binary Search Tree Algorithms

用Go语言实现的二叉搜索树。图文并茂,适合初学者。

2019-10-03 [读书] If You Want To Make Progress Stop Lying To Yourself

Something to hold your back:

  • Fear
  • Rejection
  • Low self-esteem
  • Laziness

Just Run!!!

2019-10-02 [算法] You need to understand Big O notation, now.

讲述时间复杂度O(n)算法,中规中矩吧。以为会发现什么新大陆呢。。。适合初学者看

2019-10-01 [算法] Timsort — the fastest sorting algorithm you’ve never heard of

文章介绍了现实世界中既快又稳定的排序算法-Timsort。

  • 要排序的数据少于64个:直接使用插入排序
  • 要排序的数据大于64个:
    — 需要严格递增或递减的数据
    — 借助栈结构,应用gallop模式,用归并算法进行合

In short, Timsort does 2 things incredibly well:

  • Great performance on arrays with preexisting internal structure
  • Being able to maintain a stable sort

2019-09-30 [架构] Web Architecture 101

关于网站架构的系列文章,这是第一篇的概述。值得一追!文章写于2017年,称在未来两年内开始更新此系列文章,目前只有这一章。。。

2019-09-29 [视野] 我们是如何被事实和数字欺骗的?

  • 公众号2倍增长——“小样本谎言”;
  • 丁俊晖视频——“选择性展示谎言”;
  • 贸易战汇报——“描述倾向谎言”;
  • 时代周刊自媒体——“偷换概念谎言”;
  • 美国枪支数——“平均数谎言”;
  • 手掌大小与寿命——“相关当因果谎言”;
  • 升学率选择——“辛普森悖论谎言”;
  • 正副市长工资——“不恰当对比谎言”;
  • 指标走势——“视觉误导性谎言”

2019-09-27 [性能] 7 Habits to Improve The Performance of Python Programs

  • Use local variables
  • Reduce the number of function calls
  • Use mapping to replace conditional search
  • Iterate sequence elements directly
  • Replace list comprehension with generator expressions
  • To be compiled first and then called
  • Habits for module programming

2019-09-26 [算法] The State of Hashing Algorithms

文章讲述哈希算法的昨天、今天和明天。举的例子蛮有意思的,可以和日读的其他哈希算法结合起来看。
顺便说一下今、明的工作:

  • 完成推特数据的情感分析,明天加足马力搞论文
  • 写一篇数据清洗的blog,去除URL链接、HML标签、话题标签、@someone等

2019-09-25 [安全] SSH PORT

SSH端口号:22的由来及相关知识。

2019-09-24 [安全] 数码时代的信息安全手册

昨天搞完论文数据已经很晚,就没有看Data Structures Reference的剩余部分,今天终于补完。准备完善一下以前写过的关于数据结构的文章。

信息时代如何保证个人信息安全,这篇文章给出了很好的方法。值得一做!

2019-09-22 [数据结构] Data Structures Reference

一口气看到Priority Queue,对于数据结构又加深了理解。感觉前面的博文需要重新写一遍了!眼睛有点不舒服,今天到此为止,明天看完剩下部分。

2019-09-20 [算法] 白话解析:一致性哈希算法 consistent hashing

文章通俗易懂,读完有种跃跃欲试的感觉!

2019-09-19 [技巧] 30 Helpful Python Snippets That You Can Learn in 30 Seconds or Less

中午吃饭的时候看了一下这篇文章,本来都不想写日读的。看了一天的论文代码,脑袋都要炸了!哎,继续加油吧!!!

2019-09-16 [架构] 关于数据库分库分表的相关博文

https://husaky.com/686 | MySQL数据库之分库分表篇 - 春雨碧于天 -
https://blog.csdn.net/xlgen157387/article/details/53976153 | 数据库分库分表策略的具体实现方案 - 徐刘根的博客 - CSDN博客
https://tech.meituan.com/2016/11/18/dianping-order-db-sharding.html | 大众点评订单系统分库分表实践 - 美团技术团队
http://blog.leanote.com/post/sanyue9394@163.com/mysql%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8%E6%8A%80%E6%9C%AF%E5%88%9D%E6%8E%A2 | mysql分库分表、分区(partition)和主流中间件小讲
http://rdc.hundsun.com/portal/article/945.html | 基于Mysql数据库亿级数据下的分库分表方案 - 数据库 - 恒生研究院
https://jiemin.wang/2019/04/24/mysql-sharding/ | MySQL 水平拆分表的一次踩坑 | Jamin Blog
https://www.cnblogs.com/phpper/p/6937896.html | 总结下Mysql分表分库的策略及应用 - 周伯通的麦田 - 博客园
https://www.cnblogs.com/tuhooo/p/9582223.html | 分库分表基础知识总结 - tuhooo - 博客园
https://blog.csdn.net/bluishglc/article/details/7710738 | 数据库分库分表(sharding)系列(二) 全局主键生成策略 - Laurence的技术博客 - CSDN博客
https://blog.csdn.net/bluishglc/article/details/7766508 | 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量 - Laurence的技术博客 - CSDN博客
https://blog.csdn.net/bluishglc/article/details/7793172 | 数据库分库分表(sharding)系列(四) 多数据源的事务处理 - Laurence的技术博客 - CSDN博客
https://blog.csdn.net/bluishglc/article/details/7970268 | 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案 - Laurence的技术博客 - CSDN博客
https://code.flickr.net/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/ | Ticket Servers: Distributed Unique Primary Keys on the Cheap | code.flickr.com

2019-09-15 [读书] How to Read Books

字符编码笔记:ASCII,Unicode 和 UTF-8

c054eba877cdf498f2df2686fcaaa187.png

2019-09-13 [技巧] 高可用的部署技巧

2019-09-12 [算法] 最简单的马尔可夫链图解

2019-09-11 [规约] SQL 命名约定

“There are only two hard problems in Computer Science: cache invalidation and naming things.” — Phil Karlton

  • Naming Conventions
    — Avoid quotes: Avoid using names like “FirstName” or “All Employees”.
    — Lowercase: Use first_name, not “First_Name”.
    — Data types are not names.
    — Underscores separate words: Use word_count or team_member_id, not wordcount or wordCount.
    — Full words, not abbreviations: Use middle_name, not mid_nm.
    — Use common abbreviations.
    — Avoid reserved words: Avoid using words like user, lock, or table.
  • Singular Relations
    — Tables, views, and other relations that hold data should have singular names, not plural.
  • Key Fields
    — Primary Keys
    —- Single column primary key fields should be named id.
    — Foreign Keys
    —- Foreign key fields should be a combination of the name of the referenced table and the name of the referenced fields.
  • Prefixes and Suffixes (are bad)
    — Relation Type Prefixes
    — Application Name Prefixes
    — Data Type Suffixes
  • Indexes
  • Constraints

The only thing worse than bad naming conventions is multiple naming conventions. If your existing project already has a standard approach to naming its database objects then keep using it.

2019-09-10 [算法] SHA256 的实现

今天正好看完了散列表和哈希算法,手敲了基于线性寻址的散列表和基于基于单链表的散列表,了解了哈希算法在实际工作中的应用。这篇文章有深度,需要慢读!

2019-09-09 [技巧] 解谜英语语法

把英语句子结构和计算机分析结合起来,从动词出发,在动词的角度上进行拓展,不过分强调语法的重要性,写的很好!

2019-09-08 [视野] 解谜计算机科学

掌握语言就像学会了各种汽车部件的工作原理。几分钟之内,初学者就能让车子移动,转弯,停止。可是完了之后你还需要学习交通规则,你需要许许多多的实战练习和经验,掌握各种复杂情况下的策略,才能成为一个合格的驾驶员。如果你想成为赛车手,那就还需要很多倍的努力。

文章从身边的小事出发讲述计算机的本质,这是第一章的内容。后面再看貌似要付费。。。

2019-09-07 [实战] 爆款!如何利用Quora引上万流量,我是这样做的 !| 实战

文章讲述如何通过社交媒体进行引流,具有很强的实践性。从推广思路、内容创作、推广策略三个层次展开,具有较高的指导意义和借鉴价值。

读完后想到了阮老师在科技日报上关于写作的思考(链接找到后再补),大体意思是说:写作是一个“高拓展”的领域,你写好一篇文章,可以服务越来越多的用户,所以你收获的报酬也就逐渐递增。而像理发师、出租车司机等,一次只能服务很少的用户,而且不会有后续,是用时间换取价值!你的价值是体现在哪里呢?

2019-09-06 [技巧] Chrome DevTools 的一些使用技巧

  • Drag and Drop in the Elements panel
  • Reference the currently selected element in the Console
  • Use the value of the last operation in the Console
  • Add CSS and edit the element state
  • Find where a CSS property is defined
  • Save to file the modified CSS
  • Screenshot a single element
  • Find an element using CSS selectors
  • Shift-enter in the Console
  • Clear the Console
  • Go to…
  • Watch Expression
  • XHR/Fetch debugging
  • Debug on DOM modifications

2019-09-05 [安全] Be safe on the internet

An open source checklist of resources designed to improve your online privacy and security.

  • Use a password manager
  • Create a strong device passcode
  • Use two-factor authentication
  • Set up a mobile carrier PIN
  • Encrypt your devices
  • Freeze Your Credit
  • Change your DNS settings to 1.1.1.1 or 9.9.9.9
  • Use a VPN
  • Review the privacy of your physical space
  • Use a privacy-first web browser
  • Use a privacy-first search engine
  • Use a privacy-first email provider
  • Review location, camera, and other sensitive device permissions
  • Review and remove metadata attached to photos you share
  • Review your social media privacy settings
  • Use encrypted messaging apps when sharing sensitive information
  • Educate yourself about phishing attacks
  • Keep your devices up to date

2019-09-04 [视野] Here’s why telephones and calculators use different numeric keypads

讲述电话键盘与计算器键盘为什么不同?

2019-09-03 [视野] 什么是真正的程序员

如题,什么是真正的程序员???

2019-09-02 [技巧] Learn How To Debug JavaScript with Chrome DevTools

图文并茂,很好理解!觉得有空可以尝试一下翻译技术博文,应该挺有趣的。

说个题外话,男篮世界杯遗憾输给波兰!恨铁不成钢啊!记录一下个人看法:

  • 心疼阿联!心疼阿联!心疼阿联!
  • 李指导匪夷所思的用人安排和技战术指导!郭艾伦早早4犯为何不替换下场?掌握主动为何浪费最后一个暂停?周琦发球失误在先,为何还继续让他发关键球?比赛过程中只听到关于进攻的战术,反倒是旁边的外教一直在喊“hold the ball”!!!
  • 对于周琦,已经不想说什么了,请拿出你的血气!Show me!!!
  • 郭艾伦4犯的速度可以的,感觉有几个犯规纯属多余

走到今天这步,什么样的后果都得吞下!!!

2019-08-30 [视野] Math in Data Science

  • Naive Bayes
  • Linear Regression
  • Logistic Regression
  • Neural Networrks
  • K-Means clustering
  • Decision Trees

简明扼要,读起来不费力!

2019-08-29 [实战] 写在爬取新浪微博之前

今天好好读一下自己写的文章吧!!!踩坑+笔记,用了不少时间。

2019-08-28 [视野] 电子烟:迷人的风口,难做的生意

电子烟行业不但继承了传统烟草行业的特点,更深深吸引了广大烟民的眼球。从市场利润上来看,这是个高毛利的行业;从消费者端来看,这是个强依赖性的行业,且用户对价格的敏感度也不会太大;从时尚流行角度来看,这也可以视为流行的风向标。整个烟草行业的蛋糕太大了,哪怕只是一小杯羹,都可以让人非吴下阿蒙。

就目前国内电子烟市场来看,大有百家争鸣之势。每一个创业者都在发挥自己特有的优势,力争树立起电子烟标杆,获得更大的市场占有率,拥有更多的话语权。

2019-08-27 [视野] 为何说滴滴是“伪平台型”互联网企业?

一个“货真价实”的平台型互联网企业要具有“跨群补贴”的效应,不仅仅是跨人群,还要跨行业:

1、低频补贴高频
2、非标补贴标品
3、高毛利产品补贴低毛利产品
4、窄众人群补贴大众人群
5、非刚需补贴刚需

随便举几个例子,携程是靠2和3,用非标的、动态定价的酒店高毛利补贴标品赔钱的机票火车票;淘宝是2、3、4点为主,赚女装、化妆品等高毛利非标的钱,补贴“万能的淘宝”那些海量低利润的小卖家;腾讯的微信最牛逼,五点全占!类似我这样喜欢玩游戏的族群,低频非刚需但超高毛利的游戏窄众人群,来补贴几亿完全不给微信交一毛钱利润的大众抢红包人群——然后,再靠微信支付,来贯穿新零售的布局。

真正的“平台型互联网企业”,打通了两层或三层或N层的不同族群或不同行业,埋的利润点随时转移,各层消费者体验浑然一体,你单攻任何一层,都收不到实效,而多层同时攻击……不存在的——不是钱的问题,“首尾相衔”是靠时间慢慢“长”出来的,而非一蹴而就“堆”出来的。

一家独大非好事,百花齐放才是春~

2019-08-26 [视野] 美团张川:做了8年平台,我总结了平台的5道坎

交易平台 VS 信息平台

  • 动态不平衡才能形成真正的平台

    动态不平衡,即这个市场的活跃度足够高,不会产生单个用户和单个服务提供者在一段时间内多次达成同一个交易的过程。
    例如:用户交易的时候很少在固定的时候固定的买一家店固定的商品,用户也很少同时同刻在同一地点打上同一个司机的同一辆车。

  • 标准化决定平台大小

    商品的标准化是容易的,但是生活服务的标准化都是不容易的,只有相对的标准化。所以目前看实物电商规模比生活服务电商更大。越容易标准化的东西,越容易形成平台。

  • 高频打低频是误解

    高频服务靠补贴,低频服务靠广告

  • 供给端的效率高,平台价值大

    短期看需求,长期看供给。

  • 想清楚自己的商业模式

    [LTV, 生命周期总价值] 剃须刀的生意,就是看中一个客户的长期价值,第一次生意不追求赚钱,甚至是亏钱的,但是依靠长期卖刀片的生意,把利润做高做大。打印机生意同理。
    [CAC,用户获取成本] 电冰箱的生意,就是一定要在本次交易中覆盖用户获得成本,生意的公式就是本次收入-获客成本,不要期待未来还能依靠给冰箱卖鸡蛋能够从单个客户上获得更多的收入。