• Как разобрать клавиатуру Logitech k280e?

    @vis_inet Автор вопроса
    Дошли, наконец, руки и я её разобрал!
    В итоге оказалось 14 винтов.
    Кроме видимых сразу ещё винты были под каждой из пяти резиновых ножек и два под наклейкой.5a64c39f20489841159360.jpeg
    Ответ написан
    2 комментария
  • Как научиться программировать на основе 1С-Bitrix?

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    1. ставишь vmware player
    2. скачиваешь готовую виртуальную машину
    3. запускаешь её и устанавливаешь CMS (редакцию бизнес)
    4. проходишь все курсы

    Особо хочу отметить - проходить их нужно именно в той последовательности в которой они представлены на сайте! Не нужно сразу читать курс по разработке, как минимум сначала изучите "Контент-менеджер" и "Администратор. Базовый".
    Ответ написан
    Комментировать
  • Как сделать галерею в конце поста WordPress?

    Для галереи возьмем Swiper, приближать будет fancybox.

    1. Подключаем библиотеки. Если уже подключены, то пункт пропускаем.

    Swiper
    https://cdnjs.cloudflare.com/ajax/libs/Swiper/6.4.5/swiper-bundle.min.js
    https://cdnjs.cloudflare.com/ajax/libs/Swiper/6.4.5/swiper-bundle.min.css

    Fancybox
    https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js
    https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css


    2. В файле single.php получаем все изображения, которые прикреплены к посту. У WordPress для этого есть функция get_attached_media. Функция возвращает массив объектов.

    $media = get_attached_media( 'image' );

    3. Разметка. В конце поста добавляем

    <div class="swiper-container">
    	<div class="swiper-wrapper">
    		<?php foreach ($media as $img) : ?>
    			<div class="swiper-slide">
    				<img data-fancybox="gallery" src="<?php echo $img->guid ?>">
    			</div>
    		<?php endforeach; ?>
    	</div>
    </div>


    4. Инициализируем галерею. В js файле темы добавляем

    var gallery = new Swiper('.swiper-container', {
        // parameters
    });


    Готово!
    Ответ написан
    2 комментария
  • Где найти базу для разработки схем и топологический решений на микроконтроллерах AVR и STM?

    @VT100
    Embedded hardware & software.
    По "схемотехнике" - изучать схемотехнику. Например - Харрис и Харрис или Хоровица и Хилла.
    По "топологии", например, - это: caxapa.ru/lib/emc_immunity.html
    Ответ написан
    Комментировать
  • Установка Linux при двух накопителях?

    Когда будете устанавливать загрузчик - установите его на hdd (и загрузку в биос выберите с hdd). Таким образом загрузчик Windows останется нетронутым и, в случае отказа от Linux, останется только вернуть порядок загрузки.
    Ответ написан
    Комментировать
  • Как правильно чистить память в c++?

    @asd111
    Используй valgrind и спирать pvs studio или хотя бы cppcheck.
    Ответ написан
    Комментировать
  • Можно ли вынести реализацию шаблонного класса в отдельный cpp файл?

    maaGames
    @maaGames
    Погроммирую программы
    Можно. Но при условии, что вручную будут инстанцированы шаблоны для каждого из используемых типов.
    Ответ написан
    Комментировать
  • Можно ли вынести реализацию шаблонного класса в отдельный cpp файл?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Если кратко, то нельзя.

    Шаблонны в С++ генерируют свою версию кода для каждого варианта параметров, с которыми их используют. Если у вас есть класс A, и вы используете A и A, то будет создано 2 набора методов этого класса, для каждого типа.
    Вспоминаем, что cpp файлы компилируются отдельно.
    Мы можем собирать a.cpp -> a.obj, потом main.cpp -> main.obj, а потом слинковать их (a.obj, main.obj) -> main.exe.
    include же просто копипастит текст файла вместо строчки #include "..."
    Теперь представим, что мы определили класс A в a.cpp а используем main.cpp. Но в этом случае мы просто не узнаем о том что класс используют в main.cpp при компиляции a.cpp, и не сгенерируем нужные версии методов.
    Ответ написан
    Комментировать
  • Можно ли вынести реализацию шаблонного класса в отдельный cpp файл?

    @Fil
    В целом - нельзя. Когда компилируется myStack.cpp, компилятор не знает, что ему подставить вместо TElement, поэтому имплементация методов не создается.
    Когда компилируется main.cpp, то компилятор знает, что тип int, и подставляет вместо massiv.push(i) что-то вроде stackM__int__push(massiv, i), предполагая, что stackM__int__push уже создан в каком-то другом скомпилированном obj-файле.
    Ошибок компиляции тут нет (не знаю почему у вас C2446). Но затем компоновщик нигде не может найти stackM__int__push, чтобы подставить вместо нее конкретный адрес и ругается.
    Здесь есть подробное объяснение, и предлагаются различные костыли для решения, но лучше просто определять в h-файле.
    Еще у вас ошибка в main.cpp: "massiv.size". size - это функция: "massiv.size()"
    Ответ написан
    1 комментарий
  • Как сделать такую выборку в oracle sql?

    denman1985
    @denman1985
    SQL, Oracle Forms/Reports dbd
    Смотрите аналитические функции.
    Посмотрите мой запрос и поэкспериментируйте у себя на базе.

    Поле месячного платежа я не понял какое, поэтому сами подставите где написано.

    select a.first_letter_fam, a.avg_plateg_by_letter
    from (
    select substr(n.c_last_name,1,1) as first_letter_fam, 
    avg(подставить_сюда_полe_месячного платежа) 
        over (partition by substr(n.c_last_name,1,1)) as avg_plateg_by_letter,
    (n_info_cold + n_info_hot) as potr_vody,
    avg(n_info_cold + n_info_hot) over () as avg_potr_vody_all
    from computation as c, client as n
    where c.n_client = n.n_client) as a
    where a.potr_vody < a.avg_potr_vody_all
    Ответ написан
    3 комментария
  • Зачем нужны прототипы в C++?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    1)Заголовочные файлы: в них собраны прототипы функций библиотек?(и все?)

    Содержимое заголовочного файла просто подставляется в то место где написано #include. Поэтому туда можно поместить всё что угодно. Традиционно библиотеки помещают туда объявления классов, функций и глобальных переменных и определения макросов.

    2)Как компилятор находит нужные встроенные функции по прототипам если мы не включаем в cpp файл библиотеки а лишь подключаем заголовочный файл с помощью #include?

    Компилятор их не находит. Не его это работа. Он просто помещает в объектный код вызовы ссылающиеся на внешние символы. Во время линковки объектных файлов в исполняемый файл линковщик находит все вызванные функции в библиотеках которые ему передали для линковки.

    3)Я так понимаю прототипы в C++ нужны для того чтобы компилилось быстрее?

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

    4)Заголовочные файлы представляют из себя уже откомпиленый код?(объектный)

    Нет, это обыкновенные текстовые файлы с исходным кодом. Содержимое заголовочного файла просто подставляется в то место где написано #include. Открой один для интереса и почитай.

    5)Тот же вопрос что и в 4 только уже про библиотеки

    Да. Статическая библиотека -- это архив объектных файлов. Динамическая библиотека -- это собранные линковщиком вместе объектные файлы.
    Ответ написан
    3 комментария
  • Можете посоветовать лабораторные работы по C++?

    mihal8899
    @mihal8899
    Любитель
    Учебный курс "Объектно-ориентированное программир...

    К этому курсу в комплекте ещё идут лабы хорошие (с объяснениями, разными вариантами, баллами, выбором сложности). Можете даже скачать только их если теоретические знания позволяют.

    Вот список лаб:
    №1 – Работа в среде Microsoft Visual Studio. Основы программирования на языке C++
    №2 – Файловый ввод-вывод, операторы манипулирования битами, работа с массивами
    №3 – Модульная организация программ. Работа со структурами. Указатели и динамическая память
    №4 – Стандартная библиотека языка Си++
    №5 – Создание собственных классов
    №6 – Перегрузка операций, умные указатели
    №7 – Модульное тестирование ПО. Разработка в стиле TDD
    №8 – Композиция, наследование, полиморфизм
    №9 – Обработка исключений
    №10 – Обобщенное программирование, шаблоны
    Ответ написан
    Комментировать