Ну как минимум подозрительное место стоило бы максимально развернуть на элементарные части (вплоть до разворачивания в forEach). И все-таки обернуть в try-catch и в пошаговом режиме отловить место возникновения exception.
Дмитрий, даже закварцевав можно получить трупик, который просто механически разнесло разными температурными коэффициентами расширения платы и корпусов микросхем, а пайки уже раздолбаны вибрациями... не зря автомотив юзает обжим и сварку проводов, а не пайку...
Но тут боярышник vs инженерный подход - знакомый жеж на драйве похвалился конструкции на монтажке )
Я скорее к повторному входу - если чел зашел и выбрал хинди - многовероятно при повторном входе он захочет видеть тоже хинди...
Естественно возможны ситуации что это у него просто дрогнула рука и визуально должен быть доступен сброс на более популярный/основной язык...
А так - можно принимать исходное автоматическое решение:
- на основе геоданных, но... в Канаде, да и не только - двуязычие, люди пользуются vpn/tor/прокси
- на основе данных о локали хоста, но опять же корпоративный бук может быть с корпоративным по с "неродными" для юзера локалями (или интернет-кафе в труции где за комп сел русский турист... после немецкого, или у меня в русской 10 при песочница запускается с usa-локалью)
- другие варианты - примерно с той же точностью...
Александр Лыкасов, мне тоже. Притом в большей части сред не затрагивая табулированный код я могу отобразить для себя по своему вкусу, вплоть до быстрого переключения при перекидывании между мониторами. А вот кастомизировать под себя "пробелированный" - только изменив его.
Правда кака получится с кодом, который частично писан адептами пробелов, а частично - табов)
Немец, гостящий в Париже - может предпочесть немецкий. Так что после ручного выбора языка может/должен остаться след (куки например), который в след раз стоит учесть при выборе. Ну и в корпоративном секторе нередки ситуации, когда например русскоговорящие сотрудники пользуются брендированными буками централизованной поставки через головную немецкую компанию...
Сергей Горностаев, а на следующем шаге - остановить для переделки на лучшее = грохнуть продажи, плюс консервативность аудитории. Притом второе тоже немаловажно.
А самое главное - юзабилити. Думаю все сталкивались например с отсутствием важных для конкретных категорий товаров фильтров на общеторгашеских сайтах (красненький vs версия hdmi например))
lamer350, это уже частности. Общая суть, что практически любая современная ос умеет динамически конфигурировать буфера (кэш) в зависимости от общего объема свободной памяти. То же самое делают и многие приложения тем или иным образом.
p/s/ ретроспективно: Photoshop 3.0.4 вполне осиливал большие tiff под хорошую полиграфию даже с 4-8Мб ОЗУ... хотя расширение до 16Мб повышало комфорт... Хотя общие расчеты приводили к более серьезным потребностям уровня 4-5 кратного размера развернутого растра (4 краски * 300...600 dpi - можно посчитать)
И да, я не опечатался в единицах измерения - мегабайт (а не не гигабайт памяти))))
Сейчас вот так показывает, в среднем у меня 11 гб занято.
При 32Гб - будет занято 25..28Гб и так будет примерно всегда)
Когда памяти совсем мало - все программы и кэши ужимаются и производительность падает из-за манипуляций со свопом. При увеличении памяти система начинает дышать свободнее. То есть до некоторой точки с увеличением памяти увеличивается производительность (отзывчивость, мягкость работы) системы. Потом рост производительности становится малозаметным - можно считать что достигнут некий оптимум объема памяти.
Но... чуть позже растут аппетиты пользователя (докеры, вирталки, более навороченные IDE) и начинается новый цикл...
С учетом специфики apple - циклов наращивания памяти почти что нет... То есть выкинуть/продать старый бук и купить новый. Посему изначальное приобретение с памятью на "вырост" позволит несколько растянуть срок полезного использования бука)
Проекты бывают разные. Некоторые - достаточно долгоживущие и универсальные.
Вот даже у меня перед глазами есть относительно старые поддерживаемые проекты и их новые дети и внуки... Так вот часть зарекомендовавшей себя кодовой базы обрастает как раз новыми, но и не ампутирует старые. По вполне очевидным причинам.
Да и суть - то исходно была в той самой буковке "s" (TargetFrameworks)
Василий Банников, ну если делается nuget пакет с потугами на библиотечность - то именно так это и выглядит: пара-тройка стандартов, пяток версий фреймворка ну и net5)
К примеру, если заглянуть в пакет модного NewtonSoftJson, то увидим в lib
net20
net35
net40
net45
netstandard1.0
netstandard1.3
netstandard2.0
portable-net40
portable-net45
и, кстати, пока еще не увидим net5.0 )
А вот мультитаржет или же framework-scecific projects - тут уже зависит на какую глубину зарываются в специфику конкретных фреймворков
ettaluni,
- админ/юзер, дай пароль доступа
- не дам, молчание
это как раз противодействие следственным действиям
то есть следователи искали следы тех или иных нарушений на предприятии
сотрудник, который по показаниям других сотрудников (а они покажут), пользовался компьютером [в рамках должностных обязанностей]
ettaluni, если между вами с начальником нет родственных отношений (чтобы сослаться на 51 статью), то могу угадать сходу кто из вас попадет под статью 294 ч3 со сроком до 4 лет))