开发者
编程技术、框架工具、最佳实践
共 6609 篇 · 第 31/331 页
MDN исходный код всего Web.
Я заглянул туда. Там дохуя документации. Дикий геморой мусорки. Бесконечный склад, который вгоняет меня в панику. Но как инструмент это незаменимая часть Web. Я беру нужный мне чертёж и строю то, что мне нужно. window глобальный объект. Подключение к API старого браузера. Это Мозг, который даёт мне инструменты: Скелет HTML: (document) Память Хранилище: (localStorage) Сеть API: подключение к контрактам других серверов для сбора информации (fetch) Но главное, что я заценил это обработчик событий onload. Это и есть чудо архитектуры. Связь CSS, JS, HTML в корневой папке предка HTML. Я скидываю в него свой модуль, и он гарантирует, что всё запустится, когда скелет будет готов.
Весь интернет это мина замедленного действия.
Я разбирал проект Lea Verou. 16 лет назад она создала костыль rgba.php, чтобы старые браузеры, не понимающие CSS-цвета (работающие на графическом дизайне в формате PNG-картинок), могли их отображать через слой старого браузера и новых технологий. Этот слой накладывался на старый браузер по PHP-семантической безликой связи API. Проблему не могут решить до сих пор. Весь Веб работает на этих костылях. Из-за них и появляются всё новые иллюзорные решения, которые с подавляющей сложностью становятся легаси. Даже решение Lea Verou со временем станет легаси для новых проблем бизнес-процессов. Старый браузер не исправить никогда. Если мы поменяем в нём всё то большая часть интернета просто обнулится. Банки, больницы и правительства, пока они на устаревших технологиях, будет вбухана ещё куча денег на создание костылей. Пришло понимание, что не существует идеальной архитектуры и правильного кода. Есть только ответственность в решении поставленных задач. То, что было написано в старых браузерных версиях, на которых мы находимся, останется с нами навсегда. Легаси не умирает. Оно просто покрывается новыми слоями костылей-решений. Инкапсуляция слоёв это не про чистый код. Это про то, как изолировать этот вечный хаос, чтобы наши проекты не перестали работать от чужого прошлого. Создание костылей — золотое время гениев. Архитекторы не строят идеальные замки. Они строят крепости, способные выдержать время.
Boeing says it will be ready to fund new plane programme by 2030
We want Texans to know their rights
The Control Group Is Out of Control (2014)
Biggest Probabilistic Computer Turns Noise into Answers
Fayetteville officers fired for misusing license plate system
How to Abandon Your Climate Commitments and Get Away with It
Show HN: ShipMD.app – Moving things in folders, move things in the real world
This unpronounceable series of glyphs is an incredible side project from Kieran Hebden (aka Four Tet)
Just why? ʅ͡͡͡͡͡͡͡͡͡͡͡(̸̢̛̼̞̭͋ͅ)̸͚̰͛̔̾̀̿͒͂:̴͓̞̑̌̂̆̊͋̀:̸͎̟̯̂̓̌ ҉ ͡ ͞ ͞ ͞ ҉● ࿀ ● ࿀ ● ҉⃝ ⃝͢ ͞ ͘ ͞⃝̕ ͢ ̛ ⃝ ̸ ̡ ͢⃝̧ ͡ ͡ ̀ ̧ ̢⃝͜ ҉ ͞ ͞ ⃝͞ ͞ ͡⃝ ⃝҉҈҉҈҉҈҉҈҉҈҉ :̶̢͙͙͕̠̩͆(̷̮͍͚̫͚͂̍)̵̳̗̊( ̟̞̝̜̙̘̗̖҉̵̴̨̧̢̡̼̻̺̹̳̲̱̰̯̮̭̬̫̪̩̦̥ What am I supposed to do with this? It's un-Googleable. Unpronounceable. It doesn't even render the same way on various platforms. It looks one way on YouTube Music. Another on Apple Music. And yet another on Bandcamp. Even the artist name ⣎⡇ꉺლ༽இ•̛)ྀ◞ […]
I've Spent 10+ Years in Software Engineering. After Sickness, Burnout, and a Layoff, I'm Rebuilding My Career. Ask Me Anything
Hi, I'm Cesar, a Senior Software Engineer with 10+ years of experience. In 2023, I got sick and...
A new Intel Itanium (IA-64) emulator that boots Windows
Why It's So Hard to Add a Column in the Middle of a PostgreSQL Table
Eric Schmidt tried to convert Google to Java
Modder Runs GTA III Inside GTA: San Andreas on an In-Game TV
Orion Browser by Kagi
FIFA World Cup Triggers a Global Anti-Piracy Crackdown
HomeLab #1: MikroTik as a Home Router
Error Analysis
To learn how to analyze an error, we are going to use the error below as an example: nx run mobile : android ✔ 7 / 7 dependent project tasks succeeded [ 6 read from cache ] Hint : you can run the command with -- verbose to see the full dependent project outputs ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— > nx run mobile : android > npx expo run : android › Opening emulator Medium_Phone › Building app ... Starting a Gradle Daemon ( subsequent builds will be faster ) Configuration on demand is an incubating feature . > Configure project : [ ExpoRootProject ] Using the following versions : - buildTools : 36.0 . 0 - minSdk : 24 - compileSdk : 36 - targetSdk : 36 - ndk : 27.1 . 12297006 - kotlin : 2.1 . 20 - ksp : 2.1 . 20 - 2.0 . 1 > Configure project : app ℹ️ Applying gradle plugin ' expo-max-sdk-override-plugin ' [ expo - max - sdk - override - plugin ] This plugin will find all permissions declared with `android:maxSdkVersion` . If there exists a declaration with the `android:maxSdkVer sion` annotation and another one without , the plugin will remove the annotation from the final merged manifest . In order to see a log with the changes run a clean build of the app . ℹ️ Applying gradle plugin ' expo-dev-launcher-gradle-plugin ' > Configure project : react - native - firebase_app : react - native - firebase_app package . json found at / home / user / projects / my - app / node_modules / @ react - native - firebase / app / package . json : react - native - firebase_app : firebase . bom using default value : 34.10 . 0 dencies of : app : debugRuntimeClasspath > : react - native - firebas : react - native - firebase_app : play . play - services - auth using default value : 21.5 . 0 : react - native - firebase_app package . json found at / home / user / projects / my - app / node_modules / @ react - native - firebase / app / package . json : react - native - firebase_app : version set from