Journal on 2021-05-03

Posted on Mon 03 May 2021 in Journal

Thinking

在信息泛滥的时代,深入学习变得越来越奢侈,浅尝辄止就够了,抖音刷着,快餐吃着,哪还有耐心捧着一本大部头细细研读。最终信息只是片断的信息,知识还是不了解的知识。

Quote

Read a book - "Programming Beyond Practices"

  • Using prototypes to explore project ideas 善用设计原型,探索项目创意
  • Spotting hidden dependencies in incremental changes 观察增量变更,发掘隐藏依赖
  • Identifying the pain points of service integrations 准确识别痛点,高效集成服务
  • Developing a rigorous approach towards problem-solving 设计严密方案,逐步解决问题
  • Designing software from the bottom up 谨记自底向上,优化软件设计
  • Data modeling in an imperfect world 认清现实睱疵,改善数据建模
  • Gradual process improvement as an antidote for over-commitment 逐渐改善流程,合理安排时间
  • The future of software development 认清行业未来,再议软件开发

Program

Web IDL is an interface description language (IDL) format for describing application programming interfaces (APIs) that are intended to be implemented in web browsers. Its adoption was motivated by the desire to improve the interoperability of web programming interfaces by specifying how languages such as ECMAscript should bind these interfaces.

参见 https://heycam.github.io/webidl/, Web 接口描述语言,不管你是用 Java, JavaScript, Python, C++ 还是 Go, 都可以用它来描述接口和数据结构。

例如以下的定义,是个程序员都能看明白

interface RTCRtpReceiver {
  readonly attribute MediaStreamTrack track;
  readonly attribute RTCDtlsTransport? transport;
  static RTCRtpCapabilities? getCapabilities(DOMString kind);
  RTCRtpReceiveParameters getParameters();
  sequence<RTCRtpContributingSource> getContributingSources();
  sequence<RTCRtpSynchronizationSource> getSynchronizationSources();
  Promise<RTCStatsReport> getStats();
};

dictionary RTCStats {
    required DOMHighResTimeStamp timestamp;
    required RTCStatsType        type;
    required DOMString           id;
};

dictionary RTCRtpStreamStats : RTCStats {
             required unsigned long       ssrc;
             required DOMString           kind;
             DOMString           transportId;
             DOMString           codecId;
};

dictionary RTCReceivedRtpStreamStats : RTCRtpStreamStats {
             unsigned long long   packetsReceived;
             long long            packetsLost;
             double               jitter;
             unsigned long long   packetsDiscarded;
             unsigned long long   packetsRepaired;
             unsigned long long   burstPacketsLost;
             unsigned long long   burstPacketsDiscarded;
             unsigned long        burstLossCount;
             unsigned long        burstDiscardCount;
             double               burstLossRate;
             double               burstDiscardRate;
             double               gapLossRate;
             double               gapDiscardRate;
             unsigned long        framesDropped;
             unsigned long        partialFramesLost;
             unsigned long        fullFramesLost;

};

English

How to make a request

Example:

  • I was wondering if you could assist me in writing the report

  • Is it possible to have the report delivered by Friday?

  • I would be grateful if you could send me a copy of your catalog.