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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
原来 Haskell 真是可以 industrial 的……
extern crate azul;
use azul::{ prelude::*, widgets::{ label::Label, button::Button } };

struct DataModel {
counter: usize
}
impl Layout for DataModel {
fn layout(&self, _info: LayoutInfo<DataModel>) -> Dom<DataModel> {
let label = Label::new(format!("{}", self.state.counter)).dom();
let btn_inc = Button::with_label("+1").dom().with_callback(Callback(on_inc_clicked));
Dom::div().with_child(label).with_child(btn_inc);
}
fn on_inc_clicked(&self, info: CallbackInfo<DataModel>) -> UpdateScreen {
info.state.counter += 1
Redraw
}
}
fn main() {
let mut app = App::new(AppOpts::default(), css::native).unwrap();
let win_main = app.create_window("Counter", WindowOpts::default()).unwrap();
app.run(win_main).unwrap();
}
This media is not supported in your browser
VIEW IN TELEGRAM
又写错了一个分号,需要值的地方只有语句
感觉脑子里没有类型一样,难道不知道可以用 Self 吗? &self 引用了哪里来的 self.state.counter?
with_callback 也忘记加事件了
忘记 impl for 里不该写什么了
App 需要 data model 参数和 AppConfig、create_window 用的名字是 WindowCreateOptions,明白了吗?
(迫真自我批评中)
extern crate azul;
use azul::{ prelude::*, widgets::{ label::Label, button::Button } };

struct DataModel {
counter: usize,
}
impl Layout for DataModel {
fn layout(&self, _info: LayoutInfo<Self>) -> Dom<Self> {
let label = Label::new(format!("{}", self.counter)).dom();
let btn_inc = Button::with_label("+1").dom().with_callback(On::ButtonUp, Callback(on_inc_clicked));
Dom::div().with_child(label).with_child(btn_inc)
}
}
fn on_inc_clicked(event: CallbackInfo<DataModel>) -> UpdateScreen {
event.state.counter += 1
Redraw
}
fn main() {
let mut app = App::new(DataModel { counter: 0 }, AppConfig::default()).unwrap();
let win_main = app.create_window(WindowCreateOptions::default(), css::native()).unwrap();
app.run(win_main).unwrap();
}
This media is not supported in your browser
VIEW IN TELEGRAM
还是少写了个 data,event.state.data.counter,唉,我应该清楚 state 不止 user data 的,就是不动脑子分析。
with_callback 也是临时突然忘了,想起有 with_ 再试试 with_event, with_handler 后才推出的
最后的 fn main() 倒是写对了
Forwarded from Solidot
LLVM 10.0.0 发布

LLVM 编译器套装项目释出了 10.0.0 版本。LLVM 项目目前的发布计划为每半年发布一个大版本。10.0.0 版本的主要变化包括:Clang 支持 C++ Concepts;Clang 默认不再运行在一个独立进程上;支持 Windows 10 内置的安全特性 Control Flow Guard (CFG);支持更多处理器核心和特性,等等。更多可浏览 LLVMClang、Extra Clang Tools、lld 和 libc++ 的发布公告。Media

https://www.solidot.org/story?sid=63921
duangsuse::Echo
喜欢本频道的内容吗?
看起来不喜欢的人多一些,也罢,反正我不常弄些能吸引人的东西 😂
duangsuse::Echo
extern crate azul; use azul::{ prelude::*, widgets::{ label::Label, button::Button } }; struct DataModel { counter: usize } impl Layout for DataModel { fn layout(&self, _info: LayoutInfo<DataModel>) -> Dom<DataModel> { let label = Label::new(format!("{}"…
不知道会不会有人看我在线默写会觉得很尴尬,反正这种行为只是在我看到比较有意思的项目时会去默写一些 example
一般情况下还是不会出现的,我也会用这种方法帮助自己理解 一门语言/一种设计命名方式 的直觉

频道的空间相对有限,所以我不会让这类消息过于频繁的出现。
草类似 base53 base58 编码,我之前 bit-encode base64 都没学会,根本不知道打表和直接 shift 算有啥区别
https://tesseract-ocr.github.io/tessdoc/Home.html
sudo dnf install --best --allowerasing tesseract.x86_64 tesseract-langpack-ell.noarch tesseract-langpack-ell.noarch tesseract-langpack-jpn.noarch tesseract-langpack-chi-sim.noarch tesseract-langpack-chi-tra.noarch
🥳~ (精简)

sudo dnf install tesseract.x86_64 tesseract-langpack-ell tesseract-langpack-jpn tesseract-langpack-chi-sim tesseract-langpack-chi-tra
[DuangSUSE@duangsuse]~/Projects/extract-subtitles% you-get 'https://www.youtube.com/watch?v=ex3HRrxEcLE'
site:                YouTube
title: [Synth V] Something New (Aku P feat. Eleanor Forte)
stream:
- itag: 137
container: mp4
quality: 1920x1080 (1080p)
size: 8.6 MiB (9007866 bytes)
# download-with: you-get --itag=137 [URL]
草实在是太有意思了 #cv