duangsuse::Echo
以后 GeekApk 就有两门『自己的语言』撑着了! GeekApk 的后端,需要 REST, RDBMS, WebSocket,可以由 GeekSpec 1.0 提供高可重用性,具有灵活、可读性,严重减少余赘代码的开发工具 GeekApk 的多平台客户端(主要是 Web 和 Android,以及 Gtk#),由 Kotlin Common 和 CSharp 的 NaiveCat 程序设计语言支持,一次开发插件,多个平台运行 并且,虽然只是弱类型的 NaiveCat 还支持很多流行的操作:模式匹配、尾递归优化、Fibers、基于…
#stat #Telegram 到回复消息为止,从这里起,三周的时间里
duangsuse 写了 171 条广播,基本全是技术类的
一共 11, 5185 个字,6551 行
🤔 思量着能不能写个机器人帮我数字数什么的,可是毕竟工程要熟悉新的接口和抽象,很花时间的.
duangsuse 写了 171 条广播,基本全是技术类的
一共 11, 5185 个字,6551 行
🤔 思量着能不能写个机器人帮我数字数什么的,可是毕竟工程要熟悉新的接口和抽象,很花时间的.
Telegram
duangsuse::Echo
好了,闲杂事物已经处理完毕,现在来干 ♂ 正事 ❤️ #weekly #tech
这星期(虽然就一天)的事情,将会包含:
+ 两个到三个 Excited 的项目(BinaryStreamIO 1.0、SimpleCat)(Android 的 Perferences 封装)
+ 两个小型 PoC 项目(PartitionSortableList、Delete/Insert/Modify sorted Lists Android 应用、TextTag)(吐槽:其实 duangsuse 也不会多少排序算法呢,他连…
这星期(虽然就一天)的事情,将会包含:
+ 两个到三个 Excited 的项目(BinaryStreamIO 1.0、SimpleCat)(Android 的 Perferences 封装)
+ 两个小型 PoC 项目(PartitionSortableList、Delete/Insert/Modify sorted Lists Android 应用、TextTag)(吐槽:其实 duangsuse 也不会多少排序算法呢,他连…
duangsuse::Echo
https://github.com/rdp/ruby_gnuplot 使用这个画 X axis: 时间点 Y axis: 消息条数
#Coolapk #stat 顺便推荐隔壁老酷安统计的(两年前了),unnamed 大佬好像把自己的统计删了... 🤔
不过我是拿 Ruby 内建的列表处理方法算了自己频道的小数据,他是用 SQL 建模查询的(
不过我是拿 Ruby 内建的列表处理方法算了自己频道的小数据,他是用 SQL 建模查询的(
GitHub
by-syk/CoolapkUserStats
酷安用户数据爬虫案例 A Python sample to get all user data of CoolApk - by-syk/CoolapkUserStats
duangsuse::Echo
#Ruby 弄了半天我才知道 Ruby 里 Enumerator 还可以 with_index... 😂 还可以 map(Enumerator).with_index { |a, i| }...
require 'gnuplot'
xs = []; ys = []
_dataset = r.map { |it| it['published'] }
ps = _dataset.sort_by { |d| d.day }.reverse.each { |k| xs << k.day; ys << _dataset.count { |it| it.day == k.day } }
Gnuplot.open do |p|
Gnuplot::Plot.new(p) do |plot|
plot.title "duangsuse::Echo message publish time (all #{ys.size}, day from #{xs.min} to #{xs.max})"
plot.xlabel "day (1-31)"
plot.ylabel "messages count"
plot.data << Gnuplot::DataSet.new([xs, ys]) do |ds|
ds.with = "points"
ds.notitle
end
end
end
然后就可以画出类似下面的统计折线图: 🤔 #Ruby #Gnu #stat #Learn需要注意的是,gnuplot 比较底层和原始,它不会自动帮你处理好数据集合排序(如果需要的话,比如这里就需要)
弄不好会生成瞎* 🐔 折线图,会包含『反折』的线条角度...
Ruby 的 gnuplot Gem 很简单,之需了解 DataSet 和 Plot、GnuPlot 程序命令行接口的抽象即可
Plot 是图座标系的抽象,包含
title
(图表名)、xlabel
和 ylabel
,也可以设置初始 xrange
,它包含的折线们就是 data
数组DataSet 就是要往 Plot 上画的点集合,每个新画上去的点都有一个 x value 和 y value(可以作为一个 xvalue, yvalue 数组传入
new
),并且如果要连线就会和上一个点连接。DataSet 可以指定是
with
'lines
' 'points
' 还是 'linespoints
'可以指定
linewidth
和 title
(这条折线的 title
)也可以 notitle
#life #dev duangsuse 落实 10:30 准时睡觉『政策』。 🐱
考虑到健康原因(不让自己的努力白费),每晚 10:30(h:m) 必须立即睡觉
== duangsuse::Echo 参考 #Telegram hashtags
duangsuse::Echo 常年利用 hastags 标记消息所含知识领域,并且,这也会为未来 Echo 频道进行简单准确的数据统计带来可能(不然,我也有其他手段,比如 NLP、统计预测)
以下是新的标签实例(不区分大小写、不能保证消息只含这些标签):
== 消息平台部分
#Telegram #zhihu #Github #so #Coolapk #book #wiki
== 注释部分
#life #China #School #Statement #lib #recommended #low #fix
#project #blog #share #Learn #paper
#dev #tech #art #meetUp #conference
#Moha #Haha
#gnu
#Microsoft #Mozilla #WeChat #QQ #Weibo #Tencent #Baidu #Ali #Qihoo
#tools #code
== 程序设计语言部分
#Kotlin #Java #JavaScript #JavaScript_ES6 #TypeScript
#Rust #Go #Swift #Dart #Crystal
#Ruby #Python #Perl #Tcl #Lua #PHP
#C #D #Cplusplus #CSharp #Objc
#Pascal #Fortran #Delphi #Ada #Basic #VisualBasic
#Scheme #Haskell #Scala #Clojure
#TeX #Graphviz
#Octave #Matlab
#Shell
(有些写出来是为了鼓励我去写,其实不一定真的写过)
== 软件平台部分
#Android #Windows #Win32 #MacOS #Java #Java_JVM #CLR #Qt #GTK #Tk #WxWidgets
#CSS #XML #JSON #KDE #Postgres #dotnet
== 软件技术领域部分
#backend #sysadmin #frontend #sysadmin_net
#OI #CS #IT #Informatics
#stat #ann #ann_dnn #machl
#math #math_linearAlgebra #math_discrete
#se #se_dia #se_ci #se_ee
#comm #net #www #web #http #html #mail #wireless
#circuit #embedded #os #db #db_relAlgebra #SQL
#bin #encoding #encoding_audio #encoding_image #encoding_video #encoding_text
#hpc #parallelism #distributed #simd #gpgpu #crypto
#pl #pl_plt #ce_vee #ce #ce_optimize #fp_monad #fp_proof #fp #oop #oop_arch #sp #parser
#algorithm #struct #lists #maps #sets
#security #security_lowlevel
#signalProc #nlp #phonetic
#cg #cg_dip #cg_3d #cg_2d #cg_lowlevel
#gui #gui_animation #gui_layouts #cli #visualization
考虑到健康原因(不让自己的努力白费),每晚 10:30(h:m) 必须立即睡觉
== duangsuse::Echo 参考 #Telegram hashtags
duangsuse::Echo 常年利用 hastags 标记消息所含知识领域,并且,这也会为未来 Echo 频道进行简单准确的数据统计带来可能(不然,我也有其他手段,比如 NLP、统计预测)
以下是新的标签实例(不区分大小写、不能保证消息只含这些标签):
== 消息平台部分
#Telegram #zhihu #Github #so #Coolapk #book #wiki
== 注释部分
#life #China #School #Statement #lib #recommended #low #fix
#project #blog #share #Learn #paper
#dev #tech #art #meetUp #conference
#Moha #Haha
#gnu
#Microsoft #Mozilla #WeChat #QQ #Weibo #Tencent #Baidu #Ali #Qihoo
#tools #code
== 程序设计语言部分
#Kotlin #Java #JavaScript #JavaScript_ES6 #TypeScript
#Rust #Go #Swift #Dart #Crystal
#Ruby #Python #Perl #Tcl #Lua #PHP
#C #D #Cplusplus #CSharp #Objc
#Pascal #Fortran #Delphi #Ada #Basic #VisualBasic
#Scheme #Haskell #Scala #Clojure
#TeX #Graphviz
#Octave #Matlab
#Shell
(有些写出来是为了鼓励我去写,其实不一定真的写过)
== 软件平台部分
#Android #Windows #Win32 #MacOS #Java #Java_JVM #CLR #Qt #GTK #Tk #WxWidgets
#CSS #XML #JSON #KDE #Postgres #dotnet
== 软件技术领域部分
#backend #sysadmin #frontend #sysadmin_net
#OI #CS #IT #Informatics
#stat #ann #ann_dnn #machl
#math #math_linearAlgebra #math_discrete
#se #se_dia #se_ci #se_ee
#comm #net #www #web #http #html #mail #wireless
#circuit #embedded #os #db #db_relAlgebra #SQL
#bin #encoding #encoding_audio #encoding_image #encoding_video #encoding_text
#hpc #parallelism #distributed #simd #gpgpu #crypto
#pl #pl_plt #ce_vee #ce #ce_optimize #fp_monad #fp_proof #fp #oop #oop_arch #sp #parser
#algorithm #struct #lists #maps #sets
#security #security_lowlevel
#signalProc #nlp #phonetic
#cg #cg_dip #cg_3d #cg_2d #cg_lowlevel
#gui #gui_animation #gui_layouts #cli #visualization
duangsuse::Echo
#ML #Python 接下来安装一点用于数据分析的东西 pip3 install --user --compile -U pandas matplotlib sklearn 如果有权限你也可以去掉 --user flag,-U 的意思是如果有的话安装更新 我们使用 Python 3,当然,要是有 IPython 和 Spyder 这种为数据分析 REPL 优化的东西就更好了,不过下面直接用 IPython3 现代机器学习算法主要包含概念学习、规则学习、基于解释学习、基于实例学习、遗传学习、强化学习…
还是 sin wave 之类的数据,
Pandas 的
只需要使用 EDSL(内部领域专属语言)操作它的实例就可以快速获得好看的数据图了,不需要不断去 plot 啊 add seris 再设置 xlabel ylabel 啊,都被良好封装(styles, chart type)了
上面本频道也有过 Ruby + GNUPlot 的版本
matplotlib
可以这么用:from math import sin, cos, tan
from numpy import arange, array
from matplotlib import pyplot
from pandas import DataFrame, Series
xs = arange(0, 100, 0.1)
sinys = [sin(x) for x in xs]
cosys = [cos(x) for x in xs]
tanys = [tan(x) for x in xs]
plot.style.use('Solarize_Light2')
DataFrame(array([[xs], [sinys], [cosys], [tanys]]), columns = 'x sin(x) cos(x) tan(x)'.split())
... 不行def kv(name): return (name, globals()[name])
func_tab = DataFrame.from_items(dict(kv(xs), kv(sinys), kv(cosys), kv(tanys)))
... 不行waves = DataFrame()
waves['x'] = xs
waves['sin(x)'] = sinys; waves['cos(x)'] = cosys; waves['tan(x)'] = tanys
waves.index.name = 'x'
waves.plot(title='Triangle waves')
就可以得到好看的折线图了,并且非常容易使用Pandas 的
DataFrame
就是字面意义上的数据框:一打可能有名字(index
)的数据序列(pandas.Series
)只需要使用 EDSL(内部领域专属语言)操作它的实例就可以快速获得好看的数据图了,不需要不断去 plot 啊 add seris 再设置 xlabel ylabel 啊,都被良好封装(styles, chart type)了
上面本频道也有过 Ruby + GNUPlot 的版本
Telegram
duangsuse::Echo
require 'gnuplot'
xs = []; ys = []
_dataset = r.map { |it| it['published'] }
ps = _dataset.sort_by { |d| d.day }.reverse.each { |k| xs << k.day; ys << _dataset.count { |it| it.day == k.day } }
Gnuplot.open do |p|
Gnuplot::Plot.new(p) do |plot|
plot.title…
xs = []; ys = []
_dataset = r.map { |it| it['published'] }
ps = _dataset.sort_by { |d| d.day }.reverse.each { |k| xs << k.day; ys << _dataset.count { |it| it.day == k.day } }
Gnuplot.open do |p|
Gnuplot::Plot.new(p) do |plot|
plot.title…