• Болят глаза через 5-10 минут, что можно сделать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сходи к врачу. Боль в глазах может быть связана с внутричерепным давлением. У меня после Covid было такое что я видел вспышки в левом глазу. Все это - последствия чего-то там.

    Вобщем глаза - твоё здоровье и не слушай советы дилетантов по поводу монториов или шрифтов. У тебя - медицинская проблема и ее надо решать с медициной.
    Ответ написан
  • Исходный код языка Си?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Язык Си не является программой, по этому у него нет исходного кода. Исходный код может иметь компилятор языка, которых есть более чем один.
    Ответ написан
    Комментировать
  • Почему знак вопрос работает именно так?

    Alexandroppolus
    @Alexandroppolus
    кодир
    ну так всё правильно:

    1) User extends {active:boolean} ? Cat : User;
    условие ложно, берем вариант после двоеточия

    2) Cat extends {active:boolean} ? User : Cat;
    условие истинно, берем вариант до двоеточия
    Ответ написан
    Комментировать
  • Как работать с огромными массивами данных?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вероятно не хватает памяти. Используйте опцию max-old-space-size.
    node --max-old-space-size=8192 index.js
    Если оперативной памяти тоже недостаточно, то тут уже нужен потоковый JSON парсер: например stream-json.
    Ответ написан
    Комментировать
  • Как заставить JS нормально работать с кодировкой?

    Seasle
    @Seasle Куратор тега JavaScript
    const textDecoder = new TextDecoder('windows-1251');
    const response = await fetch(...);
    const buffer = await response.arrayBuffer();
    const text = textDecoder.decode(buffer);
    Ответ написан
    2 комментария
  • Как правильно находить готовые коды, плагины на разных языках?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Люди всё правильно говорят. Это не тот вопрос, которым следует заниматься способному в лучшем случае к NoCode управленцу. Так-то найти куски кода, который делает что-то, не так сложно. По ключевым словам легко найти практически что угодно на гихабе, хабре, stackoverflow, куче форумов, в документации к конкретным языкам и библиотекам. Сейчас ещё и расплодились агрегаторы кода, которые по ключевым словам выдёргивают фрагменты кода из кучи опенсурсных проектов, иногда бывают полезны, но чаще раздражают....

    Но даже если найти кусок кода или название библиотеки (на что уйдёт пять минут) - а что дальше? Чтобы понять, что делает этот кусок кода, какие у него достоинства и недостатки, какие ограничения - это нужна уже компетенция квалифицированного программиста. А вдруг этот код или эта библиотека жалко помрёт, если вместо скромных 100 байт из тестового набора скормить мегабайт осмысленных данных?

    Программист намного более эффективно проведёт отбор вариантов (сразу выкинув лишь кажущиеся перспективными, но совершенно бестолковые варианты, делающие не то, что надо, или не так, как это разумно), а затем более квалицифированно разберёт всё, что осталось. Конечно, можно ему сказать "я тут видел XXX и YYY, которые кажутся интересными" (и это не запрещено - почему бы и не сказать?), но программист всё равно сделает этот же поиск с нуля ещё раз и выберет ZZZ, который управленец выкинул при отборе, потому что ошибочно посчитал, что он тут не годится.

    Так-то куски кода никто не запрещает искать (поисковики достаточно хорошо натренированы и неплохо их находят), но делать далеко идущие планы на основе своего неквалифицированного непонимания самостоятельно найденного кода настоятельно не рекомендую.
    Ответ написан
    5 комментариев
  • Как правильно находить готовые коды, плагины на разных языках?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Мда. С такой грамотностью далеко не уйдёшь... ПредпрИниматель...
    Я дам простой ответ - предприниматель сам должен уметь находить ответы на вопросы, которые ты здесь задаёшь.
    Ты занимаешься не своей работой."Куски кода искать" должен не руководитель, а разработчик, это его работа и его профессия, за это ты платишь ему деньги
    Ответ написан
    5 комментариев
  • Почему не получается преодолеть барьер в изучении программирования?

    @k4nt
    Здравствуйте.
    Я так же, как и Вы учусь программировать. Лично мне никакое изучение материала не давало результата.
    Только когда у меня появилось к чему приложить свои знания (я сам придумал себе интересный проект и делаю его) у меня появилась больше мотивации в изучении.
    Я не смотрю курсы, не читаю литературу. Я заполняю нужные мне пробелы в знаниях исходя из практики. Да, явно с точки зрения специалиста у меня всё криво, можно лучше и тд, но знания гораздо лучше остаются в моей голове и мотивация падает только тогда, когда я упираюсь во что-то сложное для себя. Пару дней голова поварит, я соберу нужные знания и снова продвигаюсь к реализации своего мини проекта.
    Ответ написан
    2 комментария
  • Что почитать про программирование под Линукс?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Да, есть абстрактное "программирование под Windows", связанное с тем, что в ней все через ... спину. Но "абстрактного программирования под Linux" нет.

    Есть задача - бери и решай ее. Возникают вопросы - гугли конкретный вопрос. Написание книги (скажу тебе как автор одной такой книги) - процесс долгий, ее издание - примерно столько же - так что к моменту ее выхода она может уже ... устареть :)
    Ответ написан
    3 комментария
  • Что почитать про программирование под Линукс?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А под линукс как-то особенно программировать не требуется. Наоборот можно уже писать кроссплатформенно.
    У винды много своей специфики, связанной со странными особенностями файловой системы, с выкрутасами в плане использования кодировок в терминале, в файловой системе, в остальных местах... Когда начинаешь кодить на линукс и под линукс, то аж дышится легче.
    Начинаешь думать, что интерфейсы можно делать не нативно, а в виде веб-интерфейсов, которые отлично смогут работать и в облаке, и прямо на роутере, и локально.
    В линуксе гораздо проще и каноничнее всё с доке-контейнерами, стандартной является вся инфраструктура командной строки, свзанная с механизмами автоматизации: стандартные тулзы, make, системы управления пакетами...
    Поднять на линуксе изолированную повторяемую среду получатся гораздо проще, чем в винде.

    Вообще не понятно, конечно, о каком програмировании речь. Тут и системное программирование упоминалось, и GUI...
    По собственному опыту скажу, что сомнения при переходе на разработку под линукс в основном надуманные и ненужные. Переход происходит естественно и непринужденно.
    Особенно подкупает встроенная в систему хорошая документация и огромное количество структурированной информации в сети. Даже книг каких-то специальных читать не пришлось. Просто по обстоятельствам ищем статьи и мануалы по конкретным темам: особенности и устройство файловой системы, пайпы, потоки, процессы, система прав доступа...
    Ответ написан
    1 комментарий
  • Как исправить "cannot borrow as mutable"?

    vabka
    @vabka
    Токсичный шарпист
    Попробуй вместо того что у тебя написано использовать entry()
    self.on_event_closure
      .entry(event)
      .or_insert_with(Vec::new)
      .and_modify(move |vec| vec.push(f));


    А нельзя borrow as mutable из-за того что get заимствует on_event_closure
    Ответ написан
    1 комментарий
  • Как посчитать количество символов в char на С?

    @res2001
    Developer, ex-admin
    Конкретно для приведенного примера можно делать так: (sizeof(text) - 1)
    Это будет работать только в подобных случаях, когда text - это статический/автоматический массив фиксированного размера (как в данном примере). -1 требуется, чтоб удалить завершающий нулевой символ.
    Преимущество перед strlen в том, что sizeof вычисляется на этапе компиляции, т.е. по факту в коде вместо этого выражения будет константа 14, вычисленная компилятором.
    Кстати, можно делать еще так: sizeof("Literal string") - 1

    Если text будет определена по другому, например char *text = "Literal string";, то такой подход уже не прокатит.
    Универсальный вариант, который будет работать для всех случаев однобайтной строки с завершающим нулем - использовать strlen.
    Ответ написан
    Комментировать
  • Как реализованы программы записи экрана и стриминга?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Используются системные api. Все полатформо зависимое, к сожалению. На винде можно делать через кучу разных апи: gdi+, dxgi, wgc. Гуглите "слово из списка capture screen".

    Далее, похоже нужно будет реализовывать виртуальную камеру. Тут гуглите апи dshow. Уже с этим можно ваш проект прикручивать к существующим стриминг платформам.

    Если же вам хочется сделать все свое (включая бакенд) то можно воспользоваться библиотекой webrtc.
    Ответ написан
    Комментировать
  • Какой протокол лучше выбрать для шифрованного обмена файлами?

    @Drno
    Cifs - лол)) ни в коем случае)))

    Можно например rcync через ssh. Или его аналог - rclone
    Ответ написан
    Комментировать
  • Какой протокол лучше выбрать для шифрованного обмена файлами?

    @rPman
    https

    Это наиболее 'простой', максимальная поддержка софтом, включая dpi провайдеров (ломающий интернет последнее десятилетие), простой для разработки утилит.

    За ним идет протокол scp или sftp, передача файлов по каналу ssh, готовый инструментарий, (а еще провайдеры его 'отключат' последним, но понижать скорость будут)

    p.s. cifs - худший выбор, не надо так
    Ответ написан
    Комментировать
  • Как массово скачать файлы по списку?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Т.е. не получится это сделать с помощью wget в командной строке, т.к. куков не будет

    Кто сказал?
    https://qna.habr.com/q/444245
    wget --no-check-certificate --quiet \
      --method GET \
      --timeout=0 \
      --header 'Cookie: PHPSESSID=ocqfdbv0kv6qs5jv4at6uk36pf' \
       'https://test-mis.ru/api/****************************************'
    Ответ написан
    Комментировать
  • Как защитить обучающие материалы от слива?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Никак

    Этот вопрос уже обсуждался стопицот раз. И всем обсуждателям я предлагаю небольшой кейс (после которого обычно становится понятно, почему никак)
    Я - легитимный юзер, оплативший все услуги. У Вас нет оснований не показывать мне курс. Я подключаюсь и начинаю просмотр...
    Где подвох, спросите Вы?
    Правильно спросите. Потому что подключаюсь я с виртуалки, а параллельно ей, в абсолютно недостижимой для Вас области работает программа записи экрана. Которая в итоге сграбит все, что там игралось.
    Как Вы собираетесь от этого защищаться?

    Детект виртуалки - и отвалятся все, кто их использует
    Какие-то фантастические варианты типа поляризационных очков - и курс купят полторы калеки
    Ответ написан
    Комментировать
  • Как защитить обучающие материалы от слива?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Никак.

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

    Но можно кое-как защищаться юридически, заявляя свои права на материалы, когда они появятся в публичном доступе.
    Ответ написан
    6 комментариев
  • Как защитить обучающие материалы от слива?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Любой контент, отданный пользователю, может быть сграблен. Ни практически, ни теоретически этого избежать не получится. Даже не трать силы/время/деньги на достижение недостижимого.
    Он может поставить камеру и снимать экран.
    Он может подключить устройство по USB и гнать изображение параллельно на соседнее устройство, где происходит запись.
    Ты можешь как угодно пытаться контролировать его компьютер, но он запустит браузер в виртуалке, а на хостовом компе - OSB studio и будет писать все, что творится в виртуалке.
    В этой вселенной на текущем уровне технического развития это абсолютно невозможно. 100500%
    Ответ написан
    Комментировать