• Как клонировать приватный проект с GitHub на свой VPS?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    • На сервере создаете SSH ключ пользователю, под которым необходимо клонировать репозиторий
    • В настройках репозитория в разделе развертывания добавляете этот ключ
    Ответ написан
  • Hdd на всю жизнь?

    @asmelnik
    Считаем, что "жесткий диск" -- некий достаточно жесткий носитель оцифрованных данных.
    Тогда пожалуйста
    evm-2.jpg
    Металлическая перфокарта.
    Изготавливалась из алюминия. Может быть изготовлена из любого металла, например меди или золота.
    Процесс переноса на перфокарту данных известен, устройство считывания довольно простое и может быть изготовлено самостоятельно, срок хранения -- медные изделия в археологических музеях датируются медным веком :), а золотые самородки говорят о гарантии в пару миллионов лет.
    Т.к. любые данные на компьютере - всего лишь 0 или 1 + протокол преобразования, то получаете жесткий диск с временем хранения в более-менее подходящих условиях несколько десятков тысяч лет.
    Ответ написан
    Комментировать
  • Hdd на всю жизнь?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Не может.
    - В том числе не могут сохраниться данные (размагнитятся).
    - Если это SSD - тоже не могут (заряд утечет из ячеек, но появится посторонний от окружающей радиации).
    - В том числе выйдет из строя механика (или от работы, или от лежания - "прикипит").
    - В том числе окислятся и потеряют рабочие свойства электрические элементы (изоляция, пластик, дорожки, токоведущие кабели головки станут хрупкими).

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

    Посмотрите пример на практике - Вояджеры. Почти 40 лет, и уже куча проблем. И они намного проще современной техники и разработаны с запасом надежности, и там нет диска...
    Ответ написан
    Комментировать
  • Hdd на всю жизнь?

    При условии, что его никогда не будут доставать из коробки.

    В принципе самый первый жесткий диск появился 60 лет назад. Самый первый 3.5" - 40 лет назад.

    Если нужно 80 лет на горячую хранить - делай резервирование, бэкапы, периодически проверяй целостность и обновляй железо по мере износа.

    Если нужно 80+ лет холодного хранения, то используй другие технологии: магнитную ленту, стеклянные диски, бумагу.
    Ответ написан
    Комментировать
  • Почему при создании объединенного типа из нескольких в условии не работает условие или?

    Col | ColWithMain работает взаимоисключающе. Вы определяете тип но полю type. Почитайте https://habr.com/ru/articles/778060/.
    Ответ написан
    Комментировать
  • Почему javascript не хочет читать функции?

    IvanU7n
    @IvanU7n
    nothing interesting here
    потому что querySelectorAll() возвращает не массив, а похожий на него объект (NodeList)
    если нужен массив, нужно преобразовать вручную через Array.from()
    Ответ написан
  • Что стоит учить с или c++ или c#?

    хочу разрабатывать ПО для ПК.

    "ПО для ПК" - это очень широкий набор и каждый из этих языков подходит, но для разных подмножеств.

    Или может лучше начать с C#, а дальше уже выучу C++?

    Если хочешь C++ - учи сразу C++.

    Надо ли учить Си?

    Если будешь писать на си.

    Подумал начать с C++

    Если хочешь потом с C++ перейти на что-то другое, то начинай с этого "чего-то другого".
    Ответ написан
    Комментировать
  • Разработка продающего сайта для начинающих. Как не заплатить деньги зря?

    Sanes
    @Sanes
    Сделать с минимальным набором функционала и не тратиться сильно на дизайн. Бюджет выделить, который не жалко потерять.
    Возможно вам не нужен отдельный продукт, а будет достаточно работы на маркетплейсах.
    Ответ написан
    1 комментарий
  • Как реализован механизм работы в программе punto switcher?

    @maximq
    QA Engineer
    Работает по принципу кейлоггера, весь набираемый текст анализируется программой, при нахождении совпадений набранное слово заменяется.
    Ответ написан
    1 комментарий
  • Почему webpack обфусцирует код и можно ли это отключить?

    Fragster
    @Fragster
    помогло? отметь решением!
    "Почему обфусцирует?" - Для уменьшения размера
    "Можно ли отключить?" - Надо выключить https://webpack.js.org/configuration/optimization/...
    По поводу "медленнее" - это результат замеров или предположение?
    Ответ написан
    3 комментария
  • На сколько Java отличается в обозначении типизации от C# для понятия TS?

    У TS типизация структурная и там есть алгебраические типы данных, а у C#/Java номинативная и алгебраических типов данных нет (upd: хотя вроде в жаве есть enum class)
    Ответ написан
    3 комментария
  • На сколько Java отличается в обозначении типизации от C# для понятия TS?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Странная идея вообще учить язык А или Б для того чтобы понять язык В.
    Учите TS чтобы понимать TS, учите C# чтобы понимать C#.
    Ответ написан
    Комментировать
  • Почему показывает, что прокрутки у страницы нету в while, хотя она есть?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Потому что ваш цикл while блочит поток выполнения.
    Можно воспользоваться функцией setInterval – каждый новый запуск будет выполнятся в новой итерации цикла событий (event loop), давая браузеру время на выполнение других необходимых задач. Например пересчитать и перерисовать объекты на странице.

    Ответ написан
    Комментировать
  • В чем ошибка SyntaxError: Unexpected token?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Файл 228.php вернул html, а ожидается json
    Ответ написан
    5 комментариев
  • Почему присвоение значения переменной не считается использованием переменной?

    Потому что вы должны хотя бы раз прочитать значение переменной. Во всех случаях, которые вы приводите, где ошибки нет — значение переменной где-то читается.
    Это сделано, чтобы исключить ряд багов, которые может допустить программист (например, зашедоуить переменную из скоупа выше и присвоить значение во временную переменную вместо оригинальной переменной).
    Ответ написан
    3 комментария
  • Когда вписывать технологию в свой стек?

    paran0id
    @paran0id
    Умный, но ленивый
    Когда готов ответить на вопросы по ней на техническом собеседовании.
    Ответ написан
    Комментировать
  • Как сделать динамичные фильтры на rust diesel?

    Torin_Asakura
    @Torin_Asakura
    Lead Architect
    Дмитрий Беляев прав, тут действительно лучше использовать функции вместо макросов. Макросы в Rust штука довольно мощная, но проигрывает функциям по гибкости, особенно когда дело доходит до сложной логики и типизации.

    Давай прикинем решение твоей задачки. У дизеля есть такая штука как трейты. Вот коленочный пример:

    use diesel::prelude::*;
    use serde_json::Value;
    use std::collections::HashMap;
    
    fn apply_filters<T>(mut query: T, filters: &HashMap<String, Value>) -> T
    where
        T: diesel::query_builder::AsQuery,
        T::Query: diesel::query_builder::QueryFragment<diesel::pg::Pg> + Query,
    {
        for (key, value) in filters {
            match value {
                Value::String(s) => {
                    query = query.filter(diesel::dsl::sql(&format!("{} = '{}'", key, s)));
                },
                // Сюда можно закинуть остальные типы
                _ => {}
            }
        }
        query
    }
    
    async fn get_list(
        pool: web::Data<DatabasePool>,
        list: web::Json<List>
    ) -> Result<HttpResponse, ApiError> {
        use schema::users::dsl::*;
    
        let base_query = users.into_boxed(); // Пример базового запроса
        let query_with_filters = apply_filters(base_query, &list.filters.unwrap_or_default());
    }
    Ответ написан
    Комментировать
  • Как увидеть список и типы разделов на вставленной, но неподмонтированной флешке?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    как пример можете взять вывод утилиты lsblk за основу
    $ lsblk -o NAME,RM,TRAN,SIZE,TYPE,PTTYPE,FSTYPE,PARTTYPENAME,MOUNTPOINTS,MODEL | awk 'NR==1 || $2 == 1'
    NAME        RM TRAN     SIZE TYPE PTTYPE FSTYPE  PARTTYPENAME       MOUNTPOINTS                  MODEL
    sda          1 usb     14,7G disk dos    iso9660                                                 Transcend 16GB
    ├─sda1       1          789M part dos    iso9660 Empty              /run/media/admin/ARCH_202309 
    └─sda2       1           15M part dos    vfat    EFI (FAT-12/16/32)

    где RM это флаг съёмного устройства, 1 съёмное а 0 не съёмное, TRAN device transport type в общем тип устройства usb, ssd, nvme ..., с остальными параметрами думаю боле-мене ясно, их можно убавить по желанию.
    С помощью `awk` мы отфильтруем(`$2 == 1`) тока съёмные устройства, ну и заодно оставим шапку(`NR==1`) для информативности.
    При желании это можно вывести более кратко
    $ lsblk -o NAME,RM,FSTYPE,MOUNTPOINTS | awk '$2==1{$2="";print}'
    sda  iso9660
    ├─sda1  iso9660 /run/media/admin/ARCH_202312
    └─sda2  vfat

    где наличие третьего столбца у раздела говорит о его смонтированности

    п.с.
    тег CentOS тут думаю лишний, такая информация получается с помощью стандартных линукс утилит

    п.с.2
    может быть такая ситуация когда файловая система записана напрямую на весь диск без таблицы разделов, тогда вывод будет выглядеть примерно так:
    $ lsblk -o NAME,RM,TRAN,SIZE,TYPE,PTTYPE,FSTYPE,PARTTYPENAME,MOUNTPOINTS,MODEL | awk 'NR==1 || $2 == 1'
    NAME        RM TRAN     SIZE TYPE PTTYPE FSTYPE PARTTYPENAME     MOUNTPOINTS MODEL
    sda          1 usb     14,7G disk        ext4                                Transcend 16GB

    значение в PTTYPE будет отсутствовать

    п.с.3

    можно даже так с отфильтрованным и отформатированным выводом через json
    $ lsblk -Jpo PKNAME,NAME,RM,FSTYPE,MOUNTPOINTS | jq -r '.blockdevices[] | select(.rm == true) | .children[] |select(.mountpoints[] == null) | "Съёмное устройство \(.pkname) имеет не смонтированный раздел \(.name) с файловой системой \(.fstype)"'
    Съёмное устройство /dev/sda имеет не смонтированный раздел /dev/sda2 с файловой системой vfat

    для учета файловой системы которая записана на весь диск без таблицы разделов необходимо в команду выше добавить некоторые условия, но это уже будет вашей разминкой.
    Ответ написан
    4 комментария
  • Стоит ли перепоступать в другой вуз ради айти?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    то меня не возьмут именно с дипломом по такой специальности.

    На диплом по большему счету все равно. Главное - это навыки. (Если это не гос. контора - там потребуют)
    учёба (в вузе) максимально не напряжная

    Если учеба не напряжная, то тренируй навыки разработчика, пиши пет-проекты, участвуй в хакатонах. Это и покажешь при приеме на работу.
    Стоит ли уходить из университета в таком случае и пытаться поступить в другой?

    Уходить не стоит - чтобы поступить в нормальный вуз надо не хило так постараться, а если выбрать другие, то программа отстала, скорее всего.
    Ответ написан
    5 комментариев