TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #168 · 16.01

Неделю назад в мире опенсорс разработки произошло интересное событие. Опенсорс — это когда разработчик пишет программу (как правило, эта программа нужна для работы других программ) и выкладывает её в общий доступ на полностью свободных началах. В большинстве случаев после этого кто угодно может делать с этой программой абсолютно что угодно: копировать, изменять, продавать решения на её основе за деньги и так далее. Иногда то, что пишут такие разработчики-волонтёры, оказывается невероятно удобно и полезно. Настолько, что гигантские корпорации используют это у себя. А кроме них — ещё десятки тысяч проектов по всему миру. Такое использование называется «зависимость», и оно создаёт связь между автором опенсорс-проекта и тем, кто взял его труд. Связь обычно такая: в моей программе где-то указано, что вот этот вот код взят по такому-то адресу у опенсорс разработчика Васи. Моя программа иногда может на этот адрес заглядывать и смотреть, а не внёс ли Вася чего нового. Вдруг он улучшил работу и исправил ошибки — тогда я скачаю новую версию его программы и установлю её у себя. Формально для такого обновления должны существовать ограничения. По факту человеческая лень и негласный этикет среди разработчиков приводят к тому, что обновления ставят не глядя. Считается, что Вася будет выкладывать только улучшенную и проверенную новую версию своей программы, ведь за ним наблюдает миллион других разработчиков. Пацаны во дворе не поймут, если Вася сделает что-то неаккуратно. Один из разработчиков по имени Marak Squires написал некоторое время назад две очень полезные программные библиотеки. Как раз такие, которые скачали десятки тысяч людей, в том числе в крупных корпорациях, и использовали у себя. В прошлом году этот разработчик написал что-то вроде: «Эй, корпорации, вы берёте мой труд бесплатно. Конечно, я его раздал бесплатно, но вы чёртовы капиталистические гиганты, и у вас миллиарды баксов, а я вам сэкономил миллионы баксов на разработке. Я жду от вас чек на почту в благодарность». Конечно, всем было пофигу. А неделю назад этот разработчик внёс в свои библиотеки деструктивное обновление, которое сделало программы, установившие его, неработоспособными, и вывело на экран «LIBERTY LIBERTY LIBERTY». Это обновление положило кучу проектов, в том числе у гигантов-корпораций. Поднялась буря. Одна часть интернета заявила, что разработчик никому ничего не должен, поэтому волен делать со своим кодом всё, что хочет. Вторая часть претендовала на то, что совершённый им поступок это вандализм и осознанный вред другим разработчикам. Дров в огонь подкинуло то, что GitHub, на котором размещался код этого разработчика, заблокировал его аккаунт. А система хранения пакетов NPM откатила изменения до предыдущих версий. Хотя формально никаких законов он не нарушал: компании брали его код по собственной воле, а он ничего никому не гарантировал. ___________________________ Я не готов назвать здесь однозначно правую сторону. Пока выглядит, как «Все мудаки». Но на мой взгляд это показательный пример вот чего: никакие формальные правила никогда не покроют всё многообразие человеческих взаимоотношений, и поэтому личностный аспект тоже важен. Даже если нет закона или правила, по которому вы что-то должны, есть смысл стараться действовать созидательно и стремиться, хотя бы частично, к всеобщему благу, а не только к личному. Особенно в ситуации, когда у тебя в руках сосредоточена та или иная власть. Корпорации действительно могли бы найти способ отблагодарить разработчика (и вообще — всех разработчиков, чей код они бесплатно берут в таких масштабах). Просто из чувства благодарности, а не потому, что должны. Разработчик мог бы просто закрыть проект и не стараться нанести урон. Просто из чувства неприятия всего деструктивного. Это, конечно, идеализированный мир розовых пони, но сила и власть это как раз способность двигать границы реальности. #dev

Hashtags

Резултати

Намерени 261 подобни публикации

Търсене: #js

当前筛选 #js清除筛选
sjshb57-盘

@sjshb_2157 · Post #748 · 24.03.2025 г., 14:18

