Forwarded from duangsuse Throws
#life #tech #school duangsuse 又 *** 回来了!!! 🐱
这次,duangsuse 的̶大̶脑̶进̶一̶步̶升̶级̶,带来了对很多 IT 问题模型的新分析理解能力,并且也学习了一些别的知识!
这个列表目前包括(我发誓下面的东西我都没有查任何一本书,而且我真的有至少一点的了解,绝对不是那种完全只知道名词的了解,不过关于历史的部分我可能看了一点维基,人命不好记...):
(虽然会啥啥语言不能代表有实际工程能力,比如,会 Java 8 (有时可能只能代表你会用 Java 8 写 Helloworld!)不能代表你也了解 JavaEE 的 Servlet、Tomcat、SpringMVC/Structs/Glassfish/Undertow、JDBC/JPA/JTA/JUnit/Android JUnit 自动化测试、SAX XML、Swing、Java Card、Java Parallelism、Ref Objects、JMX、JDWP、ClassLoader、OSGi、JNDI、AWT、集合类、Visitor Pattern 什么的,更别说做实际工程时的表现了,更不能代表你也知道 Smalltalk 和 Java 的前身 Oak 是 20 世纪哪年出的,哪年又变成了 Java、Java 之父是谁,更别说知道 OOP 的创始人是 Alan Kay,C 语言的前身是 BCPL,第一个被标准化的 C 是 ANSI C89,C 的创始人是 Ken Thompson 和 Dennis Ritchie,不会知道还有个 GoF 专门画类图来研究可复用的面向对象编程风格、面向对象还有 Liskov 替换原则/组合优于继承原则,结构化编程的创始人又是谁,几几年得的图灵奖,更不会知道 ACM 还有个叫 SIGPLAN 的组织下面还组织了 VEE 小组经常发布一些有意思的关于程序设计语言实现虚拟运行环境的文档,不会查 IETF 的 RFC 文档,不会找论文,不会写 HTML/CSS,也可能不会不心疼钱地买上个十来本不那么 trivial 不那么窄方向的书看,会 Ruby 不能代表你也会 Rails(包括 ActiveRecord, ERB), RubyGem, Bundler, Rake, Nokogiri, Sinatra, Builder HTML DSL, Faraday HTTPc,但是,但是,其实会这些语言也可以说是了解至少一些相关的东西了吧)
软件工程理论和一些杂七杂八的东西,比如指令系统、软件危机、存储程序型计算机、电子计算机、冯诺伊曼瓶颈、哈佛结构、指令缓存、存储器/运算器/控制器/IO、工作集合 Working Set、问题领域、软件测试,易读性、业务逻辑及算法、软件架构、profile-based optimization、结构化编程(过程式编程)、设计模式、面向对象编程、函数式编程、值/类型/弱软虚引用/深浅拷贝、代码路径、可维护性、时间空间复杂度、性能、可重用性、抽提、抽象、依赖注入、协程、重构、可测试性、软件测试(包括验收/接口/性能/回归/兼容性/单元/集成)等名词
程序设计基础,包括下列语言(或许包括平台)有不错的支持:
+ JVM 平台:Kotlin(包括 Kotlin JVM、KotlinJS、Kotlin Native(只有 Gradle 配置的支持程度)、Kotlin Multiplatform)、Java(支持到 8,9/10/11 什么的特性也高不过 Kotlin 1.1,诸如 label 语法、enum 语法、assert 语法、Annotation 语法结合性什么的也了解)、BeanShell、RhinoJS、JRuby、Eta(Haskell)、Groovy
+ Native:Rust、C、C++(这个有点自吹了因为 C++ 实在是,不过我基本会一点 Qt 勉强能再训练一下可以写 Qt5 Widgets 应用 👍...)、Haskell、Crystal
+ 字符串/流处理:SED、AWK
+ 其他函数式:Lisp(CommonLisp)、Scheme(R5RS,R6RS 的 Promise 其实也应该会,但其实我几乎没用过 Scheme,虽然我看过儿童书 The Little Schemer,Scheme 实现包括 BiwaScheme、Ikarus、Larceny、ChezScheme)、Lime(得了吧,虽然我实现了一个,但连 * 都不算,连个类型自动转换提升都没有,实际上它也就是 Helloworld 级别的能力)
+ 其他 Unix 系:PHP(迫真,虽然我只是看过一两行,但 PHP 简单啊)、Perl、Ruby(这个没得说,杠杠的,我了解 Ruby 元编程和闭包使用和方法查找,连 MRI Ruby 2.4 的 YARV 有几种方法类型(11 种)怎么执行
+ 其他:Lua(包括最新的 Lua 5.4)、JavaScript(ES6,包括最新的 Regex Flags、String 类静态方法、Generator 就是 Coroutine、Async 函数、Promise、Proxy 等)、SQL(基本支持,PostgreSQL 自己一些权限控制相关的语句比如
+ 描述化语言(Markup 们):HTML(基础文档结构、布局盒模型、CSS 层叠样式表、H4 的很多标签、H5 的部分标签)、YAML、JSON、AXML(二进制文件格式)、PEG.JS、GeekSpec(因为是我造的啊 hhh)、XML、TOML、INI、Editorconfig、Gitignore、Markdown、TeX(XeTeX,虽然其实 TeX 也不能算严格意义上的 Markup)、ERB、FreeMarker(SpringBoot 用的 Template 引擎)
+ 汇编语言:X86、Ruby YARV、Lua Instructions、PHP ZendVM(基础了解)、CLI 虚拟机们的 IL(MSIL)、JVM Bytecode、Dalvik Bytecode(准确的说是双字节码 hhhh,因为它是按照一个 halfword 为单位进行解码)、BiwaScheme VM 树形指令
- 下列语言有支持:
+ 描述化语言:Ohm.JS、LEX、FLEX、JFLEX、Bison(YaCC)、Java Cup、Java Beaver、ReStructureText
+ Cython 和 Boo (应该有)
+ ActionScript (因为是 ES6 实现所以也应该支持)
+ CoffeeScript (因为是类 Scheme 所以应该支持)
+ C# (肯定会写的,而且我写过 C#)
+ F#(可能支持,非常不确定)
+ LLVM IR 的文本形式
+ VisualC/C++, Turbo C(都是非标准的 C 实现,不过我也了解 stdcall 什么不同的调用约定所以其实是一种语言)
+ Basic、VisualBasic(仅仅有点了解)
- 下列语言体验过或者看过或者了解过一点:
+ 描述化语言:JavaCC、ASCIIMath
+ Smalltalk
+ Fortran 系:Matlab、Octave、Fortran、Forth、Wolfram、Julia
+ Scala, Dart
+ Pascal
+ Fortran, Ada
+ D
+ Elvish, Zsh, Fish(都是 Shell 脚本语言)
+ ArchLinux PKGBUILD
+ Agda(只是有一点点了解,而且我还不知道啥是 Dependent type,而且我觉得我可能蠢到不能用 Agda 做数学归纳法证明)
- 下列语言或者其他什么的只记得名字:
+ JVM 平台:Clojure、Erjang
+ Gentoo ebuild
+ Idris、F*(F Star)、Coq、Prolog、MiniKaren(其实这个是作为库)、Zig
+ CaML、CPL、BCPL、OCaML、ML
+ ObjectiveC、Swift、Eiffel
+ Griffon, Grails(Groovy)
+ Oberon、COBOL、SNBOL
这次,duangsuse 的̶大̶脑̶进̶一̶步̶升̶级̶,带来了对很多 IT 问题模型的新分析理解能力,并且也学习了一些别的知识!
这个列表目前包括(我发誓下面的东西我都没有查任何一本书,而且我真的有至少一点的了解,绝对不是那种完全只知道名词的了解,不过关于历史的部分我可能看了一点维基,人命不好记...):
(虽然会啥啥语言不能代表有实际工程能力,比如,会 Java 8 (有时可能只能代表你会用 Java 8 写 Helloworld!)不能代表你也了解 JavaEE 的 Servlet、Tomcat、SpringMVC/Structs/Glassfish/Undertow、JDBC/JPA/JTA/JUnit/Android JUnit 自动化测试、SAX XML、Swing、Java Card、Java Parallelism、Ref Objects、JMX、JDWP、ClassLoader、OSGi、JNDI、AWT、集合类、Visitor Pattern 什么的,更别说做实际工程时的表现了,更不能代表你也知道 Smalltalk 和 Java 的前身 Oak 是 20 世纪哪年出的,哪年又变成了 Java、Java 之父是谁,更别说知道 OOP 的创始人是 Alan Kay,C 语言的前身是 BCPL,第一个被标准化的 C 是 ANSI C89,C 的创始人是 Ken Thompson 和 Dennis Ritchie,不会知道还有个 GoF 专门画类图来研究可复用的面向对象编程风格、面向对象还有 Liskov 替换原则/组合优于继承原则,结构化编程的创始人又是谁,几几年得的图灵奖,更不会知道 ACM 还有个叫 SIGPLAN 的组织下面还组织了 VEE 小组经常发布一些有意思的关于程序设计语言实现虚拟运行环境的文档,不会查 IETF 的 RFC 文档,不会找论文,不会写 HTML/CSS,也可能不会不心疼钱地买上个十来本不那么 trivial 不那么窄方向的书看,会 Ruby 不能代表你也会 Rails(包括 ActiveRecord, ERB), RubyGem, Bundler, Rake, Nokogiri, Sinatra, Builder HTML DSL, Faraday HTTPc,但是,但是,其实会这些语言也可以说是了解至少一些相关的东西了吧)
软件工程理论和一些杂七杂八的东西,比如指令系统、软件危机、存储程序型计算机、电子计算机、冯诺伊曼瓶颈、哈佛结构、指令缓存、存储器/运算器/控制器/IO、工作集合 Working Set、问题领域、软件测试,易读性、业务逻辑及算法、软件架构、profile-based optimization、结构化编程(过程式编程)、设计模式、面向对象编程、函数式编程、值/类型/弱软虚引用/深浅拷贝、代码路径、可维护性、时间空间复杂度、性能、可重用性、抽提、抽象、依赖注入、协程、重构、可测试性、软件测试(包括验收/接口/性能/回归/兼容性/单元/集成)等名词
程序设计基础,包括下列语言(或许包括平台)有不错的支持:
+ JVM 平台:Kotlin(包括 Kotlin JVM、KotlinJS、Kotlin Native(只有 Gradle 配置的支持程度)、Kotlin Multiplatform)、Java(支持到 8,9/10/11 什么的特性也高不过 Kotlin 1.1,诸如 label 语法、enum 语法、assert 语法、Annotation 语法结合性什么的也了解)、BeanShell、RhinoJS、JRuby、Eta(Haskell)、Groovy
+ Native:Rust、C、C++(这个有点自吹了因为 C++ 实在是,不过我基本会一点 Qt 勉强能再训练一下可以写 Qt5 Widgets 应用 👍...)、Haskell、Crystal
+ 字符串/流处理:SED、AWK
+ 其他函数式:Lisp(CommonLisp)、Scheme(R5RS,R6RS 的 Promise 其实也应该会,但其实我几乎没用过 Scheme,虽然我看过儿童书 The Little Schemer,Scheme 实现包括 BiwaScheme、Ikarus、Larceny、ChezScheme)、Lime(得了吧,虽然我实现了一个,但连 * 都不算,连个类型自动转换提升都没有,实际上它也就是 Helloworld 级别的能力)
+ 其他 Unix 系:PHP(迫真,虽然我只是看过一两行,但 PHP 简单啊)、Perl、Ruby(这个没得说,杠杠的,我了解 Ruby 元编程和闭包使用和方法查找,连 MRI Ruby 2.4 的 YARV 有几种方法类型(11 种)怎么执行
send 指令我都知道,但是还不了解 Ruby/mRuby CNI,目前使用的 Ruby 实现限于 MRI Ruby 2.x 而没有 Rubinius、GraalVM 的 Ruby 实现)、Python(其实还是有一些了解,因为它简单)、Bash、Make/CMake(其实也可以不算,不过还是算上吧)、DOS/Windows CMD Batch(基本支持,比如 if, goto, @echo, cls, local, piping)+ 其他:Lua(包括最新的 Lua 5.4)、JavaScript(ES6,包括最新的 Regex Flags、String 类静态方法、Generator 就是 Coroutine、Async 函数、Promise、Proxy 等)、SQL(基本支持,PostgreSQL 自己一些权限控制相关的语句比如
ALTER ROLE 支持)+ 描述化语言(Markup 们):HTML(基础文档结构、布局盒模型、CSS 层叠样式表、H4 的很多标签、H5 的部分标签)、YAML、JSON、AXML(二进制文件格式)、PEG.JS、GeekSpec(因为是我造的啊 hhh)、XML、TOML、INI、Editorconfig、Gitignore、Markdown、TeX(XeTeX,虽然其实 TeX 也不能算严格意义上的 Markup)、ERB、FreeMarker(SpringBoot 用的 Template 引擎)
+ 汇编语言:X86、Ruby YARV、Lua Instructions、PHP ZendVM(基础了解)、CLI 虚拟机们的 IL(MSIL)、JVM Bytecode、Dalvik Bytecode(准确的说是双字节码 hhhh,因为它是按照一个 halfword 为单位进行解码)、BiwaScheme VM 树形指令
- 下列语言有支持:
+ 描述化语言:Ohm.JS、LEX、FLEX、JFLEX、Bison(YaCC)、Java Cup、Java Beaver、ReStructureText
+ Cython 和 Boo (应该有)
+ ActionScript (因为是 ES6 实现所以也应该支持)
+ CoffeeScript (因为是类 Scheme 所以应该支持)
+ C# (肯定会写的,而且我写过 C#)
+ F#(可能支持,非常不确定)
+ LLVM IR 的文本形式
+ VisualC/C++, Turbo C(都是非标准的 C 实现,不过我也了解 stdcall 什么不同的调用约定所以其实是一种语言)
+ Basic、VisualBasic(仅仅有点了解)
- 下列语言体验过或者看过或者了解过一点:
+ 描述化语言:JavaCC、ASCIIMath
+ Smalltalk
+ Fortran 系:Matlab、Octave、Fortran、Forth、Wolfram、Julia
+ Scala, Dart
+ Pascal
+ Fortran, Ada
+ D
+ Elvish, Zsh, Fish(都是 Shell 脚本语言)
+ ArchLinux PKGBUILD
+ Agda(只是有一点点了解,而且我还不知道啥是 Dependent type,而且我觉得我可能蠢到不能用 Agda 做数学归纳法证明)
- 下列语言或者其他什么的只记得名字:
+ JVM 平台:Clojure、Erjang
+ Gentoo ebuild
+ Idris、F*(F Star)、Coq、Prolog、MiniKaren(其实这个是作为库)、Zig
+ CaML、CPL、BCPL、OCaML、ML
+ ObjectiveC、Swift、Eiffel
+ Griffon, Grails(Groovy)
+ Oberon、COBOL、SNBOL
Forwarded from duangsuse Throws
编译原理(基本支持,包括基本的编译器前端,分词器,解析器,Scanner-less parsing 就是 Parser combinator 组合子 style parser,BNF 啥子的、包括基于 SSA 指令引用分析程序分析和优化、代码生成、JIT、虚拟机什么的,代码向量化只是了解,最新的 X86 平台提供的 SSEx、MMX、AVX 并行处理和 GPGPU 不了解)
算法 (基本支持,很多完全没有实践过,包括各种排序算法,排序算法包括基于交换、选择、插入操作的,实践过的包括冒泡排序和选择排序,Dijkstra 算法、广度优先搜索 BFS、深度优先搜索 DFS、基于 bucket 的 Hashtable,Lua 实现上看的、KNN 机器学习和回归、递归算法(比如,Hanoi 可行解)、贪婪算法们、动态规划,线性规划因为数学还在学目前只有最优化理论大纲的了解,十有八九又要涉及曲线斜率的导数问题)
整形数二进制位运算 (基础支持,包括各种语言甚至 X86 汇编的位长度、位移动、AND、OR、NOT、XOR、NOT AND(NAND)、溢出回滚补零,位运算实现 2 倍数乘除法、集合判重、位运算计算 Hash code,但是我不了解树状数组,更不会离散化,待学)
软件架构,当然基本都是 OO(面向对象) 的架构,duangsuse 现在已经能读懂 Object Algebra 解决的 Visitor Pattern 双向扩展问题,而其他一些简单的 OOP 架构,比如基于 OO 多态(子类型多态)的设计模式完全不是问题,要求使用参数化类型的架构基本支持,JavaEE 架构理解,基本都是背下来默写级别的支持,还不错
程序设计语言类型,从 C89 开始(支持子类型的 Abstract datatypes,抽象类型),直到 Java、Kotlin 的 OOP 类型系统 + 泛型(参数化类型,了解包括泛型的型变、一般工程模式)
逆向工程 (目前最低支持到机器代码反汇编程度的 C/C++ 等 >=PP 系逆向工程,依赖的软件主要是反汇编器、Radare2 负责进行自动化分析和增量式修改)
暂时不包括:
计算机图形学 (一些相关数学函数不是很会,而且练习也没做,数学函数分析技术相关的知识,比如单调性、函数曲线斜率一类的,以至于我连 Bezier 曲线的 Bernstein 基函数公式都看不懂,在学)
关系代数 (太菜了,但其实大部分都会做,了解的关系运算符包括 Π,σ,∞,∧,≠,= 这些,笛卡尔积只是待学 )
语音学 (虽然 duangsuse 也会去学英语的音标们,虽然我的确有一些了解,但仅限于了解)
自然语言处理 (虽然目前 duangsuse 按照高中的一些约定俗成的标准他自己有一些支持,比如了解句子类型和句子结构)
密码学 (比如 Diffie-Hellman 算法这种非对称密钥体系,duangsuse 好像还没把如何验证消息的过程背住,其实他没有背,但当涉猎)
信号处理 (虽然其实 DIP 也可以算是一种信号处理,不会的原因是因为数学在学,很多分析的时候依赖数学函数)
人工智能/机器学习 (但是,KNN 我还是会的)
人工神经网络(机器学习) (但是,如果是比较简单的,比如说那种小理论性的基于层的组合前馈神经网络,然后用别人的 lib 进行监督型学习我还是会的,只要建模足够简单就能上,迫真)
Internet 技术和计算机网络 (只是暂时不包括,因为知识量大一些抽象一些难记不是特别好抽象图形化分析,而且那些 Internet 服务又多... 只能记住几个,而且如果实现细节比如 IMAP 还是 SMTP 的 HELO/EHLO 指令都记的话我怕不是要有当今高中生的水平了?迫真,本来我是只有一个现在普通软件工程从业者的水平的hhhh,谁知道呢,那些曾经高中『下到量子物理分子结构式,上到滕王阁序古文观止英文单词类型句子结构』无所不知的学霸们,出来居然有那么多人后来落了个工程素质平平的结果... 还不如现在的一些兴趣驱动的 PLT/FP 爱好者大佬,这真是太讽刺了,难道中国这么教育就是为了『开阔』智力或者让该上脚手架的人上脚手架?)
而且是在之前已经有不少八卦知识的基础上,同时也给理解曾经完全不会的数学带来了可能!
duangsuse 开始有更多的工程行动能力了!
这是件好事,希望能一直进步下去。 🤔
希望吧。
duangsuse 希望自己啊,能真的完全了解信息技术,低到电子电路/嵌入式开发/逆向工程/系统安全,高到 PLT、程序变换、人工神经网络,中间也不能只是所谓的『全栈工程师』,要有能力去做一个架构师,完全熟套 OOP 和 SP 们的本质内涵,包得了 CNI、写得了其他计算机功能的封装、用户界面布局也不求人,彻底熟悉 C/C++/Lua/Java/Kotlin 这类语言们 🤔
会不会被你们讽刺呢? 🤔
为什么不看看心理学 Psychology 的 Dunning-Kruger Curve?
讽刺就讽刺吧,反正我怎么样也不关别人的事情。
此外呢,还希望我能会使用 Krita 进行电子绘画,LMMS, Synthesizer V 来进行一点电音制作什么的呢、希望我能在学校好好学点运动。马上也要高三了呢.... 不知道物理和数学是不是真的『实迷途其未远』还是早已无力回天了呢?
可能都是以后的事情了吧,但是依然希望能有一天是这样呢。 🎁
算法 (基本支持,很多完全没有实践过,包括各种排序算法,排序算法包括基于交换、选择、插入操作的,实践过的包括冒泡排序和选择排序,Dijkstra 算法、广度优先搜索 BFS、深度优先搜索 DFS、基于 bucket 的 Hashtable,Lua 实现上看的、KNN 机器学习和回归、递归算法(比如,Hanoi 可行解)、贪婪算法们、动态规划,线性规划因为数学还在学目前只有最优化理论大纲的了解,十有八九又要涉及曲线斜率的导数问题)
整形数二进制位运算 (基础支持,包括各种语言甚至 X86 汇编的位长度、位移动、AND、OR、NOT、XOR、NOT AND(NAND)、溢出回滚补零,位运算实现 2 倍数乘除法、集合判重、位运算计算 Hash code,但是我不了解树状数组,更不会离散化,待学)
软件架构,当然基本都是 OO(面向对象) 的架构,duangsuse 现在已经能读懂 Object Algebra 解决的 Visitor Pattern 双向扩展问题,而其他一些简单的 OOP 架构,比如基于 OO 多态(子类型多态)的设计模式完全不是问题,要求使用参数化类型的架构基本支持,JavaEE 架构理解,基本都是背下来默写级别的支持,还不错
程序设计语言类型,从 C89 开始(支持子类型的 Abstract datatypes,抽象类型),直到 Java、Kotlin 的 OOP 类型系统 + 泛型(参数化类型,了解包括泛型的型变、一般工程模式)
逆向工程 (目前最低支持到机器代码反汇编程度的 C/C++ 等 >=PP 系逆向工程,依赖的软件主要是反汇编器、Radare2 负责进行自动化分析和增量式修改)
暂时不包括:
计算机图形学 (一些相关数学函数不是很会,而且练习也没做,数学函数分析技术相关的知识,比如单调性、函数曲线斜率一类的,以至于我连 Bezier 曲线的 Bernstein 基函数公式都看不懂,在学)
关系代数 (太菜了,但其实大部分都会做,了解的关系运算符包括 Π,σ,∞,∧,≠,= 这些,笛卡尔积只是待学 )
语音学 (虽然 duangsuse 也会去学英语的音标们,虽然我的确有一些了解,但仅限于了解)
自然语言处理 (虽然目前 duangsuse 按照高中的一些约定俗成的标准他自己有一些支持,比如了解句子类型和句子结构)
密码学 (比如 Diffie-Hellman 算法这种非对称密钥体系,duangsuse 好像还没把如何验证消息的过程背住,其实他没有背,但当涉猎)
信号处理 (虽然其实 DIP 也可以算是一种信号处理,不会的原因是因为数学在学,很多分析的时候依赖数学函数)
人工智能/机器学习 (但是,KNN 我还是会的)
人工神经网络(机器学习) (但是,如果是比较简单的,比如说那种小理论性的基于层的组合前馈神经网络,然后用别人的 lib 进行监督型学习我还是会的,只要建模足够简单就能上,迫真)
Internet 技术和计算机网络 (只是暂时不包括,因为知识量大一些抽象一些难记不是特别好抽象图形化分析,而且那些 Internet 服务又多... 只能记住几个,而且如果实现细节比如 IMAP 还是 SMTP 的 HELO/EHLO 指令都记的话我怕不是要有当今高中生的水平了?迫真,本来我是只有一个现在普通软件工程从业者的水平的hhhh,谁知道呢,那些曾经高中『下到量子物理分子结构式,上到滕王阁序古文观止英文单词类型句子结构』无所不知的学霸们,出来居然有那么多人后来落了个工程素质平平的结果... 还不如现在的一些兴趣驱动的 PLT/FP 爱好者大佬,这真是太讽刺了,难道中国这么教育就是为了『开阔』智力或者让该上脚手架的人上脚手架?)
而且是在之前已经有不少八卦知识的基础上,同时也给理解曾经完全不会的数学带来了可能!
duangsuse 开始有更多的工程行动能力了!
这是件好事,希望能一直进步下去。 🤔
希望吧。
duangsuse 希望自己啊,能真的完全了解信息技术,低到电子电路/嵌入式开发/逆向工程/系统安全,高到 PLT、程序变换、人工神经网络,中间也不能只是所谓的『全栈工程师』,要有能力去做一个架构师,完全熟套 OOP 和 SP 们的本质内涵,包得了 CNI、写得了其他计算机功能的封装、用户界面布局也不求人,彻底熟悉 C/C++/Lua/Java/Kotlin 这类语言们 🤔
会不会被你们讽刺呢? 🤔
为什么不看看心理学 Psychology 的 Dunning-Kruger Curve?
讽刺就讽刺吧,反正我怎么样也不关别人的事情。
此外呢,还希望我能会使用 Krita 进行电子绘画,LMMS, Synthesizer V 来进行一点电音制作什么的呢、希望我能在学校好好学点运动。马上也要高三了呢.... 不知道物理和数学是不是真的『实迷途其未远』还是早已无力回天了呢?
可能都是以后的事情了吧,但是依然希望能有一天是这样呢。 🎁
Cnblogs
离散化 - HolseLee - 博客园
本来应该是很简单的东西,但是之前学长讲的时候也没怎么听,然后现在遇到需要离散化的题目就有点茫然了。看了下网上大佬们的博客,基本理解了,做个记录。 以下内容部分思路来自: https://blog.cs
duangsuse Throws
#life #tech #school duangsuse 又 *** 回来了!!! 🐱 这次,duangsuse 的̶大̶脑̶进̶一̶步̶升̶级̶,带来了对很多 IT 问题模型的新分析理解能力,并且也学习了一些别的知识! 这个列表目前包括(我发誓下面的东西我都没有查任何一本书,而且我真的有至少一点的了解,绝对不是那种完全只知道名词的了解,不过关于历史的部分我可能看了一点维基,人命不好记...): (虽然会啥啥语言不能代表有实际工程能力,比如,会 Java 8 (有时可能只能代表你会用 Java 8 写…
比如说,我现在开始能看得懂 C 语言 + 算法工程实践的 Lua 5.1 了 (《Lua 设计与实践》这本书,我居然开始能看懂了) #Lua #PL
比如说,Android 开发的设计模式再也不困扰我了(我花了三四节课的时间看了一下《Kotlin 极简教程》里的 Android Realm 日程软件示例,现在我居然能默写很多代码,RealmAdapter/ViewHolder/TodoItemOnClickListener/TodoEditFragment/TodoListFragment/Anko UI/Coordinator Layout/RealmRecycler Layout/View inflator/Android Menus/MainActivity/AppBar/Supportv7Toolbar/XML/Resources/Layouts/Colors/,甚至包括 Groovy Gradle 项目文件了)
比如说,我花了不到十分钟终于看懂了 ES6 的 Generator Functions 和 Thunk 函数、Async callbacks 之间有何关系,为啥要用 Coroutine + yield Promise 的方式而不是直接阻塞地调用 Sync 函数或者,Async 函数使用
而看懂其实是得益于现在能够基于程序执行时控制流模拟的 — 现在我能看到啥是『阻塞』,啥是『挂起等待』了,也知道为啥要做成『分段执行』的函数了
比如说,我现在能理解 Jawa 8 里的泛型型变了(
比如说,曾经我专门记的东西现在更清楚了,为啥有人要用,为啥有些精简代码的技巧因为可读性和语言明确性的原因不能用,比如
比如位运算『优化』,比如索引从 10 数到 0 而不是从 0 数到 10
比如说,Android 开发的设计模式再也不困扰我了(我花了三四节课的时间看了一下《Kotlin 极简教程》里的 Android Realm 日程软件示例,现在我居然能默写很多代码,RealmAdapter/ViewHolder/TodoItemOnClickListener/TodoEditFragment/TodoListFragment/Anko UI/Coordinator Layout/RealmRecycler Layout/View inflator/Android Menus/MainActivity/AppBar/Supportv7Toolbar/XML/Resources/Layouts/Colors/,甚至包括 Groovy Gradle 项目文件了)
比如说,我花了不到十分钟终于看懂了 ES6 的 Generator Functions 和 Thunk 函数、Async callbacks 之间有何关系,为啥要用 Coroutine + yield Promise 的方式而不是直接阻塞地调用 Sync 函数或者,Async 函数使用
function * 和简单使用 function 有啥区别,为啥就要专门的 co module 来执行 Generator 函数了,为啥 Generator 看起来只是为了状态机随时挂起恢复的却要用来做 Async,Async 和 Await (语法糖)的本质是什么(Fibers,也就是 Coroutine,协程)而看懂其实是得益于现在能够基于程序执行时控制流模拟的 — 现在我能看到啥是『阻塞』,啥是『挂起等待』了,也知道为啥要做成『分段执行』的函数了
比如说,我现在能理解 Jawa 8 里的泛型型变了(
P 是 T 的父类,协变 F<T> : F<P>、逆变 F<P> : F<T>、不变 F<P>, F<T> 没有子类型关系),我知道为啥要说 <? extends T>, 为啥要说 <? super T> (? 是 T 的超类,这是类型下界限定),为啥要有 PECS(producer-extends,consumer-super) 规则,我记住了 Kotlin 泛型里的 <in T>, <out T> 分别是对应 Java 里的啥(PECS,<? super T>, <? extends T>),但最重要的是我知道为什么 Consumer 要 <super T>(Number n = ints.get(0); 这是一个缘由,而 capature<? extends T> 限定符实现了泛型类型的协变,也就是说 List<E>, boolean addAll(Collection<? extends E> c), List<Number> 这种 receiver 可以 addAll List<Integer> 的 producer,或者说 List<Intger> : Collection<? extends Number>, List<Integer> is covariant over Collection<? extends Number>),而且我看到了谁是谁的子类型这个关系,并且我看了一遍就记住了 OOP 里的几种多态 — Ad hoc polymorphism(特数多态) 的 参数类型重载多态、类型转换多态,参型多态(参数化类型, Parametric Polymorphism),子类型(继承)多态比如说,曾经我专门记的东西现在更清楚了,为啥有人要用,为啥有些精简代码的技巧因为可读性和语言明确性的原因不能用,比如
newvector[i++]
比如 Lua 的 table 预填充技术 p = {0, 0, 0} 防止表存储被动扩充,比如 Lua 的 local time = os.time 可以让访问减少几次索引查找比如位运算『优化』,比如索引从 10 数到 0 而不是从 0 数到 10
for (int i = 9; i >= 0; i--)
比如数组下标(subscript)为啥要叫下标This media is not supported in your browser
VIEW IN TELEGRAM
说了这么多,其实我很想试着设计一点简单的 Android 应用了(GeekApk 的事情,其实也是需要这一层的,所以不冲突,而且我不是还有四个月后的暑假么,绝望hhhh),不过我最后还想写几句喜欢的古文:
#PL #PLT #Learn #statement #life #backend #Android #GeekApk 🤔
+ 见贤思齐焉,见不贤而内自省也。 — 《论语·里仁》
每次看到各种各样的大佬,总是乐意岔开自己可能在做的机械的工作而愿意跟着大佬的博客更新、知乎专栏、GitHub 等知识渠道努力跟随大佬学习新知识,步入新的知识体系、新的学习方向,就是说
当然,随着软件工程的门槛越来越低,各色格式中国式培训班学院和垃圾三本院校技校的原学员也会加入实际的『工业界』,这么多不同能力程度的人混在同一个社群圈子里,鱼龙混杂、良莠不齐,声音难辨。
也能看到越来越多娱乐人士在各大娱乐网站发表的蜜汁言论和各种垃圾『代码』,垃圾提问了(比如冰封哥吐槽的弱类型比静态强类型『灵活』的言论)
有的东西,不看就好,有的有点价值的设计不当,应该实时记录下来,告诫自己不能也做某种设计,这就是说
无论是电子电路、嵌入式、位运算、操作系统、信号处理、SIMD 并行化处理、计算机图形学算法的知识,还是 Android 开发/Qt 开发/.NET Form/Java AWT/OpenGL、Web 开发、用户界面设计、艺术设计多媒体处理、网络安全、软件架构,抑或上到 LLVM 编译器框架的 Pass、移植,上到程序设计语言的理论和类型系统最新的研究方向、人工智能算法,都不吝惜花时间学习而提升自己
此谓
即使一点『基础知识』都要数百个小时来学习,每次学习都得努力在脑子里模拟所有流程,或者用计算机辅助画图、找资料、写算法计算也不辞辛苦地坚持继续做下去
此谓
因为学习的理论或者实践方法不总是会经常用到的知识,而且为了验证自己所学的扎实性、进一步升华自己对模型和流程的理解记忆,好的学习者会经常通过类型写博文
即便是
计算机科学上,绝大部分理论最终的归属还是实践,不实际的设计算法解决问题,难以理解问题的精髓。
此谓
此谓
比如,编译原理里,一个比较常见的问题 — 局部作用域,有时候一些书上教的不是很好,不会很全或者有些没说清的地方(有的书不是专门讲这些的),或者可能不适合实现时的实际情况(比如,希望编译成一种虚拟机的字节码再解释执行),而实际自己写一个支持局部作用域的解释器,才能把诸如 dynamic scoping 的 binding 理论学扎实,还有可能悟出 static scoping 的实现方法
+ 臣之所好者道也,进乎技矣。始臣之解牛之时,所见无非牛者。
三年之后,未尝见全牛也。方今之时,臣以神遇而不以目视,官知止而神欲行。
依乎天理,批大郤,导大窾,因其固然 — 《庖丁解牛》
计算机科学之所以科学的地方,在于用 nontrivial 的眼光看计算机本身,以及它们可以解决的问题,还有实际实践中出现问题的模式和本质
学 Java,开始的时候,大家可能都菜到只会『写』代码,甚至看不透一个简单变量声明的模式,只是知道这个东西『复制粘贴』,修改一下『它的名字』就好了(其实一些人开始的时候还惨一些,不会『写』代码,只能改代码甚至只会看代码,更有甚者连模式识别都做不到,看不懂空格分开的几个单词...)
只是知道那些东西是那么写的,可能一些会写英文句子的人,都会编程吧。
但是后来,有些人开始能看到这些语法结构后面的类们的继承之树,看到继承和重写的本质、看到 OOP 的多态体现、看到字类型系统
虽然他们开始不知道有这些这么多装逼(虽然也没怎么装逼)的名字,但是他们会用!
他们会开始在实际工程中学着把自己的业务(对象)逻辑抽象成类型和静态方法,甚至做成可重用的组件
然后这群人就成了架构师 🤔
另外一些人可能开始试着总结自己看到的模式,
他们也可能会注意到一些小的语法差异细节,注意到『变量』的作用域区分,注意到变量声明还可以加上各种被总结成『flag』(modifier) 的东西(
后来这群人可能就成了编译器工程师 🤔
我只是举个例子,当然不可能这么简单的,除非是天才。 😵
所以呢,技术的提升很多时候应该伴随着视角的提升。
当 John 开始超离『变量要先定义再使用』的魔障,了解空类型安全和类型系统,开始看到 JVM 的全貌之时,他的世界就开始向2宽广化发展了。
#PL #PLT #Learn #statement #life #backend #Android #GeekApk 🤔
+ 见贤思齐焉,见不贤而内自省也。 — 《论语·里仁》
每次看到各种各样的大佬,总是乐意岔开自己可能在做的机械的工作而愿意跟着大佬的博客更新、知乎专栏、GitHub 等知识渠道努力跟随大佬学习新知识,步入新的知识体系、新的学习方向,就是说
『见贤思齐』
现在随着软件工程的发展,越来越多的人开始进入工程界,相比曾经的软件工程,软件数量上可谓是不再有啥危机了,大数字会说一天内,能查出的新恶意软件数目达到 20k 多个当然,随着软件工程的门槛越来越低,各色格式中国式培训班学院和垃圾三本院校技校的原学员也会加入实际的『工业界』,这么多不同能力程度的人混在同一个社群圈子里,鱼龙混杂、良莠不齐,声音难辨。
也能看到越来越多娱乐人士在各大娱乐网站发表的蜜汁言论和各种垃圾『代码』,垃圾提问了(比如冰封哥吐槽的弱类型比静态强类型『灵活』的言论)
有的东西,不看就好,有的有点价值的设计不当,应该实时记录下来,告诫自己不能也做某种设计,这就是说
『见不贤而内自省也』
+ 路漫漫其修远兮,吾将上下而求索 — 《离骚》无论是电子电路、嵌入式、位运算、操作系统、信号处理、SIMD 并行化处理、计算机图形学算法的知识,还是 Android 开发/Qt 开发/.NET Form/Java AWT/OpenGL、Web 开发、用户界面设计、艺术设计多媒体处理、网络安全、软件架构,抑或上到 LLVM 编译器框架的 Pass、移植,上到程序设计语言的理论和类型系统最新的研究方向、人工智能算法,都不吝惜花时间学习而提升自己
此谓
『上下而求索』
即使这些都是『慢热』的领域,即使可能都要看到数百篇文章甚至大几十页的论文,即使可能每个子程序都得自己写才能学得足够扎实,也不放过一丝提升的机会即使一点『基础知识』都要数百个小时来学习,每次学习都得努力在脑子里模拟所有流程,或者用计算机辅助画图、找资料、写算法计算也不辞辛苦地坚持继续做下去
此谓
『路漫漫其修远』
+ 教学半 — 《书·商书·兑命》因为学习的理论或者实践方法不总是会经常用到的知识,而且为了验证自己所学的扎实性、进一步升华自己对模型和流程的理解记忆,好的学习者会经常通过类型写博文
『教』的方式来巩固强化自己的学习效果,他们会遵照着 Internet 『自古以来』的秉性 — 开放、互联、共享,把自己的知识无私地分享给类似自己的学习者,让后来者可以花更少的时间,得到更深刻的知识教人是学习的一半,只写代码实践而不设计问题教着别人一起分析解决,你就只得到了知识的一半!+ 纸上得来终觉浅 绝知此事要躬行 — 《冬夜读书示子聿》
即便是
『教学半』了,也依然可能有注意不到的地方,计算机科学最大的魅力就是,你写的算法都是可以被计算机执行,快速地给出相对严谨的结果的。计算机科学上,绝大部分理论最终的归属还是实践,不实际的设计算法解决问题,难以理解问题的精髓。
此谓
『纸上得来终觉浅』
对于算法的学习者来说,通过实际执行来学习编写算法,『执行』的重要性再怎么强调也不为过,而且最好是直接在计算机上执行,实际计算机计算环境与理想环境会让你发现算法核心内容与实现时要做的事情,还是有些许差别,甚至对于一些比较数学的东西还得再设计另外一种算法来达到『计算机移植』的目的此谓
『绝知此事要躬行』
如果只满足于在纸上的草稿和脑中的模拟而不实际编程的话,有时候会脱离现实世界编程的初衷,离实践越来越远比如,编译原理里,一个比较常见的问题 — 局部作用域,有时候一些书上教的不是很好,不会很全或者有些没说清的地方(有的书不是专门讲这些的),或者可能不适合实现时的实际情况(比如,希望编译成一种虚拟机的字节码再解释执行),而实际自己写一个支持局部作用域的解释器,才能把诸如 dynamic scoping 的 binding 理论学扎实,还有可能悟出 static scoping 的实现方法
+ 臣之所好者道也,进乎技矣。始臣之解牛之时,所见无非牛者。
三年之后,未尝见全牛也。方今之时,臣以神遇而不以目视,官知止而神欲行。
依乎天理,批大郤,导大窾,因其固然 — 《庖丁解牛》
计算机科学之所以科学的地方,在于用 nontrivial 的眼光看计算机本身,以及它们可以解决的问题,还有实际实践中出现问题的模式和本质
学 Java,开始的时候,大家可能都菜到只会『写』代码,甚至看不透一个简单变量声明的模式,只是知道这个东西『复制粘贴』,修改一下『它的名字』就好了(其实一些人开始的时候还惨一些,不会『写』代码,只能改代码甚至只会看代码,更有甚者连模式识别都做不到,看不懂空格分开的几个单词...)
只是知道那些东西是那么写的,可能一些会写英文句子的人,都会编程吧。
但是后来,有些人开始能看到这些语法结构后面的类们的继承之树,看到继承和重写的本质、看到 OOP 的多态体现、看到字类型系统
虽然他们开始不知道有这些这么多装逼(虽然也没怎么装逼)的名字,但是他们会用!
他们会开始在实际工程中学着把自己的业务(对象)逻辑抽象成类型和静态方法,甚至做成可重用的组件
然后这群人就成了架构师 🤔
另外一些人可能开始试着总结自己看到的模式,
if (Exp) Statement、while (Exp) Statement...他们也可能会注意到一些小的语法差异细节,注意到『变量』的作用域区分,注意到变量声明还可以加上各种被总结成『flag』(modifier) 的东西(
final, public, volatile...)后来这群人可能就成了编译器工程师 🤔
我只是举个例子,当然不可能这么简单的,除非是天才。 😵
所以呢,技术的提升很多时候应该伴随着视角的提升。
当 John 开始超离『变量要先定义再使用』的魔障,了解空类型安全和类型系统,开始看到 JVM 的全貌之时,他的世界就开始向2宽广化发展了。
https://doc.rust-lang.org/nomicon/subtyping.html#variance #PLT Rust 里讨论的问题不限于 Generics 的 Variance,问题复杂一些,喜欢了解细节的不容错过(
不过我目前懒得看这一节... 🙊
不过我目前懒得看这一节... 🙊
#Csharp #dotnet #microsoft
https://github.com/dotnet/standard/blob/master/docs/versions.md
.NET Core 会支持,Framework 不支持(补充)
https://github.com/dotnet/standard/blob/master/docs/versions.md
.NET Core 会支持,Framework 不支持(补充)
2 .NET Framework will not support .NET Standard 2.1 or any other later version. For more details, see this blog post.Forwarded from 羽毛的小白板
正式确定 .Net Framework 无缘 .Net Standard 2.1
https://github.com/dotnet/standard/commit/c3e48b4fe537ac604c8e0e9249f9cd0871440850
https://github.com/dotnet/standard/commit/c3e48b4fe537ac604c8e0e9249f9cd0871440850
GitHub
Update version table · dotnet/standard@c3e48b4
This repo is building the .NET Standard. Contribute to dotnet/standard development by creating an account on GitHub.
顺手学习了,不过我觉得好像除了 ArrayAdapter 这种系统 List Adapter 之外好像不需要别的手写 Adapter 手写 ViewHolder.... 🤔 也能发现点套路,还是经验成自然... 目前这个项目 DBase64 有一半的代码(包括所有项目结构 Gradle)是我 VSCode 手写的,基本是尽可能背出来,我想重写了,因为发现没有打草稿不知道都该怎么抽象怎么分工...
duangsuse::Echo
顺手学习了,不过我觉得好像除了 ArrayAdapter 这种系统 List Adapter 之外好像不需要别的手写 Adapter 手写 ViewHolder.... 🤔 也能发现点套路,还是经验成自然... 目前这个项目 DBase64 有一半的代码(包括所有项目结构 Gradle)是我 VSCode 手写的,基本是尽可能背出来,我想重写了,因为发现没有打草稿不知道都该怎么抽象怎么分工...
以后写 Android 应用或者不管什么应用都得先打草稿才是 🤔
(之前 Qt 应用 RandomSelection 模块化做的不当主要是因为我没经验,居然把一些本来应该放 C++ 对象里的东西弄成了全局变量或者放错位置了,没有好好利用 Qt 的信号插槽机制来解耦合)
其实这些前端依赖草稿主要还是功能比较多容易混,Android API 又多、杂,和 XML 混着不好弄
而类似 Spectrum 这种东西也就是写着写着慢慢改就可以了,本身算法上居多,不像 Android 可能是类定义和 API 使用居多,可维护性依赖代码结构
(之前 Qt 应用 RandomSelection 模块化做的不当主要是因为我没经验,居然把一些本来应该放 C++ 对象里的东西弄成了全局变量或者放错位置了,没有好好利用 Qt 的信号插槽机制来解耦合)
其实这些前端依赖草稿主要还是功能比较多容易混,Android API 又多、杂,和 XML 混着不好弄
而类似 Spectrum 这种东西也就是写着写着慢慢改就可以了,本身算法上居多,不像 Android 可能是类定义和 API 使用居多,可维护性依赖代码结构
duangsuse::Echo
顺手学习了,不过我觉得好像除了 ArrayAdapter 这种系统 List Adapter 之外好像不需要别的手写 Adapter 手写 ViewHolder.... 🤔 也能发现点套路,还是经验成自然... 目前这个项目 DBase64 有一半的代码(包括所有项目结构 Gradle)是我 VSCode 手写的,基本是尽可能背出来,我想重写了,因为发现没有打草稿不知道都该怎么抽象怎么分工...
🤔 隔壁 CN Android Dev 也就十来个大佬,活跃的也就四五个,不少伸手党 emmm...
有些有点价值的问题也没人回答,回答的也多是入门级别的问题,我甚至看到有个人在 Java class constructor 里写
为了给大家明细一下,总结一下我看到的几个话题:
+ musicinfo类(设备媒体文件列表)
+ RecycleView 和 ViewHolder
(你的 musicInfo 肯定不能 setText 啊)(是的,好像没有看 ViewHolder 应该是怎么实践的,不应该 create ViewHolder 的逻辑里放这种 setup 它自己的东西...)
(而且提问者貌似还把
+ MenuInflater 是增加菜单不是设置菜单
+ Android 8.0 上的 Channel 音频如何随时更换呢?
+ (ADB) shizuku manager 可以做到 getevent sendevent 吗
+ 最近在后台收到了一些关于 Android 8.1 设备上出现的 did not then call Service.startForeground()
+ 在手机上可以通过NFC写入任意自定义的数据吗
+ 推荐图片选择器
话说在 Android 上可不可能跑类似
+ 如何理解开源代码里难以理解的部分,尤其是作者的自定义函数的几个传参?
+ Qucik Setting Tile 调起 App
直接退出 App 或者用多任务切到后台 很快就开起来了,但是如果是 Home 退到后台,就需要4、5秒才能启起来,调完startActivity 和页面onRestart 差很长时间 = =
+ GridLayout , columnWeight是 1:3,怎么占用的空间不是1:3呢?
想要编译好的 curl…😂
请问 jni 引入第三方静态库的时候 cmake 一般怎么写呢... 比如 abiFilters 里面有两个的话...怎么才能让它自动链接指定 abi 的 lib 呢?
我是想修改一个现成的 vector drawable xml
+ 需要让另外一个app打开我的app,需要在我的app里面改什么代码吗?
+ EditText中输入的文字为什么和底线的距离这么大呢?
+ ```java 你们代码是怎么打出来的(markdown)
+ 现在有必要学litepal吗?感觉音乐播放器中音乐工具类扫描本地音乐还是需要写很多数据库cursor和getColumnIndex方法啊
一个音乐类就是musicbean,那litepal还有什么用?
能拿到UploadService的IBinder,但是拿不到DownloadService的IBinder
+ recyclerview adapter里面findviewbyid爆红怎么办
+ listview嵌套scrollview底部空白遇到过没
+ 按照网络上搜到的文章复制了一份 toolchain, 请问怎么在 build.gradle 文件中指定呢?
+ 问一下各位,AppProcess 内可以访问 Provider 吧
+ 请问一般怎么在 CMakeLists.txt 里写来配置 strip ...
有些有点价值的问题也没人回答,回答的也多是入门级别的问题,我甚至看到有个人在 Java class constructor 里写
return...(肯定是不行的啊,假设 Javac 允许了,子类调用父类架构器时 invokespecial 也不需要往栈上放返回值的)为了给大家明细一下,总结一下我看到的几个话题:
+ musicinfo类(设备媒体文件列表)
+ RecycleView 和 ViewHolder
(你的 musicInfo 肯定不能 setText 啊)(是的,好像没有看 ViewHolder 应该是怎么实践的,不应该 create ViewHolder 的逻辑里放这种 setup 它自己的东西...)
(而且提问者貌似还把
holder.textView.setText(...) 写成了 holder.setText(...))+ MenuInflater 是增加菜单不是设置菜单
(遇到复用就悲剧了)(先 clear 掉)
+ 无限循环的viewpager(好像是设置了set current是true)
+ 有好用的富文本解析器吗,github上几个库,都解析不了字号和对齐(解析富文本还是webview靠谱啊)
+ rxjava里面所说的不完整定义的回调是个什么意思呀(就是必须都要重写) (subscribe 方法有三个重载可用,不需要重写 next, error, complete 所有三种情况,Rx 可以理解为增强版 Promise,用于提供标准化 Streaming API)+ Android 8.0 上的 Channel 音频如何随时更换呢?
(用户的设置会被清除)(其他就没什么影响了,不过用户会看到删除的总量)
+ (android.support.)design 没有 -v7(Gradle implementation 依赖 coordinate 配置错误)(话说旧版本 Gradle 的所谓 compile 依赖真的是扯淡,明明不止是作为 api 使用的却说只是『编译期』依赖)+ (ADB) shizuku manager 可以做到 getevent sendevent 吗
(直接读 /dev/input/event* 就不会有 buffer)
(但是协议在不同设备上有差异)
(为什么我把/dev/input/event*权限设为666,Java读还是permission denied)
(runtime.exce的stdout默认有4k的buffer)(Output那方才可以flush,我现在拿到是inputstream)(我现在暂时用-c 2每次执行读两条事件)+ org.gradle.jvmargs 你们设置了多少
+ 最近在后台收到了一些关于 Android 8.1 设备上出现的 did not then call Service.startForeground()
+ 在手机上可以通过NFC写入任意自定义的数据吗
(您或会需要日 ISO7816)
+ android 自动化UI测试,大家都在用哪个框架呢 ?+ 推荐图片选择器
(Action_pick)
+ 话说,有什么好的方案能监听自身卸载呢?有 Root。话说在 Android 上可不可能跑类似
xorg-server 这样的 X11 Server?(Termux上有个魔改的)(XServer XSDL)(旧版本的Android可以stop后使用fbdev)(很久之后)+ 如何理解开源代码里难以理解的部分,尤其是作者的自定义函数的几个传参?
+ Qucik Setting Tile 调起 App
直接退出 App 或者用多任务切到后台 很快就开起来了,但是如果是 Home 退到后台,就需要4、5秒才能启起来,调完startActivity 和页面onRestart 差很长时间 = =
+ GridLayout , columnWeight是 1:3,怎么占用的空间不是1:3呢?
(其实已经占用了,只不过图片没有显示完全。可以给图片加上 android:scaleType="fitXY" 属性试试。)(还是用 GridLayout 设置 row/column(1/3) 吧)
+ android指纹签名问题(微信:如何利用SOTER,1个版本内完成指纹支付开发)
+ GridLayout的orientation是什么意思(好像意思是,动态布局的时候,按行添加或者按列添加)(你可以写下相关代码试试)
+ 请问有没有前辈在 jni 里用过 curl…想要编译好的 curl…😂
请问 jni 引入第三方静态库的时候 cmake 一般怎么写呢... 比如 abiFilters 里面有两个的话...怎么才能让它自动链接指定 abi 的 lib 呢?
(${ANDROID_ABI})
+ 有没有什么工具方便编辑 vector drawable xml?我是想修改一个现成的 vector drawable xml
(github.com/neworld/vd2svg)
+ 问一个强迫症问题,如何去除一个方法里由@Nullable导致的警告,方法里有句代码调用返回值注解了@Nullable,但可以100%确定不会是null,写判断毫无意义,只想去掉警告。@SuppressWarnings("null")无效果(试试 @SuppressWarnings("ConstantConditions"))
+ bind两个service,只有第一个service的onServiceConnection打印了,但是两个service的onBind都有打印,为什么+ 需要让另外一个app打开我的app,需要在我的app里面改什么代码吗?
+ EditText中输入的文字为什么和底线的距离这么大呢?
+ ```java 你们代码是怎么打出来的(markdown)
+ 现在有必要学litepal吗?感觉音乐播放器中音乐工具类扫描本地音乐还是需要写很多数据库cursor和getColumnIndex方法啊
一个音乐类就是musicbean,那litepal还有什么用?
(那个扫描不是用的content provider吗)(litepal是把数据存到数据库的)(Room也不错呀)+ bind两个Service,只有第一个onServiceConnection回调,但是两个onBInd方法都走了
能拿到UploadService的IBinder,但是拿不到DownloadService的IBinder
+ recyclerview adapter里面findviewbyid爆红怎么办
(不要在 onCreateViewHolder 里做这些事情。。。)(不良实践)+ listview嵌套scrollview底部空白遇到过没
+ 按照网络上搜到的文章复制了一份 toolchain, 请问怎么在 build.gradle 文件中指定呢?
(ndk.dir)
(我试试 感谢 我刚才闹不清楚流程 在 ndk 的那个 .cmake 里面不停 message 想看看输出想定位到😂)
(另外,如果你复制一份 NDK 的话,你可以在这个 NDK 里添加一个选项表示这是个特殊的 NDK 。这样就能在 Android.mk 或者 CMakeLists 里判断是不是 OLLVM NDK ,从而决定要不要在 CFLAGS 里加上 OLLVM 的那些选项。)
+ 群里有大佬用过Bmob来开发吗?上传和读取一个对象的不同类型的数据要怎么做,,+ 问一下各位,AppProcess 内可以访问 Provider 吧
+ 请问一般怎么在 CMakeLists.txt 里写来配置 strip ...
(Link flag -s)
duangsuse::Echo
🤔 隔壁 CN Android Dev 也就十来个大佬,活跃的也就四五个,不少伸手党 emmm... 有些有点价值的问题也没人回答,回答的也多是入门级别的问题,我甚至看到有个人在 Java class constructor 里写 return...(肯定是不行的啊,假设 Javac 允许了,子类调用父类架构器时 invokespecial 也不需要往栈上放返回值的) 为了给大家明细一下,总结一下我看到的几个话题: + musicinfo类(设备媒体文件列表) + RecycleView 和 ViewHolder…
(其实在 Android 开发里我所谓的『入门级别的问题』主要还是说理解的难度是入门... 本身在这个领域其实也算是实践会处理的问题)
duangsuse::Echo
(其实在 Android 开发里我所谓的『入门级别的问题』主要还是说理解的难度是入门... 本身在这个领域其实也算是实践会处理的问题)
记得我以前用 Androlua+ (那个社群做的文档很多很不错,好查)的时候连
现在看到 Service IBinder 什么的因为没见过代码还是觉得大佬 hhhh 🤔
可真的是大佬呢,还是不明觉厉呢?
其实我虽然没有看过专门 Android 开发的书,但书上也会有提及,我也能总结出一点 Android 开发相关的名词列表了
这种前端的工作... 还是看信息搜索的能力吧?
ListAdapter 都不知道是肝什么的,就是抄着别人的 Lua Java access 代码改,看到 ViewHolder、Fragment 瞬间觉得无法理解... Activity 类有几个可覆写的事件方法我都不清楚(现在看到 Service IBinder 什么的因为没见过代码还是觉得大佬 hhhh 🤔
可真的是大佬呢,还是不明觉厉呢?
其实我虽然没有看过专门 Android 开发的书,但书上也会有提及,我也能总结出一点 Android 开发相关的名词列表了
这种前端的工作... 还是看信息搜索的能力吧?
Forwarded from 羽毛的小白板
羽毛的小白板
https://mp.weixin.qq.com/s/a8LeIvXipokCXddUPm_3FQ #奇文共赏
duangsuse 看完之后的评价: 👎
真 TMD 傻逼。(实锤)
先上这些
title:
abstract:
那么他就是想把一大堆『除了 Host 外都一样的请求』分布到『不同的服务器』上
又有什么不对的呢? 🤔
他的观点:
+ 无线时代,网络稳定性差,应用流量敏感
+ APP与Server之间每次HTTP请求都需要进行DNS解析
+ 在上面的情况下,直接使用 IP 地址而不是间接查表访问可以提速
+ 负载均衡用 Nginx 或者客户端自行完成,而 Nginx 的外网地址需要 DNS 解析拿到,Nginx 自己还得再转发一道
+ 一旦DNS被劫持,整个APP就挂了,并且,网络慢,DNS解析的时间都不能忽略
+ APP能够把Web-server的ip-list内置吗?不行(绝望)
+ 画外音,是的,是画外音,有些『架构师』不会写洋文,这位是连中文都 TMD 不会写
+ 不要将ip-list内置在APP里,而是通过HTPP请求来拉取,然后客户端每次随机请求 List 里的 Node Host,使用 iplist 版本号或者客户端版本号更新,又可以水平扩展(在相同客户端版本间添加新节点),一箭双雕(大嘘)
+ Visitor Pattern 双向扩展问题的解决方案叫
所以我啥都不想说了,你们有眼睛,自己看吧。
我最讨厌名词一大堆,却没有啥理解难度的东西,因为很多人会在讨论这种 trivial 的问题时,利用各种专门的技术名词,甚至是自己造的,尝试让部分人不明觉厉。
而真正的技术是苦干实干的 — 一个复杂却的确应当的模型才是真正有乐趣的地方
有种写这种教导人们做 overdesign 的文章,为什么不去看看隔壁写算法的怎么做离散化,怎么做真正(还有点点提升)的『优化』呢?
(其实上面的话也有点过激,就他们这个情况多服务器负载均衡来说这么做不为错,错就错在把这当成一种『架构优化』拿来吹,甚至毫无根据地把性能瓶颈怪到 DNS 系统的头上)
(不过我很好奇的是,这么多服务器用一个数据库集群么... 不会把一些数据分开 Data Center 来处理再按照 BASE 原则互相同步之类的)
(Telegram 发布错误老丢失文字... 上面那段我写了三次)
真 TMD 傻逼。(实锤)
先上这些
title:
APP还在用域名连接后端?用IP提速N倍!
author: 58沈剑 架构师之路 (会做这种 overdesign 的果不其然是某些大厂子的『架构师』呵呵)abstract:
无线时代,网络稳定性差,应用流量敏感,APP与Server之间每次HTTP请求都需要进行DNS解析,有没有可能直接使用IP来提速呢?
keywords: HTTP, Nginx, 负载均衡, DNS, 水平扩展, 反向代理, Tomcat, IP提速, DNS劫持, 网络慢, 移动时代App, 高可用, ip-list, ip-list自动更新那么他就是想把一大堆『除了 Host 外都一样的请求』分布到『不同的服务器』上
又有什么不对的呢? 🤔
他的观点:
+ 无线时代,网络稳定性差,应用流量敏感
+ APP与Server之间每次HTTP请求都需要进行DNS解析
+ 在上面的情况下,直接使用 IP 地址而不是间接查表访问可以提速
+ 负载均衡用 Nginx 或者客户端自行完成,而 Nginx 的外网地址需要 DNS 解析拿到,Nginx 自己还得再转发一道
+ 一旦DNS被劫持,整个APP就挂了,并且,网络慢,DNS解析的时间都不能忽略
+ APP能够把Web-server的ip-list内置吗?不行(绝望)
+ 画外音,是的,是画外音,有些『架构师』不会写洋文,这位是连中文都 TMD 不会写
+ 不要将ip-list内置在APP里,而是通过HTPP请求来拉取,然后客户端每次随机请求 List 里的 Node Host,使用 iplist 版本号或者客户端版本号更新,又可以水平扩展(在相同客户端版本间添加新节点),一箭双雕(大嘘)
+ Visitor Pattern 双向扩展问题的解决方案叫
『Object Algebra』,这个问题的『动态水平扩展』解决方案的名字叫『IP直通车』
思路比结论更重要。所以我啥都不想说了,你们有眼睛,自己看吧。
我最讨厌名词一大堆,却没有啥理解难度的东西,因为很多人会在讨论这种 trivial 的问题时,利用各种专门的技术名词,甚至是自己造的,尝试让部分人不明觉厉。
而真正的技术是苦干实干的 — 一个复杂却的确应当的模型才是真正有乐趣的地方
有种写这种教导人们做 overdesign 的文章,为什么不去看看隔壁写算法的怎么做离散化,怎么做真正(还有点点提升)的『优化』呢?
(其实上面的话也有点过激,就他们这个情况多服务器负载均衡来说这么做不为错,错就错在把这当成一种『架构优化』拿来吹,甚至毫无根据地把性能瓶颈怪到 DNS 系统的头上)
(不过我很好奇的是,这么多服务器用一个数据库集群么... 不会把一些数据分开 Data Center 来处理再按照 BASE 原则互相同步之类的)
(Telegram 发布错误老丢失文字... 上面那段我写了三次)
This media is not supported in your browser
VIEW IN TELEGRAM