Yuuniworks Study Notes

website·Indexed 32 days ago

https://note.yuuniworks.com/about

A collection of technical study notes and reference guides covering a wide range of technologies including Vue.js, React, Rust, TypeScript, PHP, Python, and Ruby. The documentation includes specific guides on state management (Vuex, Redux Toolkit, Redux Saga), framework ecosystems (Nuxt, Next.js), database tools (Prisma, MongoDB, PostgreSQL), and development tools like Terraform, Playwright, and Vim.

Tokens
293.6K
Snippets
1.1K
Records
2.1K
Agent score
52%

What's inside Yuuniworks Study Notes

  1. Overview of DNS Privacy and Encryption Technologies

    Several technologies aim to improve DNS privacy and prevent interception:

    • DNS over HTTPS/TLS/QUIC: Encrypts communication between the client and the recursive resolver to prevent tampering and eavesdropping.
    • Oblivious DNS over HTTPS (ODoH): Adds a proxy between the client and the resolver to hide the client's IP address.
    • Encrypted SNI (ENSI) / Encrypted Client Hello (ECH): Encrypts the Server Name Indication (SNI) field in the TLS handshake, which previously leaked the destination domain name in plaintext.
  2. Introduction to gRPC and Protocol Buffers

    gRPC is an open-source RPC (Remote Procedure Call) framework designed for high performance, utilizing HTTP/2 for efficiency and streaming. It uses Protocol Buffers as its Interface Definition Language (IDL) to define services, methods, and messages, which are then used to automatically generate API clients (stubs).

    Key Components:

    • Protocol Buffers: Handles interface definition and the serialization/deserialization of data, removing the need to worry about the specific programming languages used by the client and server.
    • protoc: The compiler used to generate code from the IDL definitions.
    • Interceptors: Middleware used to easily implement logging, authentication, and distributed tracing.
  3. Introduction to React Hooks

    Hooks, introduced in React 16.8, allow you to use state and other React features (such as lifecycle methods) in function components. They provide a way to "hook into" React state and lifecycle methods without writing a class. This solves several problems associated with class components, such as "wrapper hell" caused by render props and HOCs, the inability to separate stateful logic from components, and the complexity of the JavaScript this keyword.
  4. Overview of Redux-Saga features and benefits

    Redux-Saga is a middleware library for Redux that uses ES6 Generators to simplify asynchronous side-effect management. It allows developers to handle complex async flows (like parallel execution, racing, and cancellation) in a way that is readable, maintainable, and easy to test. Unlike redux-thunk, which puts logic in Action Creators, Redux-Saga separates the logic into 'Saga' components.
  5. Overview of Japanese Social Insurance (Shakai Hoken)

    Social insurance is mandatory public insurance. It is categorized into two scopes:

    • Narrow Sense: Includes Medical Insurance, Pension Insurance, and Long-term Care Insurance.
    • Broad Sense: Includes the above plus Workers' Accident Compensation Insurance (労災保険) and Employment Insurance (雇用保険).
  6. Overview of AWS Systems Manager

    AWS Systems Manager is a service for server management. It provides capabilities for information gathering, remote operation, patch application, and maintenance processing. It supports servers in other clouds, on-premises servers, and IoT devices.
  7. Overview of Bun runtime and toolchain

    Bun is a fast JavaScript runtime designed as a drop-in replacement for Node.js, aiming to provide compatibility with Node.js and Jest while incorporating features from Deno. It bundles a package manager, test runner, bundler, and TypeScript transpiler, eliminating the need for external tools like npm, yarn, jest, webpack, esbuild, or babel.
  8. Utilize infographics for information design

    Use infographics (Information + Graphics) to communicate complex data visually. Common types include:

    • Maps and Route maps
    • Charts (composed of points, lines, and planes)
    • Tables and Graphs
    • Pictograms and Signs
    • Manga-style expressions
  9. Design a monitoring dashboard for product health

    When designing monitoring dashboards, aim for one dashboard per product. The layout should be organized into layers to facilitate quick status checks and rapid root-cause analysis:

    1. Overview Layer: High-level health indicators (e.g., Green for OK, Red for Error). Include resource metrics (CPU, memory, request/error counts) and product-specific success rates (e.g., login or payment success rates).
    2. Critical Metrics Layer: Detailed metrics to isolate problems during outages. Include concurrent user counts, application error counts, message queue status, DB load/connection counts, average response times, and batch job success/failure.
    3. Non-Critical Metrics Layer: A collection of all other supporting metrics.
  10. Manage multiple AWS accounts with AWS Organizations

    AWS Organizations allows for centralized management of multiple AWS accounts to ensure organizational control. It enables the use of Organizational Units (OUs) to group accounts, policy-based control (permissions, backups, tags), and consolidated billing.

    Key concepts:

    • Management Account: The parent account that manages the organization.
    • Member Account: The child accounts under management.

    Separating accounts allows for the isolation of access permissions, security, costs, and service quotas. It is recommended to separate accounts by purpose (system type/workload) and stage (Production vs. Development).

    Example account structure:

    • System A Production Account
    • System A Development Account
    • System B Production Account
    • System B Development Account
    • Personal Sandbox Account

    When designing OUs, use units that are unlikely to change rather than mirroring a corporate org chart. A common best practice is to set the top level as the workload and the second level as the environment (Prod/Dev), though this can be adjusted based on specific security and operational needs.

  11. Understand the core principles of Growth Hacking

    Growth hacking is a method of promoting growth that crosses the boundaries between product manufacturing and marketing. Its primary characteristics are building growth mechanisms directly into the product and making decisions based on data. A key mindset for early-stage growth is to focus on expanding the user base ('making the cup larger') before attempting fine-tuned optimization (such as A/B testing), as optimization is ineffective with a small number of users.
  12. Evaluate refactoring from a Product Management perspective

    Product Managers should evaluate refactoring based on Value, Risk, and Speed, while considering the Product Lifecycle (Introduction, Growth, Maturity, Decline).

    • Value: External (UX, reliability) and Internal (ease of understanding/change).
    • Risk: External (churn due to bugs, loss of trust) and Internal (slowdown in development, silos, low motivation).
    • Speed: External (fast delivery of value) and Internal (efficiency, throughput, ease of adding features).

    Refactoring is not a binary 'yes/no' but a gradient of 'when' and 'how much'. Additionally, PdMs should perform 'Product Refactoring' by removing unnecessary features.