Задать вопрос
  • Курсы оператора БПЛА или самостоятельное обучение?

    @ewgenc
    Вы не сможете купить промышленный дрон за указанную сумму. БПЛА могут быть очень разными и сложными комплексами (например популярный нынче Орлан-10), и опыт работы с бытовыми квадрокоптерами вам не очень поможет. Работа с авиацией - это сертификация всего и вся, без сертификата будет сложно.
    Ответ написан
    2 комментария
  • Как выбрать подходящий курс в "Код будущего"?

    @tukreb
    Востребованным всегда будет БАЗА, а это алгоритмы и теории.
    Всякая фигня типо парсеры или боты - это МУСОР, если вы знаете базу то и сами их напишите.

    Поэтому выбирайте тот курс, который даст вам основные знания по программированию.
    Ответ написан
    1 комментарий
  • Как выбрать подходящий курс в "Код будущего"?

    @AVKor
    какой курс выбрать

    Тот, который интересен.
    Что реально поможет стать востребованным?

    Через 4 года как минимум? А кто это знает?

    Самым востребованным в стране может оказаться наличие опыта боевых действий, а вовсе не знания и навыки в ИТ.
    Ответ написан
    4 комментария
  • Сколько нужно серверов и каких образом они должны общаться, чтобы создать безопасную систему?

    @ewgenc
    Падает сервер с БД, ваши действия в дальнейшем? Резервирования мощностей нет, сервера под бекапы критически важных данных нет, репликации данных нет. Безопасное хранение пользовательских данных как будете реализовывать?
    Ответ написан
  • Можно ли питать 2 жеских диска и ссд?

    hint000
    @hint000
    у админа три руки
    Не сгорит.
    Если будет недостаточно мощности, то появятся суровые артефакты, либо просто зависнет ПК. Ещё раз: нет, не сгорит.
    зарядка, графический планшет, вебка но я их отключаю и постепенно включаю
    Нет смысла отключать, это всё очень мало потребляет.
    Ответ написан
    Комментировать
  • Хочу изучить основы информационной безопасности, какую книгу рекомендуете?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Рекомендуете ли вы книгу «Основы информационной безопасности» Е.В. Вострецова?

    Нет, не рекомендую.
    Это формальное учебное пособие, предназначенное для продажи, а не для изучения. Содержит много воды и пару процентов теории. Изложено максимально нечитаемо, любая техническая документация будет гораздо интереснее этого. Никакой практической пользы от книги не может быть, это введение в теорию, причём в теорию, как её видит наша бюрократическая машина.
    Опирается на публикации ~20-летней давности, исключительно отечественные.

    Единственная практическая польза тут может быть такая: если вы сдаёте предмет автору этой книги, купите и потешьте её самолюбие и кошелек.
    Ответ написан
    4 комментария
  • Какой тип данных у переменной a?

    bingo347
    @bingo347
    Crazy on performance...
    У переменной a указан тип встроенный массив [T; n]. Но у такого типа нет метода get_unchecked_mut(). Он есть у среза на массив [T]
    Тут нужно понять как в Rust работает оператор точка.

    Во-первых, мало кто пишет, но операторов точка на самом деле в Rust целых 2:
    - Доступ к полю структуры/кортежа/юниона
    - Вызов метода
    Rust различает их по наличию круглых скобок:
    struct S {
        a: i32,
        f: fn(),
    }
    
    impl S {
        fn a(&self) {}
    }
    
    let s = S { a: 0, f: || {} };
    s.a; // Доступ к полю
    s.a(); // Вызов метода
    (s.f)(); // Вызов функции по указателю, который лежит в поле f

    С доступом к полю все просто, компилятор преобразует его в смещение в памяти где это поле лежит относительно самой структуры.
    А вот с вызовом метода все интереснее, Rust пытается рассахарить его в одну из следующих конструкций в следующем порядке:
    S::a(s);
    S::a(&s);
    S::a(&mut s);
    <S as Deref>::Target::a(S::deref(&s));
    <S as DerefMut>::Target::a(S::deref_mut(&mut s));
    <<S as Deref>::Target as Deref>::Target::a(<S as Deref>::Target::deref(S::deref(&s)));
    <<S as DerefMut>::Target as DerefMut>::Target::a(<S as DerefMut>::Target::deref_mut(S::deref_mut(&mut s)));
    // ...
    и так пока либо не найдет вариант, который компилируется, либо пока не обнаружит что для очередного типа не реализован трейт Deref.
    Подробнее можно почитать тут: https://doc.rust-lang.org/stable/nomicon/dot-opera...

    У всех массивов есть Deref к слайсу, в core библиотеке прописано что-то вроде:
    impl<T, const N: usize> Deref for [T; N] {
        type Target = [T];
        fn deref(&self) -> &[T] {
            // ...
        }
    }
    За счет этого все массивы (а так же векторы, у которых тоже Deref к слайсу) получают методы слайса. И по тому же принципу String получает методы str.

    Ну и кстати, неявный вызов deref может еще происходить при взятии ссылки.

    Ну и из комментов к вопросу:
    Что тут делает unsafe код как раз понятно
    Однозначно понятно, он здесь делает UB так как обращается к памяти владелец которой неизвестен.
    Ответ написан
    1 комментарий
  • Каковы перспективы языка С++?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нет такого мнения в народе. C++ язык спорный, конечно, но весьма востребованный.
    Ответ написан
    Комментировать
  • Как устроена таблица у двух связанных коммутаторов?

    fzfx
    @fzfx
    18,5 дм
    далее коммутатор ищет целевой мак адрес в своей таблице, и находит, но как?

    просматривает таблицу коммутации в поисках MAC-адреса. если находит в таблице строку с этим MAC-адресом - берёт из этой строки номер порта.

    как он записывает его в своей таблице? типо switch2:port3?

    нет. MAC:port. это ведь таблица соответствия MAC-адресов и портов, логично?

    если он в линке с другим коммутатором?

    тогда если с этого другого коммутатора приходили Ethernet-кадры, то для каждого кадра он занесёт в таблицу коммутации MAC-адрес источника из кадра и номер порта, на который этот кадр пришёл (т. е. номер порта, к которому подключен другой коммутатор).

    Или их таблица коммутации обьединяется и нумерация портов второго коммутатора начинается следующего номера, на котором закончились порты первого коммутатора?

    нет. у каждого коммутатора своя таблица соответствия портов с MAC-адресами.
    Ответ написан
    Комментировать
  • У меня подгорела вилка на блоке питания для ноутбука, что делать?

    @tukreb
    Это значит, что у вас завёлся злой домовой, который посылает сильные разряды тока, чтобы уничтожить вашу технику ну или вас, если засуните туда пальцы. /s

    Это типичное поведение любых розеток, все вилки чернеют со временем из-за нагрузки в сети.

    Виновата нагрузка

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

    В названных случаях искра объясняется практически схемой входной цепи подключаемой нагрузки. На входе у них стоит выпрямитель и конденсатор фильтра, от которого постоянным напряжением (примерно 310-340 вольт в пике) питается высокочастотный импульсный преобразователь.

    Так вот, пиковый ток в момент зарядки через выпрямитель от сети пустого входного конденсатора очень велик, он достигает десятков ампер, и встроенный ограничитель «пускового тока» (зачастую на одном лишь термисторе) просто не в состоянии полностью избавить цепь от токового броска в момент втыкания вилки. Если не хотите каждый раз испытывать дискомфорт при втыкании вилки — пользуйтесь переходником (удлинителем) с кнопкой-выключателем.

    electrik.info/sockets/1293-pochemu-iskrit-vilka-v-...
    Ответ написан
    2 комментария
  • Какая скорость интернета по интернетометру?

    В одном байте 8 бит.
    93,25 / 8 = 11,66
    Ответ написан
    Комментировать
  • File.ReadAllText() заменяет русские символы на ?????, как исправить?

    @autyan
    У этого метода есть вот такая перегрузка:
    ReadAllText(String, Encoding)
    В вашем случае, нужно использовать её.
    Ответ написан
  • В чем разница между str и &str?

    Erik_Mironov
    @Erik_Mironov
    Старые вопросы: *Dies from cringe*
    str представляет собой неизменяемую последовательность байтов UTF-8 динамической длины где-то в памяти. Поскольку размер неизвестен, его можно обрабатывать только за указателем. Это означает, что str чаще всего используется как &str — ссылка на некоторые данные UTF-8, обычно называемые «срезом строки» или просто «срезом». Срез — это просто представление данных, и эти данные могут быть где угодно, например:

    - В статическом хранилище: строковый литерал "foo"представляет собой файл &'static str. Данные жестко закодированы в исполняемый файл и загружаются в память при запуске программы.

    - Внутри выделенной кучи: String разыменовывает представление &str в строке.

    - На стеке: Например, в следующем примере создается массив байтов, выделенный стеком, а затем он получает представление этих данных как &str:

    use std::str;
    
    let x: &[u8] = &[b'a', b'b', b'c'];
    let stack_str: &str = str::from_utf8(x).unwrap();


    Используйте String, если вам требуется владение строковыми данными (например, передача строк в другие потоки или их создание во время выполнения), и используйте &str, если вам нужно только представление строки.
    Ответ написан
    1 комментарий
  • Могло ли дойти напряжение до материнской платы и спалить всё к чертям?

    hint000
    @hint000
    у админа три руки
    Если делать ставки, как в тотализаторе, то 80% за то, что в БП сгорел варистор (цена детальки 10-50 рублей, в зависимости от жадности продавцов). Сценарий такой: варистор в БП закоротил вход БП, после чего уже сгорел удлиннитель.
    15% за дополнительные повреждения в БП, в первую очередь конденсаторы.
    Оставшиеся 5% за повреждения материнской платы и прочего. Даже с дорогим БП нельзя полностью исключить такую возможность.
    Погорели блочки ко всем роутерам и модемам
    Вот там, держу пари, конденсаторы взорвались с вытеканием электролита.

    От таких случаев защищает реле напряжения, которое можно установить в щиток.
    Ответ написан
    2 комментария
  • Зачем надо делегаты?

    Griboks
    @Griboks Куратор тега C#
    Делегаты нужны, чтобы можно было создать переменную с функцией.
    Ответ написан
    Комментировать
  • Зачем надо делегаты?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Например: https://qna.habr.com/q/1201718#answer_2227658
    Вот еще из доки: https://learn.microsoft.com/en-us/dotnet/api/syste... https://learn.microsoft.com/en-us/dotnet/api/syste...
    Еще, например, делегаты нужны для событий, для лямбда функций и многих разных полезных вещей.
    Ответ написан
    Комментировать
  • Как такое сверстать а потом рендерить? Это таблица?

    Да, это таблица. Сверстать можно по разному - grid, flex, table. Как Вам больше нравится
    Ответ написан
    1 комментарий
  • Как за 9 месяцев стать Android Junior Devoleper?

    kotler-dev
    @kotler-dev
    Part-time developer – full-time geek.
    Боевой набор Android джуна

    Kotlin

    App Manifest:
    - Package

    App Components:
    - Activity (Activity Lifecycles, Activity State Changes, Task and Back Stack, Parcelables and Bundles)
    - Service
    - Broadcast Receiver
    - Content Provider
    - Intent (Intent Filters, Explicit Intents, Implicit Intents).

    App Navigation:
    - Fragments (Fragment Lifecycles, Fragment State Changes, Fragment Manager, Fragment Transactions)
    - DialogFragment
    - BottomSheetDialogFragment

    Design Patterns:
    - DI (Dagger)
    - Bind
    - Singleton
    - Builder
    - Factory
    - Observer (Flow, RxJava/RxKotlin, LiveData)
    - Repository
    - SOLID

    Architecture Components:
    - UI Layer (ViewBinding, DataBinding, Lifecycle, ViewModel)
    - Data Layer (Data Store, WorkManager)

    Architecture:
    - MVVM
    - MVP
    - MVI
    - MVC
    - Clean Architecture

    Network:
    - OkHttp (Interceptor)
    - Retrofit
    - REST (JSON API и Gson)

    Local Storage:
    - SQLite (Room)

    Asynchronous:
    - Coroutines
    Будет плюсом: RxJava/RxKotlin и Thread

    User Interface:
    - Layouts (ConstraintLayout, MotionLayout, LinearLayout, FrameLayout, RecycleView)
    - Design Guides (Material.io)
    - Message (Toast, Snackbar, Notification)

    Compose UI:
    - State (MutableState, remember, rememberSaveable)
    - StateHosting
    - Side-effects (LaunchedEffect, DisposableEfffect, SideEffect)
    - Layout (Column, Row, Box, ConstraintLayout)
    - List (LazyColumn, LazyRow, LazyVerticalGrid, LazyPagingitems)
    - Modifier (Modifier Order, Chaining, Composed modifier)
    - Text (TextField, OutlinedTextFiled, ClickableText)
    - Gestures (Scrolling, Dragging, Swiping, Zooming)

    Service:
    - Google (Google Play Services, Google Maps)
    - Firebase (Authentication, Crashlytics, Remote Config, Cloud Messaging, FireStore, Realtime Database)

    Память:
    - Стэк
    - Очередь
    - Куча
    - Сборщик мусора

    App Startup
    Git

    Материалы для самообразования https://t.me/kotlinscope
    Ответ написан
    1 комментарий
  • Как функция index scan в postgresql понимает тип индекса?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Весь раздел https://www.postgresql.org/docs/current/internals.html
    за исключением разве что System Catalogs

    Узел Index Scan в плане запроса - это далеко не одна функция, а целый отдельный src/backend/executor/nodeIndexscan.c
    Ну и кучка поддерживающих конструкций, чтобы от этого был толк. Большая кучка конструкций. Очень.

    Как функция index scan в postgresql понимает тип индекса?

    А ему и не надо.
    Если планировщик выбрал index scan - значит этот index access method предоставляет совместимый интерфейс. Далее index scan согласно контракту index access method дёргает методы этого конкретного AM, и уже сам AM решает, где у него что лежит и как доставать требуемые TID по заданным условиям.

    и как именно Postgre понимает, какую функцию следует применять

    postgresql или postgres. Базы postgre не существует.
    А муками выбора о плане запроса страдает планировщик, работающий перед executor'ом. И там настоящая чёрная магия (и костыли)
    Ответ написан
    Комментировать
  • Есть ли нормальная программа для прослушивания аудиокниг?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Пользуюсь Podcast Addict под андроид.
    Удобно слушать подкасты и аудиокниги. Синхронизации между устройствами вроде нет, но и не нужно, ведь можно слушать только со смартфона. Если надо, по блютус к колонке его приконнектить можно, но я книги всегда слушаю через беспроводную гарнитуру. Не вижу ни одной причины делать это с разных устройств. Расскажите о ваших сценариях когда нужна синхронизация?
    В проге можно добавить каталог как подкаст с сортировокой по имени файла. И прога будет воспроизводить файлы по очереди.
    Можно подписываться по rss или через icloud на сетевые подкасты, можно слушать интернет радио и стримы. Поддеживает видео-подкасты.

    Иногда я у себя на VDS скачиваю торрент с книжкой, создаю rss-файл вот этой самописной питоновской утилитой и кидаю в каталог, раздаваемый через nginx. Ссылку на rss кидаю себе в телегу и открываю на смартфоне Podcast Addict'ом. Получаю, как бы, подкаст, но аудиокнигу, которую не обязательно полностью скаичвать еликом на телефон. Если на смартфоне мало места, то это очень удобно. Скачивать можно по мере прослушивания или вовсе слушать в потоковом режиме не скачивая.

    Всё руки не дойдут никак сделать автоматический бот для телеги, который сам будет по магнет-ссылке качать нужный торрент, публиковать как вритуальный подкаст и возвращать ссылку на rss.
    Ответ написан
    Комментировать