Google - OR-Tools 使用指南

img

一. 前言

OR-Tools | Google for Developers

OR-Tools is fast and portable software for combinatorial optimization.

About OR-Tools

OR-Tools is an open source software suite for optimization, tuned for tackling the world's toughest problems in vehicle routing, flows, integer and linear programming, and constraint programming.

After modeling your problem in the programming language of your choice, you can use any of a half dozen solvers to solve it: commercial solvers such as Gurobi or CPLEX, or open-source solvers such as SCIP, GLPK, or Google's GLOP and award-winning CP-SAT.

or-tools, 相比于其他的规划求解器, 其优点:

  • 开源(免费), Apache-2.0 license
  • 易用, 属于采用数学自然语言的风格
  • 集成多种求解器(支持调用第三方开源以及商用求解器, 商用求解器需要持有许可)
  • Google出品(大厂背书, 品质保证?)
阅读全文 »

FastAPI使用基础-性能篇

img

一. 前言

在局域网内部署了一个 web/api 服务, 基于性能和websocket使用的考量, 选择了fastapi, 借此探讨一下fastapi为何fast的原因.

FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.

Round 23 results - TechEmpower Framework Benchmarks

Web Framework Benchmark - Sharkbench

A 2024 benchmark of main Web API frameworks - Okami101 Blog

阅读全文 »

VBA高阶系列3: "原生"调用JavaScript脚本

img

一. 前言

对于爬虫有过较为深入了解的用户, 应该多少和JavaScript到过交道, 在爬虫的逆向很多时候都需要将目标页面的 js 文件存取到本地, 修改使之能够用于破解页面反爬. 通常这种脚本较为繁琐, 改成目标语言, 如python, 是相当麻烦, 虽然现在有ai的辅助, 可以将一些简单的js脚本转换为指定的语言, 但考虑到转换后的各种问题, 直接运行原脚本获取到需要的信息更为可靠和直接.

阅读全文 »

贝叶斯文本分类算法的JavaScript实现

一. 前言

img

img

( < 黑客与画家 >, Paul )

JavaScript(浏览器端)分词 | Lian (kyouichirou.github.io)这篇文章中提及js分词的实现. 本文则是js版本贝叶斯分类算法的实现, Kyouichirou/BiliBili_Optimizer: enjoy and control bilibili (github.com).

使用统计方法来实现垃圾内容过滤, 很早就想写的了, 但是由于在js端没有好的分词方案(), 一直没捣鼓, 直到发现原来js原生就支持分词, 这个想法马上付诸实现.

以下是对贝叶斯和文本分类算法的简单回顾, 逐步从基础推导出整个数学公式, 并根据python sklearnnative_bayes进行代码的修正, 给出了普通方式计算的代码.

由于需要在毫秒内实现, js脚本使用的分词方案是js原生分词api.

阅读全文 »

JavaScript进阶指南

一. 前言

img

[图: Copyright reserved by Mozilla]

JavaScript 的核心语言是 ECMAScript, 是一门由 ECMA TC39 委员会标准化的编程语言. " ECMAScript " 是语言标准的术语, 但" ECMAScript " 和" JavaScript " 是可以互换使用的.

个人相对青睐于JavaScript的语法结构和代码风格, 相对于Python.

阅读全文 »

MySQL使用指南

'''
    @author: HLA
    @github: https://github.com/Kyouichirou
    @version: 1.0
    @description: mysql基础与进阶; 基础, 查询, 配置, 管理.
    @license: MIT

    -- make thing better and simpler.
'''

一. 前言

MySQL更新到8.0之后, 很多内容发生较大的变化, 而搜索引擎/书籍查询到的大量信息还是基于5.x, 例如查询缓存这个机制在8.0就发生大的变化, 对于一些相对晦涩难懂的部分, 如日志, 锁, 事务, mvcc等更应注意, 这部分内容可查询到的信息相当混乱(陈旧, 错误), 大量混杂着各个时期MySQL的一些特性在其中, 遇到难以理解的部分应多查阅官方文档.

阅读全文 »

MySQL窗口函数(Window Function)详解

一. 前言

ppnYa7R.png

窗口函数(window function), 也称作OLAP, Online Analytical Processing,实时分析处理.

They can help boost query performance as an alternative to achieving the same result using more complex non-OLAP SQL code.

简而言之, 窗口函数大大强化了MySQL在数据分析上的能力, 通过窗口函数可以以相对简单的方式实现较为复杂的常态化数据输出, 例如经典的多层级汇总, topN问题, 多个区间之间得运算等.

以下内容, 先以简单的例子展示窗口函数的使用, 后使用相对复杂的内容来对窗口函数进行较深入的应用.

由于是在8.0后才增加的新特性, 搜索引擎/相关书籍提供的介绍较为简单和粗略, 相关参考主要以官方文档为主.

阅读全文 »

Win10无线网卡-蓝牙-折腾

一. 前言

事情是这样子的, 在玩all in boom时, 发现作为Wi-Fi信号发射的无线路由太过于碍事和占地方, 准备通过无线网卡, 以win10上自带的移动热点来发射Wi-Fi信号, 这样就完全实现all in boom.

由于对于Wi-Fi没什么高要求, 只需要设备具备2.4G/5G双频即可, 由于主机机箱完全封死, 不准备拆开安装PCIE 无线网卡, 所以在淘宝上随便买了一个不知名品牌(反正全是长得一个模子)的usb无线网卡(集成蓝牙5.3).

阅读全文 »