duangsuse::Echo
717 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
public class UsbStateReceiver extends BroadcastReceiver {
private static final String TAG = "UsbStateReceiver";

// Hidden Android API
private static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
private static final String EXTRA_ACTIVE_TETHER = "activeArray";

@Override
public void onReceive(Context context, Intent intent) {
if (!intent.getAction().equals(ACTION_TETHER_STATE_CHANGED)) return;

List<String> actives = intent.getStringArrayListExtra(EXTRA_ACTIVE_TETHER);
int boundActiveSize = actives.size();
NetworkStatsActivity.setTetheringEnabled(nbActives > 0);
}

private void openConnectionSharingSettings() {
Intent launchReq = new Intent();
launchReq.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY
| Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_FROM_BACKGROUND);
launchReq.setClassName("com.android.settings", "com.android.settings.TetherSettings");
startActivity(launch);
}
}

<receiver android:name=".UsbStateReceiver">
<intent-filter>
<action android:name="android.intent.action.USB_STATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
</intent-filter>
<intent-filter>
<action android:name="android.net.conn.TETHER_STATE_CHANGED" />
</intent-filter>
</receiver>
... 好像得看设置的代码或者拿到特殊的权限才能自动打开 USB 绑定... 算了
每次总是开小差...
METO 的涂鸦板
人类的本质是什么 https://github.com/Sodium-Aluminate/repeat-tutorial/network/members
补充一下,裸 JSON 数据在这里查,我正在准备写图算法找出嵌套最深的子树。

https://api.github.com/repos/Sodium-Aluminate/repeat-tutorial/forks

*再补充一下,API 文档这里
*再补充一下,Ruby + Pry 适合即时处理各种数据哦
*最后再补充一下,这是不可能的,因为这个 API 不给我完整的 fork 树,我得一个一个查询,然而每天最多查询 60 次... 人类的本质是大得可怕的所以只能从 HTML 里扒数据...
现在正在查有没有对应的 GraphQL API
duangsuse::Echo
看 API 返回文档的时候我真的是服了 RESTFul API 的设计了,这是丝毫不考虑压缩数据,一大堆 *._url 本来可以直接利用这个版本 API 的约定得出来的东西 REST 全直接返回了... 有点像面向对象 virtual 方法一样食之无味弃之可惜
其实是我感觉和 virtual 方法(Jawa 厨不要以为自己没见过,你们天天都在用虚方法)(别找了,Java 里根本没有 virtual 关键字!)在某些方面感觉有点一样的性质,OO 大佬轻喷
This media is not supported in your browser
VIEW IN TELEGRAM
#telegram 100 Members Thank U!
duangsuse::Echo
#telegram 100 Members Thank U!
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
现在正在查有没有对应的 GraphQL API
https://developer.github.com/v4/object/repository/#forks

A list of *direct* forked repositories.

DIRECT!!!!!!!! ... 看来 *Graph* GRAPH!!!! QL 它 TMD 也查不成 ....
https://github.com/Sodium-Aluminate/repeat-tutorial/network/members

这里,可以使用 $('#network') CSS 选择器找到网络树图

难受的是它的结构是被「编译」成了「缩进」一样的格式... 和 Python 一样...
得手动解析缩进才能知道枝叶深度... 然后才能构建出对应的树... 都可以出成 OI 送分题(删除)了 2333 🙈
duangsuse::Echo
https://github.com/Sodium-Aluminate/repeat-tutorial/network/members 这里,可以使用 $('#network') CSS 选择器找到网络树图 难受的是它的结构是被「编译」成了「缩进」一样的格式... 和 Python 一样... 得手动解析缩进才能知道枝叶深度... 然后才能构建出对应的树... 都可以出成 OI 送分题(删除)了 2333 🙈
都是这样的模式:

<div class="repo">
<img alt="" class="network-tree" src="https://assets-cdn.github.com/images/modules/network/i.png">
{{ repeat $depth }}
<img alt="" class="network-tree" src="https://assets-cdn.github.com/images/modules/network/b.png">
{{ end }}
<img alt="" class="network-tree" src="https://assets-cdn.github.com/images/modules/network/l.png">
<!-- end tree structure -->

<img class="gravatar" src="https://avatars0.githubusercontent.com/u/10570123?s=32&amp;v=4" alt="@duangsuse" width="16" height="16">
<a href="/duangsuse">duangsuse</a>/<a href="/duangsuse/repeat-tutorial">repeat-tutorial</a>
</div>


i.png 长得像这样:
b.png 长得像空白字符
l.png 长得像这样:
t.png 长得像这样:

这种嵌套树形结构就是这么做...

enum ImageType
Block, ChildBranch, Leaf, EndLeaf

def renderImage(type = ImageType::Block)
text = when type
is Block => "\t"
is ChildBranch => "┊"
is Leaf => "┄"
is Endleaf => "└"
return Html.text(text)

def renderRepositoryItem(name, nick, repo_name)
avatar = Html.img
class: 'gravatar'
src: getUserAvatar(User(name), 32, 4)
alt: "@$name"
width: 16
height: 16
return avatar << Html.a(name, { href: "/$name" }) << "/" << Html.a(repo_name, { href: "/$name/$repo_name" })

def renderTreeView(tree)
html = Html()
html << renderRepositoryItem(tree.name, tree.nick, tree.repo)

for (index, node) in tree.children.withIndex
if tree.isLastIndex?(index) break
html << renderImage(ImageType::ChildBranch) << renderNodeView(node, 1)

return html << renderImage(ImageType::EndLeaf) << renderNodeView(tree.children.last)

def renderNodeView(node, depth)
This media is not supported in your browser
VIEW IN TELEGRAM
又把它提升到递归题的层次了... 我拿 Kotlin 写一下,然后写 Makefile 尝试不用 Gradle #Android 单靠 ABT(Android Build Tools)编译打包 #Kotlin Android SDK28 应用试试

def renderNodeView(node, depth):
递归... 对 CS 系的同学来说不是易如反掌吗... 而且贼自然 不用写循环
duangsuse::Echo
又把它提升到递归题的层次了... 我拿 Kotlin 写一下,然后写 Makefile 尝试不用 Gradle #Android 单靠 ABT(Android Build Tools)编译打包 #Kotlin Android SDK28 应用试试 def renderNodeView(node, depth):
学写 CMake 大概也不错吧... 比 Make 多了一个宏系统?
它连依赖关系都管理不好构建有依赖的包麻烦得要死...