Forwarded from dnaugsuz
我也完全没用过…… Qt 里都是 foreach 宏,我还以为C++ 不支持 foreach 就一直 iterator 😓
https://roriri.one/2014/11/04/javascript-address-bar-magic/ #Web #JS #code
总结:如何实现跨页播放器,且带地址栏变化?(由播放器主导页面加载)
可用 HTML5 history API
访问 link 时代理它的行为:
火狐的某些版本会在加载时触发 onpopstate 导致后退栈不够,所以最好在 onload 之后再 replaceState 一次(emmm 这样不会缩减栈长吗)
如果你想动态设置 div main, 把GET到新文档的整个 body 存作 state 即可
顺便这个可以平滑滚动:
用 CSS ::before/after 伪元素 画 <hr> 分割线
总结:如何实现跨页播放器,且带地址栏变化?(由播放器主导页面加载)
可用 HTML5 history API
访问 link 时代理它的行为:
$("body").delegate("a", "click", (ev) => {
$.get(ev.target.href)//用 regexp igm 提取其 title 和 #main 内容
//存储旧main,设置新main html
history.pushState(oldMain, title, url)
}
window.onpopstate = (ev) => {$("#main").html(ev.state);} 火狐的某些版本会在加载时触发 onpopstate 导致后退栈不够,所以最好在 onload 之后再 replaceState 一次(emmm 这样不会缩减栈长吗)
如果你想动态设置 div main, 把GET到新文档的整个 body 存作 state 即可
顺便这个可以平滑滚动:
$("html,body").animate({scrollTop: 0}, 300, 'swing');用 CSS ::before/after 伪元素 画 <hr> 分割线
Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
原来还有 caniuse.rs 可以看不同版本的特性支持
https://t.me/coolapkzz/81?single
这个制杖搞不清 RISC 和 CISC “高效之道”,以及芯片制程、总面积的区别…… 2*1 和 1*2 的区别。
这个制杖搞不清 RISC 和 CISC “高效之道”,以及芯片制程、总面积的区别…… 2*1 和 1*2 的区别。
Telegram
酷安智障欢乐多🤣
Forwarded from MAT / IFW 禁用方案分享 (ちょういち)
bbs.letitfly.me
腾讯课堂_v5.3.2.3 - LetITFly BBS
广播接收器全禁if("undefined"!==typeof hljs)hljs._ha();else if("undefined"===typeof hljsLoading){hljsLoading=1;var a=document.getElementsByTagName("head")[0],e=document.createElement("link");e.type="text/css";e.rel="style...
提问: 如何实现 拼多多员工[1] 这样的显示方式? #dbrel #listproc
编号和命名都是与用户分类 1:1 相关的 grouping ,上下文分三层, 帖子:分类:用户
帖子:分类 计 Int
分类:用户 计 String
#Python
分组计数器
第二层 用户分类:用户引用
实践:
编号和命名都是与用户分类 1:1 相关的 grouping ,上下文分三层, 帖子:分类:用户
帖子:分类 计 Int
分类:用户 计 String
u.tag.let {"$it[${g2[it]}]"}#Python
class Group:
def __init__(): self.d={}
def __getitem__(self,k): return self.d[k]
def add(self, k, v):
vs = self.d.get(k)
if vs == None: vs = self.empty(); self.d[k]=vs
self.append(vs, v)
empty = lambda o: []
def append(self, vs, v): vs.append(v)分组计数器
class CountGroup(Group):
empty = lambda o: 0
append = lambda o, a, b: a+b第二层 用户分类:用户引用
class Namer:
def __init__(self): self.cg=CountGroup(); self.names={}
def tag(self,u): return u[0]
def name(self, u):
self.cg.add(u, 1)
nam=self.names
if u not in nam: nam[u] = f"{self.tag(u)}[{self.cg[u]}]"
return nam[u] 实践:
def at_apost(us):
c = Namer()
return [c.name(u[0]) for u in us]
def datUsers(s, d={"拼":"拼多多","啊":"阿里巴巴","京":"京东"}):
us = [(d[u[0]]+"员工",u[1]) for u in s.split(" ")]
return us
at_apost(datUsers("拼a 拼b 拼a 拼a 阿a 京a 京b"))
duangsuse::Echo
拼多多员工.py
修改版的 class Group 实现也略长啊(毕竟要兼容 mutate 引用的和算新值的 已足够
(其实我觉得其 add 操作可以带返回值的……
(此例不是唯一实现法,用 N(tag)个 dict 也是可实现但属于理解错误,上面关系模型很明确了
不过,无论多么复杂的程序,其背后的核心思想往往很简单
只有抓住了从 数据的表现形式、关系、对应算法 的多角度理解,才能使程序简练优雅,且有复用性。
在设计程序的时候所思考的是抽象的集合、映射表、必要更新,以及示例数据,如果只能循着直觉边想边写,就应该锻炼对程序和数据的把控能力了 #dev #statement
(其实我觉得其 add 操作可以带返回值的……
(此例不是唯一实现法,用 N(tag)个 dict 也是可实现但属于理解错误,上面关系模型很明确了
不过,无论多么复杂的程序,其背后的核心思想往往很简单
只有抓住了从 数据的表现形式、关系、对应算法 的多角度理解,才能使程序简练优雅,且有复用性。
在设计程序的时候所思考的是抽象的集合、映射表、必要更新,以及示例数据,如果只能循着直觉边想边写,就应该锻炼对程序和数据的把控能力了 #dev #statement
duangsuse:
干到一点就是傻逼管理,因为休息不好时人工作效率低下而且容易写bug
nasyx:
人与人是不同的x
(顺便池是ceo
duangsuse:
代码与代码也是不同的y
有的代码,写了一行可以让整个项目少十行
有的代码写一行会让维护时间增一倍
怎么写是每个人自己的选择
怎么生活却不是
社会需要对每个人负责
干到一点就是傻逼管理,因为休息不好时人工作效率低下而且容易写bug
nasyx:
人与人是不同的x
(顺便池是ceo
duangsuse:
代码与代码也是不同的y
有的代码,写了一行可以让整个项目少十行
有的代码写一行会让维护时间增一倍
怎么写是每个人自己的选择
怎么生活却不是
社会需要对每个人负责
https://paste.ubuntu.com/p/FrGSNhphs4/ #plt 我也感觉奇怪,绝句设计时为了实践方便弄了个类似 by Delegate 的「类实例」语法,并且有了直接等价当前 receiver type 的类型变量「我类型」
感觉类实例还是要学习一个,最开始只打算做隐式转换的没想到还有这茬……(其成员还要做成 extension fun 加入隐式转型才能直接调用, #Scala 一样)
若有 class C 和其 super P,面向对象 c+p is C 而 p+c is P ,没有理论优雅性,当然这个不重要能用就行
如果真的存在,我想肯定是取最精确的重载版本。
感觉类实例还是要学习一个,最开始只打算做隐式转换的没想到还有这茬……(其成员还要做成 extension fun 加入隐式转型才能直接调用, #Scala 一样)
若有 class C 和其 super P,面向对象 c+p is C 而 p+c is P ,没有理论优雅性,当然这个不重要能用就行
如果真的存在,我想肯定是取最精确的重载版本。
duangsuse::Echo
https://paste.ubuntu.com/p/FrGSNhphs4/ #plt 我也感觉奇怪,绝句设计时为了实践方便弄了个类似 by Delegate 的「类实例」语法,并且有了直接等价当前 receiver type 的类型变量「我类型」 感觉类实例还是要学习一个,最开始只打算做隐式转换的没想到还有这茬……(其成员还要做成 extension fun 加入隐式转型才能直接调用, #Scala 一样) 若有 class C 和其 super P,面向对象 c+p is C 而 p+c is P …
感觉真的是闲的,明明已经加了「隐式」关键字为什么还要这么强调隐式转型,这不是增加不协调性吗
Forwarded from 依云的技术资源分享