阅读替换规则: #01 数字标题 #JS 特点: 1. 整体优化 2. 添加详细注释 3. 对零,〇;二, 两数字,映射为 0,2 4. 对类似 [第二百一十五章,第二百十五章] 进行修复,返回为第 215 章,防止出现返回章节错误的情况 5. 添加 [章节 标题],之中的空格 6. 标题后如果出现句号 [例如: 标题。] 进行移除,其他符号不受影响 7. 根据原标题,返回 [章节回集卷部篇]

Hashtags

JS Organization

@jsorganization · Post #221 · 07.04.2024 г., 18:45

💥SET Time RESTRICTION To Run Command BJS 🎃 🍏 Command:YOUR COMMAND NAME BJS- // Function to get Bangladesh time function getBangladeshTime() { var now = new Date(); var options = { timeZone: 'Asia/Dhaka', hour12: true, hour: 'numeric', minute: 'numeric', second: 'numeric' }; return now.toLocaleString('en-US', options); } // Function to check if the current time is within the allowed time range (12:00 AM to 6:00 AM Bangladesh time) function isRestricted() { var now = new Date(); var bdTime = new Date(now.toLocaleString('en-US', { timeZone: 'Asia/Dhaka' })); var currentHour = bdTime.getHours(); return currentHour >= 0 && currentHour < 6; // Returns true if it's between 12:00 AM and 6:00 AM Bangladesh time } // If it's restricted, inform the user and return without executing the command if (isRestricted()) { informRestrictedTime(); } else { // If it's not restricted, proceed with the command execution YOUR ALL CODE IS HERE } // Function to inform the user about restriction time function informRestrictedTime() { var remainingTime = getRemainingTime(); Bot.sendMessage("*👋 Hey " + user.first_name + "\nIt is Bed Time 🛏️\nSo You Cannot Use This Command From 12:00 AM To 6:00 AM in Bangladesh Time\nNow Bangladesh Time: " + getBangladeshTime() + " 🇧🇩\n━━━━━━━━•❅•°•❈•°•❅•━━━━━━━━\n⌛ Please Come Back After\n " + remainingTime + "\n━━━━━━━━•❅•°•❈•°•❅•━━━━━━━━\nIf you need it urgently, message @itsSowrov!*"); Bot.runCommand("main_menu"); } // Function to get the remaining time until the command can be executed again function getRemainingTime() { var now = new Date(); var bdTime = new Date(now.toLocaleString('en-US', { timeZone: 'Asia/Dhaka' })); var currentHour = bdTime.getHours(); if (currentHour < 6) { var remainingHours = 6 - currentHour; var remainingMinutes = 60 - bdTime.getMinutes(); var remainingSeconds = 60 - bdTime.getSeconds(); return remainingHours + " hours, " + remainingMinutes + " minutes, " + remainingSeconds + " seconds"; } else { return "Come back later"; } } Copy and paste it where you set time restrictions for your command. Keep the first and last part of the code intact, and insert your main code in between or middle of this code. That's it! Then user cant use this commamd during the restricted time, set from 12:00 PM to 6:00 AM Bangladesh time. You can adjust the timing as needed. © Copyright : @JSOrganization ❓ Question/Error : @itsSowrov ⚙️#JS

Hashtags

Android Broadcast

@android_broadcast · Post #9295 · 03.07.2025 г., 08:41

🚀 Вышел стабильный JavaScript движок от Google для Android Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде. class MainActivity : ComponentActivity() { // Теперь nullable, без lateinit private var jsSandbox: JavaScriptSandbox? = null private var jsIsolate: JavaScriptIsolate? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (!JavaScriptSandbox.isSupported()) { Log.e("JS", "JavaScriptSandbox не поддерживается") return } lifecycleScope.launch { // Создаём и сохраняем в nullable-поле jsSandbox = JavaScriptSandbox .createConnectedInstanceAsync(applicationContext) .await() jsIsolate = jsSandbox?.createIsolate() // При выполнении гарантируем, что jsIsolate != null val result: String = jsIsolate ?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING) ?.await() ?: "Ошибка: isolate не инициализирован" Log.d("JS", "Результат выполнения: $result") } } override fun onDestroy() { super.onDestroy() // Закрываем только если не null jsIsolate?.close() jsSandbox?.close() } } #jetpack#js

Hashtags

123•••10•••202122
ПредишнаСтр. 1 от 22Следваща