Цю статтю мав опублікувати в лютому 2022 року. Але плани зламані, життя пішло шкереберть. З тих часів змінилось все, включаючи те що BBC відмовився від кастомних технологій в інфраструктурі, надавши перевагу спрощенню найму. А мій шлях завів від IT до розвитку власного виробництва електроніки.
Тим не менше, цей матеріал може бути корисним DevOps-ам, QA лідам, архітекторам інфраструктури і тим хто не байдужий до перформенсу розробки та якості продукту для користувачів. Тому годі вкриватись тексту пилом. Стаття побудована наступним чином: спочатку технічний хардкор без прив'язки до технологій, потім пояснення чому так та які переваги це дає.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <string.h> | |
| #include <sys/types.h> | |
| typedef uintptr_t ngx_uint_t; | |
| #define ngx_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20) : c) | |
| #define ngx_hash(key, c) ((ngx_uint_t) key * 31 + c) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Crossfire High Level Analyzer (CRSF-HLA) | |
| # Copyright 2022, Max Gröning | |
| # SPDX-License-Identifier: Apache-2.0 | |
| import enum | |
| from saleae.analyzers import HighLevelAnalyzer, AnalyzerFrame, StringSetting, NumberSetting, ChoicesSetting | |
| class Hla(HighLevelAnalyzer): | |
| # List of types this analyzer produces | |
| result_types = { |
OlderNewer