Задать вопрос
  • Как закрывать подменю при открытии другого подменю?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Сохранить предыдущий открытый элемент в переменную и закрывать его при открытии текущего.
    Ответ написан
    Комментировать
  • Где хранят вызовы функций нормальные люди?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Обычно делается так:
    1. Разработка схемы архитектуры приложения;
    2. Декомпозиция архитектуры до атомарных операций;
    3. Некоторое количество итераций доработки архитектуры;
    4. Разбивка системы на системы/подсистемы/модули/подмодули и другие уровни - и вот тут как раз образуются классы, каждый из которых включает в себя какой-то определенный набор функций/процедур из файла или каталога(модуля).
    Ответ написан
    Комментировать
  • Провисание в онлайн играх, в чём может быть проблема?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Обыкновенный лаг из за большого пинга:
    1. Проверить игровой пинг;
    2. Можно запустить на отдельном мониторе / окне пинг до текущего игрового сервера и мониторить пинг во время игры.


    Если повторяется в ОС - то это уже фриз и высока вероятность проблем с железом, особенно фризы характеры при проблемах с HDD и надо проводить полную диагностику железа.

    Вариант номер три(не похоже, конечно, но такое тоже может быть): перегрев и троттлинг CPU/GPU - лечится чисткой кулеров/радиаторов от пыли и заменой термопасты везде.
    Ответ написан
  • Как упростить такой кусок кода?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Логичным выглядит подписаться на событие "изменение данных" на сервере. Если на сервере нет такого - то реализовать. А если сервер чужой и такого функционала там нет, то либо запросить у авторов/владельцев добавить данный функционал либо оставить все как есть.
    Ответ написан
    4 комментария
  • Как реализовать real-time систему диалогов?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    WebSockets - крутая штука. Можно взять готовую библиотеку - например, там же есть готовые примеры, которые можно сразу использовать. Если возникнут какие вопросы по использованию - велкам в чат.
    Ответ написан
    Комментировать
  • Как написать сервер клиент на C#?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    1. Спроектировать архитектуру системы и каждого приложения в отдельности;
    2. Сделать декомпозицию архитектуры;
    3. Спроектировать протокол обмена данными или взять готовый в виде библиотеки;
    4. Реализовать все.


    Сервер работает следующим образом (примерно, детали зависят от особенностей архитектуры и прочее):
    1. Слушает определенный порт и ждет подключения к порту;
    2. После подключения клиента к порту передает соединение в очередь к пулу процессов-воркеров (по числу процессорных ядер);
    3. Воркер обрабатыват соединение, проводит необходимые проверки, логин клиента и т.п.;
    4. После обработки соединение попадает в список подключенных процессов и обрабатывается ядром сервера.


    Клиент работает примерно так:
    1. Ищет сервер;
    2. Подключается к порту;
    3. Проходит аутентификацию и авторизацию;
    4. Ожидает данные от сервера / передает данные серверу.
    Ответ написан
    Комментировать
  • Оптимизация большого числа картинок?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    В количестве элементов. Надо просто удалять старые элементы из DOM. Оставить элементов 30-50, не более. По мере прокрутки невидимые элементы удалять, а новые добавлять.
    Ответ написан
  • Какую библиотеку использовать для отрисовки графиков?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Если объем отображаемых данных небольшой(менее 100 точек), то можно использовать SVG библиотеки (я например использовал C3.js - очень юзабельная либа, оcнована на D3). Если же точек много - то лучше выбирать графики с отрисовкой в CANVAS.
    Ответ написан
    Комментировать
  • Алгоритм drag & drop builder?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    1. При клике по элементу создать новый элемент этого типа.
    2. Двигать его с курсором, пока зажата кнопка мыши
    3. При отпускании кнопки мыши проверить, в правильный ли контейнер был перенесен элемент и если правильный - разместить элемент в этом контейнере, иначе - удалить элемент.
    Ответ написан
    Комментировать
  • Можно ли заработать на своем домашнем сервере?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Что можно сдалть из домашнего сервера:
    1) NAS;
    2) Торрентокачалку;
    3) Мультимедиа плеер;
    4) Бэкап-сервер;
    5) Сервер видеонаблюдения за парадной/подъездом/входом в дом/парковкой;
    6) Второй компьютер и вывести его на второй монитор для полезных данных/кино/музыки/прочего;
    7) Поставить линукс, забэкапить и отдать маме/папе/бабушке/дедушке/детям/родственнику.
    Ответ написан
  • С чего начинать школьнику?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    С учебы - айтишники учатся всю жизнь.

    Самый простой путь становления в IT: пойти работать в какую-либо компанию, где есть опытные профессионалы и учиться у них. Очень часто путь айтишника начинается с работы, например, эникейщиком (помощник админа, который включает мониторы, вытаскивает скрепки из принтеров, меняет бумагу/катриджи в них же) или, например с работы монтажником ЛВС. Кроме того, скажу сразу, что ждет человека в этой области:
    1) ежедневная учеба, причем самостоятельная - это практически навсегда, ибо IT развивается очень стремительно и надо всегда быть в тренде, а так же постоянно возникают новые задачи, которые надо решать, а решений не существует в принципе - это уже 2)
    2) надо быть творческим и постоянно напрягать мозг до последней извилины в поисках решения;
    3) недосыпание, проблемы со спиной, шеей, суставами, нервами, туннельный синдром, посаженное зрение - надо регулярно делать специальные физические упражнения (вообще это в любом случае надо - просто в IT эти проблемы у большинства, если не у всех) - и рекомендую подобрать себе комплекс упражнений и начать его делать уже сейчас регулярно для выработки привычки, потом поздно будет (просыпаться ночью от болезненных спазмов - не самое приятное);
    4) быть готовым подрываться в 3 часа ночи ехать через полгорода перезагружать сервер (ну, образно конечно, но бывает) или ночевать в на объекте в обнимку с ноутом и проводами - зачастую бывают срочные задачи, которые надо решить "вотпрямщас";
    5) непонимание со стороны окружающих ("зачем ты тратишь столько денег не пойми на что (компы, ноуты, гаджеты, инструменты и т.п.)???", "сколько можно сидеть за компом?? иди делом займись!!!");
    6) непонимание со стороны окружающих в квадрате, когда суровый бородатый мужик увлекается аниме/фигурками пони/чем-то еще кавайным и милым - ибо когда уже даже во сне компилишь программы, настраиваешь сервера и собираешь KDE2 под FreeBSD, и мозг постоянно в напряжение - то расслабиться можно либо алкоголем, от которого мозг вырубает либо каким-то каваем, от которого мозг тоже вырубает, но более мягко и без колоссального вреда здоровью. Вот примерно так.

    А начинать советую так:
    1) Найти хорошего преподавателя по математике или математике/физике и записаться на дополнительные курсы по математике. На олимпиады можно болт забить - там ничего интересного и полезного (ну, по крайней мере я как-то был на одной - вообще бред, не понимаю зачем нужны они).
    2) Так же с английским: нужен технический английский - этот выработается после нескольких тысяч прочтенных мануалов на английском, и разговорный английский - без английского никуда.
    3) В интернете очень много курсов и вообще всего - надо только уметь искать. Поэтому надо прокачивать навык работы с информацией - это один из ключевых навыков. Искать надо будет много и постоянно.
    4) Начать потихоньку проходить разные курсы в сети с подкреплением практикой - теория без практики = впустую потраченное время. Например: https://ru.coursera.org/specializations/full-stack
    5) С 16 лет вполне можно законно пойти официально работать летом/на каникулах с ограниченным рабочим днем: как я уже говорил, два самых распространненых варианта - эникейщик и монтаж ЛВС - провайдеров сегодня очень много и опыт там вообще не нужен. А из монтажников, при наличии навыков и желания, конечно же, уже можно в эникейщики переквалифицироваться - а там рядом и будут и более опытные люди, которые научат.

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

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    AdAway + Droid Wall + (в некоторых случаях) LuckyPatcher
    Ответ написан
    Комментировать
  • Раскроет ли gtx 1080?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Блок питания в топку! Надо брать минимум 700 ватт (например FSP EPSILON 80 PLUS 700).
    И еще к этому набору потребуется материнская плата (MSI, ASUS, Gigabyte - из начала топового сегмента либо из вершины миддл сегмента будут хорошим выбором) со слотом M.2. SSD брать этот: www.samsung.com/ru/consumer/memory-storage/ssd/950...
    Ответ написан
  • BIOS не видит жесткий диск. Что случилось с жестким диском?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Сделать бэкап нужных данных.
    2. Удалить первый раздел диска.
    3. Поставить в первый раздел корректный загрузчик.
    4. Настроить загрузчик, если требуется.
    5. Восстановить данные, если требуется.
    Ответ написан
    Комментировать
  • Node.js Что здесь происходит?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    var body = []; // Создаем переменную с массивом 
    request.on('data', function(chunk) { // Подписываем анонимную функцию на событие 'data'
        // chunk - это блок полученных данных
        body.push(chunk); // Добавляем блок данных в конец массива 
    }).on('end', function() { // Подписываем анонимную функцию на событие 'end'
        body = Buffer.concat(body).toString(); // Объединяем все блоки даннных в один, затем конвертируем результат в строку и сохраняем в переменную body
    });
    Ответ написан
    Комментировать
  • Как работает плагин?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Открываем консоль и видим:
    VM3144 plotly-latest.min.js:52 Uncaught TypeError: Cannot read property 'selectAll' of undefined
    Ответ написан
  • Какую взять видеокарту чтобы чтобы монитор выдавал на 4к разрешении 60гц? Какой взять бесперебойник?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    БП вообще на грани! При серьезной нагрузке велик риск перегрузки БП, а через несколько лет эксплуатации - вероятность возрастет еще больше. Надо минимум 600-700 ватт (запас по мощности для БП очень важен в ~15%). А перегрузка БП ведет к более быстрому выходу его из строя, а так же к выходу напряжения питания за установленные пределы для остальных железок, что негативно на них скажется, вплоть до выхода из строя (особенно чувствительны к этому HDD). Ну и плюс конечно нестабильность, ребуты и прочее.
    Подключать монитор надо через дисплей порт. А вот видеокарту нужно брать от AMD - все дело в том, что данный монитор поддерживает AMD FreeSync и соответственно видеокарту надо брать тоже AMD. Оптимальный вариант на сегодня - это AMD Radeon RX 480.
    Кроме того, время покупки выбрано немного неудачно - после НГ у АМД запланирован релиз новых процессоров, так что имело бы смысл подождать.

    И как уже сказали ранее: хорошо бы еще SSD поставить. Оптимальный вариант на сегодня: Samsung 950 pro M.2

    UPD2:
    ИПБ этот не подойдет, надо как минимум 1500, а лучше 2000 VA (ПК 700 ватт + монитор ~200 ватт). Запас по мощности должен быть 20%.
    Ответ написан
  • Как отразить поступления с Upwork на Skrill для налоговой для ИП?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вот тут подробный ман: https://github.com/odeskconf/guide#Бонус-как-вывод...

    1. Открываешь ИП, к нему транзитный валютный счет. Рассчетный валютный счет можно открыть если желаешь сидеть в долларах;
    2. Делаешь Wire трансфер с Upwork, уплачивая 30$ за перевод;
    3. После перевода деньги блокируются валютным контролем;
    4. Дальше два варианта, либо выбить из поддержки договор (что почти нереально), либо отдать в ВК публичную оферту (User Agreement, на который соглашаемся при регистрации) в биллингве, на каждой странице публичной оферты поставить свою печать, «копия верна» и подпись (после этих действий ВК охотней примет публичную оферту, нежели просто распечатанный биллингв);
    5. На каждый денежный перевод нужен акт выполненных работ, тут два варианта. Либо предоставить в ВК скриншот трансфера из панели апворка (что филькина грамота, не каждый ВК примет это), либо запрашивать у поддержки "Act of acceptance", который будет подписан апворком и тобой, в нем будет указана сумма перевода. Act of acceptance выглядит внушительней, нежели скрин из панели;
    6. Дальше при каждом переводе предоставляешь новый Act of acceptance;
    7. Работаешь так до достижения лимита в $50 000, дальше нужно заключить паспорт сделки (что сложно, но реально, нужно трясти поддержку апворка). Либо заключить новый «контракт» с Upwork, опять предоставив User Agreement в билинге (про схему с закрытием старой оферты и открытием новой вычитал на хабре, там чувак ставил номер контракта в шапке оферты, что позволяло «открыть» новый контракт, поменяв этот номер);
    8. Ну и работаем дальше, либо по паспорту сделки, либо по вновь открытому контракту;
    Ответ написан
    1 комментарий
  • Можно сделать одну флешку для установки всего сразу?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Да, можно. И это очень удобно. Я использую для этого утилиту MultiBoot USB - можно кидать на флешку сразу загрузочные образы и через текстовый конфиг добавляются в меню. Есть ньюансы: таким образом некоторые образы не запускаются. Так же размер образа ограничен примерно 2 гигабайтами (двд оно не грузит, проверял) и для работы нужен объем ОЗУ размером больше загружаемого диска (для загрузки образа и для софта на этом образе). Желательно иметь быструю флешку на чтение - для быстрой загрузки образа в память. ХП лайв с образа стартует на ура, линуксы с образов сопротивляются и можно поймать странные баги, семерку в лайве ставил на саму флешку в отдельный каталог и прописал загрузку в конфиг. Всякие акронисы, мемтесты и другие мелкие софтины тоже отлично запускаются и работают с образа.
    Ответ написан
  • Когда получается бейджик Top Rated?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    https://support.upwork.com/hc/en-us/articles/21106...

    Freelancers:
    1. A current Job Success Score of 90% or higher
    2. Maintained Rising Talent status or a Job Success Score of at least 90% for at least 13 of the last 16 weeks
    3. A 100% complete profile (90% for those who brought their profiles over from Elance)
    4. 12-month earnings of at least $1,000
    5. Up-to-date availability (if unavailable now, set a date estimate)
    6. An account in good standing with no recent account holds
    7. Activity on the platform (proposal, accepted invitation, or earnings) in the past 90 days


    Agencies (with two or more team members):
    1. An agency Job Success Score of 90% or higher
    2. An agency owner Job Success Score of 90% or higher (or none earned yet)
    3. Maintained agency Rising Talent status or an agency Job Success Score of at least 90% for at least 13 of the last 16 weeks
    4. A 100% complete Agency owner profile with photo (90% for those who brought their profiles over from Elance)
    5. An agency profile with a logo, overview, and services offered
    6. Agency member profiles at least 60% complete on average (50% for those who brought their profiles over from Elance)
    7. 12-month agency earnings of at least $10,000
    8. Up-to-date availability (if unavailable now, set a date estimate)
    9. An account in good standing with no recent account holds (including yourself, your agency, and all agency members including agency owners)
    10. Activity on the platform (proposal, accepted invitation, or earnings) in the past 90 days
    Ответ написан
    Комментировать