FEX 技术周刊 - 2019/09/23
Software Architecture is Overrated, Clear and Simple Design is Underrated
Software architecture best practices, enterprise architecture patterns, and formalized ways to describe systems are all tools that are useful to know of and might come in handy one day. But when designing systems, start simple and stay as simple as you can. Try to avoid the complexity that more complex architecture and formal tools inherently introduce.
The 6 Most Common Types of Logic in Large Applications [with Examples]
In this article, you’ll learn about the Clean Architecture, why we should separate the concerns of large applications into layers, the 6 most common types of application logic, and which layer they belong to.
Eric Evans Wants to Improve the Language of DDD
Evans believes that now, 15 years after his book was published, it may be time to take a few steps back to the fundamentals, then consciously make new steps forward. One area of focus should be to address the confusion that results from the common alignment of bounded contexts, subdomains, and organizations.
A Guide to Component Driven Development (CDD)
Let components drive the development of your applications.
Contemporary Front-end Architectures
How we got here? A front-end engineer’s perspective!
How we reduced traffic 10-20 times - data compression in real-time collaboration
When you are creating a complex system from scratch, you have hundreds of problems to solve and the amount of data you send over the network is usually not the first one to be tackled. It was no different in CKEditor 5. Donald Knuth once wrote: “Premature optimization is the root of all evil.” Optimizing upfront, before we know that we actually need to, is something that we consciously avoid when building our WYSIWYG editor capable of handling features such as real-time collaboration.
斯坦福教授、Tcl语言发明者John Ousterhout 的著作《A Philosophy of Software Design》，自出版以来，好评如潮。按照IT图书出版的惯例，如果冠名为“实践”，书中内容关注的是某项技术的细节和技巧；冠名为“艺术”，内容可能是记录一件优秀作品的设计过程和经验；而冠名为“哲学”，则是一些通用的原则和方法论，这些原则方法论串起来，能够形成一个体系。正如”知行合一”、“世界是由原子构成的”、“我思故我在”，这些耳熟能详的句子能够一定程度上代表背后的人物和思想。用一句话概括《A Philosophy of Software Design》，软件设计的核心在于降低复杂性。 本篇文章是围绕着“降低复杂性”这个主题展开的，很多重要的结论来源于John Ousterhout，笔者觉得很有共鸣，就做了一些相关话题的延伸、补充了一些实例。虽说是”一般原则“，也不意味着是绝对的真理，整理出来，只是为了引发大家对软件设计的思考。
从网页到应用 - 所经历的前端发展史
互联网公司技术选型三定律 1. 流行即正义 2. 新鲜即正义 3. 复杂即正义。本文分为两个部分：“战略”和“战术”。前者关于为什么以及在什么场景下使用微前端，后者关于采用什么的技术实施微前端。这篇文章里我会反对某些方案，赞成某些方案，仅代表个人意见。开头的“互联网公司技术选型三定律”是我个人总结的，也是我在这篇文章里极力反对的。这三条定律的产生有行业的原因也有程序员职业的原因。三定律的存在导致了某些技术的被曲解和滥用，其中就有微前端。在本文中也会引用这三定律做说明。 if people can’t build monoliths properly, microservices won’t help.
(Why) Some HTML is “optional”
Chris Coyier blogged recently on weird looking HTML. It’s a nice short post and I’d say it’s worth knowing these optional features (potentially known as defaults). My favourite optional is
<script> and not having to include the type attribute. But Chris’ first example is the most common, the optional closing
</p> tag. What (I think) is an interesting question is: why?
Why Go and not Rust?
Go is a better Java / C#, while Rust is not. The clarity that Go can bring to enterprise software development is without a doubt much more valuable than removing garbage collection at the cost of worsening the overall productivity. Rust is a better C++, and even if you occasionally hear that Go is a better C, well, that’s just not the case. No language with a built-in garbage collector and runtime can be considered a C. And don’t be mistaken, Rust is a C++, not a C. If you want a better C, take a look at Zig. 另附：TinyGo - Go compiler for small places.
Unveiling Dark, a New Language and Environment for Backends
Backends are needlessly complicated. Dark is a holistic programming language, editor, and infrastructure for building backends without accidental complexity. Dark’s mission is to democratize coding by making it 100x easier to build software, so the next billion people can code.
The arrival of Java 13!
Five enhancements are delivered with Java 13, inclusive of two preview features: Dynamic CDS Archives, ZGC: Uncommit Unused Memory, Reimplement the Legacy Socket API, Switch Expressions (Preview), Text Blocks (Preview).
IPFS Desktop 0.9 released
IPFS Desktop has come a long way to reach its current form. We are here to celebrate and announce the release of 0.9.0 and share the story of this application and, of course, all the exciting new features.
New Query Language for Graph Databases to Become International Standard
Neo4j, the leader in graph databases, announced today that the international committees that develop the SQL standard have voted to initiate GQL (Graph Query Language) as a new database query language. Now to be codified as the international standard declarative query language for property graphs, GQL represents the culmination of years of effort by Neo4j and the broader database community.
Learning Machine Learning - An online comic from Google Ai
另附：Machine Learning For Front-End Developers With Tensorflow.js、AI-Generated Faces: Free Resource of 100K Faces Without Copyright.
All 245 Entries in The 2019 JS13kGames Competition
React Rainbow Components: Another Suite of React Components
React Rainbow is a collection of components that will reliably help you build your application in a snap. Give it a hack and let us know what you think.
World-class design systems infrastructure.
Kea - Data Layer for React. Powered by Redux.
Think of React as the User Interface (UI) layer of your application. It takes your application’s state and converts it into something the user can interact with. It is exceptionally good at this. React, however, is unopinionated as to where you actually store this state. While it provides some primitives to get you going (think useState), most apps eventually implement a dedicated state management solution. Kea is one such solution. It adds a Data Layer to React’s UI layer and acts as the brain of your application. There is seamless interoperability between both layers as we are standing on the great work done by the react-redux team.
Emittery - Simple and modern async event emitter
Vim-fork focused on extensibility and usability.
Free Online Image Editor
an online image editor using WebGL and CSS transforms
Microsoft’s C++ Standard Library
This is the official repository for Microsoft’s implementation of the C++ Standard Library (also known as the STL), which ships as part of the MSVC toolset and the Visual Studio IDE.
Modern C, Second Edition
A new edition of the book Modern C is now available under a CC license via the following page https://modernc.gforge.inria.fr/ . This edition is the result of a collaboration with Manning, and improves a lot over the previous edition; material has been rewritten and reordered, a lot of graphics have been added.
Pure Bash Bible
A collection of pure bash alternatives to external processes. The goal of this book is to document commonly-known and lesser-known methods of doing various tasks using only built-in bash features. Using the snippets from this bible can help remove unneeded dependencies from scripts and in most cases make them faster. I came across these tips and discovered a few while developing neofetch, pxltrm and other smaller projects
The Pragmatic Programmer, 20th Anniversary Edition
For twenty years, the lessons from The Pragmatic Programmer have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology. This classic title is regularly featured on “Top Ten” lists, and many corporations issue it to their new hires. This new 20th Anniversary Edition offers a fresh look at the modern development landscape, cutting through the “business as usual” and tired advice from the net to help guide you through the next twenty years and beyond. Featuring new tips, new topics, and revisions throughout, you don’t want to miss this one.
Grant for the Web
Grant for the Web is a $100M fund to boost open, fair, and inclusive standards and innovation in web monetization.
Ant Design 1.0 背后的故事：把艺术变成技术
距离 Ant Design 1.0 发布，已经过去整整 3 年有余。还是有很多人对 Ant Design 如何起步、如何成长，保留着浓厚的兴趣。其中，Ant Design 是一个设计体系，而 Ant Designers 是一群人。本文将讲讲 Ant Design 1.0 背后的故事，还原 3-4 年前那些人、那些事。
iOS and iPadOS 13: The MacStories Review
Following years of a judicious union between platforms, it’s time for iPad to embark on its own journey. 另附：How To Prepare Your App For iOS 13.
Mixing UX and Research Science to Make Music
Lessons in design considerations and communication best practices, from two teams that cross-pollinated and built a ML-powered music-making tool.
Sketch 58 — Smart Layout!
This is the most important feature since Symbol Overrides. Finally, you can make Symbols that behave in the same way as its final implementation — everything thanks to Smart Layout. In this story, you will learn what Smart Layout is and what kind of more granular features it includes. I will also show you how to use it in practice.
Level Up – A Guide to Game UI (with Infographic)
Like websites or mobile apps, video games have common UI components that help players navigate, find information, and accomplish goals. From start screens to coin counters, video game UI components are a crucial aspect of playability (a player’s experience of enjoyment and entertainment). To understand how these components impact the gaming experience, we must quickly address two concepts that are vital to video game design: Narrative and The Fourth Wall.
The Internet Relies on People Working for Free
Who should be responsible for maintaining and troubleshooting open-source projects? 另附：5年没有工资收入，他如何支撑世界上最大的免费编程社区？
Raising Prices is Hard
Everyone is faced with the decision to raise prices at some point. It sucks, but in some cases you have to do it. Most companies, especially SaaS businesses, will look at their revenue forecasts, see a dip, run a calculation predicting the difference between the revenue increase and how many customers might leave, and then raise prices if the math looks favorable. Backblaze is not most companies — here’s how we did it. In this post I’ll dive in to our process for how we wanted the price increase to go, why we decided to build the extension program for existing customers, what went in to our communication strategy, and what the reactions were to the price increase, including looking at churn numbers.
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2019-09-23·植物身上的黄金分割、WDVP Gallery 2019、通俄门调查可视化