• Домен покупают или арендуют?

    hint000
    @hint000
    у админа три руки
    получается в реестре доменных имен уже сгенерированы вообще все доменные имена и мы арендуем ранее сгенерированное имя?
    Это нужно выяснять у древнегреческого философа Платона, существует ли каждая идея в мире идей ещё до того, как она пришла кому-то в голову (или была сгенерирована). В нашем материальном мире невозможно сгенерировать счётное множество имён, потому что для этого потребовалось бы бесконечно много времени и бесконечно много памяти.

    Домен покупают или арендуют?
    Ни то, ни другое. Его регистрируют. Регистрация домена - это услуга, а не товар.
    Ответ написан
    1 комментарий
  • Реально ли заменить gulp на vite?

    bingo347
    @bingo347
    Crazy on performance...
    Есть сборщик gulp
    То что под gulp есть сборщики не делает сам gulp сборщиком. Gulp - task runner, запускалка задач. То есть сборщик под капотом может быть любой, хоть тот же vite.
    Теперь про vite, основная его фишка - это ускорение dev сборок и за счет этого ускорение самого процесса разработки. Достигает он это за счет того, что по сути не собирает Ваши исходники, а только применяет к ним трансформации, хотя зависимости все же собирает с помощью esbuild. При этом для прода вся сборка переадресуется на rollup. И то что в dev и в prod у Вас будут по сути разные сборщики изредка приводит к багам, которые воспроизводятся только в prod сборках. Rollup надо сказать тоже не идеален и на больших проектах порой ломает код, хоть и редко.
    Тут мое ИМХО и не более
    Rollup для сборки библиотек.
    Webpack для сборки конечных приложений.
    Vite интересен скорее интегрированным в него vitest, который позволяет писать unit тесты ближе к логике (привык я к хорошему в Rust).

    А по факту, смена сборщика чревата ошибками, сильными изменениями в структуре проекта и прочими подводными камнями.
    Если вопрос "стоит ли переезжать" появился только из hype-driven-development (погоней за модой по-простому), то ответ однозначный - нет, не стоит.
    Если же текущая сборка накладывает на Вас сильные ограничения и борьба с этими ограничениями занимает очень много времени, настолько, что потенциальные проблемы от смены сборки скорее всего займут времени меньше, то да, стоит переезжать.
    Ответ написан
    1 комментарий
  • Как работает Monitor с блокировкой потоков?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    а чем вам Task.ContinueWith не подходит ? так же в отдельном потоке по событию, например, можно запускать цепочку Task`ов.
    Ответ написан
    Комментировать
  • Где можно прочитать про всю суть ЯПов под капотом?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    5d66774c767f2234030678.png
    Ответ написан
    Комментировать
  • Где можно прочитать про всю суть ЯПов под капотом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Литералы это сокращения названия объектов

    Впервые такое слышу. Возможно фраза вырвана из контекста.

    Вот литералы. Текстовый
    "Hello"
    Вещественное число
    3.14

    Что такое ключевые слвоа

    Это зарезервированные слова которые являются частью синтаксиса языка.
    Например.
    class, interface, override, trait, extends, case ....

    Из них нельзя делать имена переменных и их нельзя использовать
    в спорных контекстах когда неизвестно что имеется в виду (ключевое слово
    или то что ты хотел объявить).

    Говорить о них обобщенно нет смысла потому что в каждом языке - свои такие слова.
    Бери конкретный язык и по нему смотри.

    Отличие выражений от инструкциий


    По выражению я тебя адресую вот в эту статью https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%80%D...

    Здесь очень хорошо описано. Насчет инструкции - непонятно. Опять-же ты получаеться полез
    в терминологический спор без контекста. Так не бывает. Вот чтоб ты понял. Если собрались
    математики и начинают что-то обсуждать то самое первое что они делают - это договариваются.
    Какие у нас будут символы что обозначать. Комплексные числа? Кольца? Алгебры и т.п.
    Потому что инструкция в ассемблере - это одно а в другом - вообще другое. И если я попробую
    обсуждать инструкии без понимания где я нахожусь - я буду смешно выглять.

    ООП - это самая злая и безпощадная тема которая морочит головы новичкам. И начинать изучать
    ООП надо уже на 3 курсе когда вы уже прошли структурное, логическое и все прочее программирование.
    Когда вы уже понимаете теорию алгоритмов - и знаете что такое указатель на функцию. Знаете
    что такое типизация и каких видов она бывает.

    ООП - это софистика и схоластика современного айти и не дай бох вам попасть на собеседование
    с такой подготовкой как щас. Поэтому если вы просто хотите проникнуться с духом ООП - изучите его
    реализацию в одном языке. Например в C#. На примерах с кошкой собакой и с волком. И этого будет достаточно.
    Больше для бизнес-программирования от ООП не требуется.
    Ответ написан
  • Что делать, если при запуске программы в командную строку ничего не вывелось?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Поправьте если ошибаюсь, но вы ведь сами указываете, что password - содержит null сразу же делаете бесконечный цикл, условием выполняется пока password равняется 123.

    String password = "null";
    loop1:
    for (; password.equals("123");)
    Ответ написан
    1 комментарий
  • Что делать, если при запуске программы в командную строку ничего не вывелось?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    for (; password.equals("123");) { // always false
    Ответ написан
    Комментировать
  • Какие есть хорошие курсы по С#(платные/бесплатные)?

    @daMpoff
    Если интересно посмотреть видео,то вот хороший канал https://www.youtube.com/@SimpleCodeIT
    Ответ написан
    Комментировать
  • Как определить, где запущен код python - в PyCharm или в Google Colab?

    Maksim_64
    @Maksim_64
    Data Analyst
    from tqdm.auto import tqdm
    И все для терминала будет обычное, а для notebook'a специальное.
    Ответ написан
    2 комментария
  • (Вопрос без однозначного ответа) Почему в window socket 2 используется так много различных дефайнов и псевдонимов?

    @Wexter
    Какой смысл задавать вопросы к причинам существования древнего легаси? Написал когда-то студент за миску риса, с тех пор и кочует для обратной совместимости
    Ответ написан
    Комментировать
  • Какие есть примеры построения большой организационной структуры?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Почти в 100℅ случаев такие данные хранятся в LDAP.
    Ответ написан
    1 комментарий
  • Из каких соображений знак @ и. резолвятся в нечто другое?

    ValdikSS
    @ValdikSS
    Что это и для чего?
    Для анти-спама, чтобы адреса емейл не собирали автоматически в базы.
    Ответ написан
    Комментировать
  • Можно ли припаять флешку к флешке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сама идея объединения USB устройств в хабы - заложена в протокол. Благодаря ему и существуют всякие портативные разветвители для ноутбуков. Тоесть 1 слот и там ... до хрена устройств подключить. Это
    как TCP сеть в миниатюре. Вообще после всяких COM/LPT слотов USB шина была прорывом. Размножение
    устройств например на SCSI кабеле было реализовано за счет электрических свойств самого кабеля.
    USB после этого конечно верх удобства.

    По поводу припаять. Скорее всего не получиться. Дело в то что флешка это не кусок памяти. Это
    вполне себе умное и завершенное устройство со своим контроллером и со своими зашитыми
    от производителя возможностями. И это умное устройство паять тоже нужно по умному.

    А так можно попробовать просто вставить 2 флешки в хаб и как-то объединить их в один логический
    volume средствами ОС Linux например. Правда надежность такого волума будет падать.
    Если какое-то устроство отъезжает от случайного шатания слота - то весь диск будет развален.
    Ответ написан
    Комментировать
  • Можно ли припаять флешку к флешке?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Нет, но можно по цене банки пива купить флешку на 64 ГБ
    Ответ написан
    Комментировать
  • Нужен ли отдельный linux user для сайта?

    neuotq
    @neuotq
    Прокрастинация
    Практик очень много, тут лучше идти в сторону лучших практик от devops, это большая тема, но полезная.

    Но если упрощенно и по старинке и быстро.
    1. Доступ на сервер только по ssh ключам, никаких паролей.
    2. Отдельный момент по sudo
    2.1 Для пользователя админа в целом оставляем запрос пароля на sudo
    2.2 Для сервисных аккаунтов(условные www-data и компашка,которые для служб, сервисов, автоматика того же ларавел) делаем sudo без пароля для избранных команд/программ. Таким образом автоматизация будет работать сама, независимо и стабильно.
    3. Бонус пункт. Подумать о переходе на докер контейнеры на сервере, многие штуки упрощаются. Можно начать с интеграции того же laradock как самый быстрый и лёгкий старт.
    PS почему rsync? Почему хотя бы не скрипты которые фетчат гит репо. rsync для некоторых сценариев бекапа еще понятно, но для деплоя кода ну не знаю. Более прозрачная схема через гит и билд на сервере. В крайнем случае в тот же гит можно и сбилженные релизы добавлять и их разворачивать на сервере.
    Ответ написан
  • Kubernetes, десятки configmap и как это готовить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут читается не техническая а организационная проблема.

    Не очень понятно но попробую дать совет.

    Вот ты говоришь что требуется в 10 конфигах сделать изменения.
    Какие? Они - взаимосвязаны? - Это должен быть 1 коммит в git.
    Эти все изменения должны быть просмотрены глазами хотя-бы несколькими людьми.
    Если цена изменения дорого стоит (инфраструктура) то по любому должна
    быть бригада девопсов. Они - страхуют друг друга от случайной ошибки.
    Если ты будешь брать на себя падения датацентров - то очень скоро
    станешь пациентом кардиолога. Бери коллег для подстраховки.

    Константы и зависимости - надо объявлять отдельно. Чтоб если меняется hostname
    или имя свойства - то это должно быть ровно одно изменение. Как поддержать
    константы в конфигах - я щас не помню но была куча всяких штук... толи Puppet
    толи Ansible вобщем поищи сам. Я думаю таких много конфигураторов.

    Когда несколько environments то на проекте создается просто несколько фолдеров типа
    /dev
    /qa
    /uat

    и в каждом фолдере лежит полностью сконфигурированная и оттестированная
    копия всех конфигов. Переключение между env тоже должны происходит
    изменением ровно 1 свойства.

    Если внутри конфигов есть некая базовая конфигурация которая очень похожа
    (прототип) то сделайте аналог COC (Convention Over Configuration). Пускай
    прототип будет всегда. А наследники dev, qa, uat будут просто изменять
    дельту. Пароль поменялся - в конфиге-наследнике - лежит ровно 1 строчка с паролем.
    Других строк - не надо. Потому что они наследуются от прототипа.

    Как технически реализовать COC - я не скажу. Это надо обсуждать. Я это делал
    на Java проектах но это как-бы идея "на подумать". На проектах у меня были
    *.properis файлы и эту конвенцию было реализовать несложно. С ЯМЛ ами я не делал.
    Ну думаю что это возможно. Почему нет?
    Ответ написан
    2 комментария
  • Как работают драйвера на Android?

    @rPman
    Бинарные блобы.

    Подавляющее большинство производителей смартфонов, планшетников, SmartTV и вообще всего многообразия IoT из мира arm, в нарушение GNU лицензий и здравого смысла не предоставляют никаких драйверов, инструкций и не оказывают содействия сообществу (некоторые только на него и надеются, т.е. вот вам говно, пилите, работайте бесплатно, а мы с продаж железа будем получать бабло, не потратив ни копейки на софт, потом всех кинем). Чаще всего производитель однократно под конкретную версию ядра, пилит рабочую конфигурацию (не только модули но и фактически весь образ android), затем выкидывает все исходники в мусорку и забывает про то что это существует.

    Все существующие кастомные прошивки берут существующие образы android, иногда с соседних совместимых устройств, и тусуют содержимое, в некоторых комбинациях это работает.

    Нормальный linux в подавляющем большинстве случаев установить не получится. В лучшем случае, если заработает, не будет доступа ни к радиомодулю (включая wifi и модем) ни к тачскрину ни даже к видеоускорителю (максимум в режиме framebufer)

    p.s. В некоторых случаях, если у какого-то любопытного хакера, оказывается интересное ему устройство, он может отреверсить работу оборудования и запилить свой драйвер, если повезет, этот код попадает в мейнстрим linux и тогда его поддержкой займется уже не только сообщество (энтузиасты) но и финансово заинтересованные компании.
    Ответ написан
    2 комментария
  • "прикладной код Java" - это что?

    @Dementor
    программист, архитектор, аналитик
    заменить на “прикладной код движка Java” будет корректно?

    Нет. "Движок Java" - это JVM, а "прикладной код" тут это просто код (логика), который решает прикладную задачу.
    Ответ написан
    Комментировать
  • Почему выражение (-1ll) в ассемблерном коде MSVC равно ff ff ff ff?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Уловка в системе процессорных комманд: 48 c7 45 08 - позволяет загрузить в 64-битную ячейку памяти 32 битное число, автоматически расширяя его до 64 бит.

    Смотрите список кодов x64:
    0x48 - означает, что следующая комманда работает с 64-битами.
    0xC7 - mov immediate (данные в команде)
    Дальше идут флаги, указывающие как интерпретировать аргументы, что куда адресовывать и т.д.

    Но важно, что команда C7 работает с r/m16/32/64 данными, а аргумент у нее может быть только imm16/32 (третий столбец). Т.е. она принимает или 2 или 4 байта, в зависимости от обвеса, а записывать может до 64 бит. Сравните это с коммандой 0xB8 в той же таблице, она уже может принимать 64 бита.

    Если аргумент меньше ячейки памяти, то он расширяется (sign extended) до нужного размера (бит знака копируется влево до упора). Это позволяет записать числено равное значение в более битную ячейку. ведь 32-битное число 0xFFFFFFFF - это -1 в дополнительном бинарном коде, а 0xFFFFFFFFFFFFFFFF - это тоже -1 в дополнительном 64-битном коде.

    Компилятор использует вот эту команду, а не 0xB8, потому что сама команда короче, а исполняется так же быстро. Меньше кода, больше всего помещается в кеш и все работает быстрее, да и exe-шник меньше получается.
    Ответ написан
    2 комментария
  • Как заменить мышь, и установить чувствительность как было раньше?

    Griboks
    @Griboks
    Никак. Любой способ потребует от вас подбора.

    Попробуйте провести мышкой вдоль коврика от начала до конца. Заметьте пройденное курсором расстояние. Настройте чувствительность так, чтобы эти расстояния совпадали.

    С другой стороны, вы можете подстроить чувствительность так, чтобы делать ровно один разворот одним движением в каком-нибудь cs.

    Но в любом случае вам потребуется тем или иным способом подбирать параметры, потому что кроме dpi и чувствительности влияют ещё размеры, обхват, трение. А ещё есть отдельная чувствительность при малых движениях (когда вы целитесь по пткселям).
    Ответ написан
    Комментировать