• Российские разработчики представили сервис Webinar Meetings для групповых видеозвонков
    0
    Эта платформа дает возможность проводить видеоконференции с участием до 100 человек

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


    Как бы там ни было, успехов сервису.

  • Vuex: структурирование больших проектов и работа с модулями
    +2
    const gettersPath = `${path.join(modulePath, 'getters.js')}`

    Скажите, а для чего вы используете интерполяцию, когда вся строка состоит из выражения? Отлично сокращается до
    const gettersPath = path.join(modulePath, 'getters.js');
  • Рефакторинг с использованием C++17 std::optional
    0
    По поводу первого пункта, как насчет такого варианта?
    godbolt.org/g/4XsWU3

    Можно не просто не вычислять то, что не нужно, но и даже проверки в конечный код не попадет. Как бонус можно задать вычисление только самого последнего аргумента, не перечисляя всех предыдущих, как в случае с out-параметрами.
  • Внимание, обновите Firefox до версии 58.0.1 для закрытия критической уязвимости
    0
    Нашел багрепорт, оказывается, еще два месяца назад про него было известно, но регулярные крэшрепорты появились только накануне релиза.
  • Внимание, обновите Firefox до версии 58.0.1 для закрытия критической уязвимости
    0
    Был бы рад обновиться и до 58, и 58.0.1, но сдерживает один нюанс: если на Ubuntu 16.04 с дровами amdgpu-pro открыть вкладку с определенным сайтом, например, hh.ru или pogoda.yandex.ru, то вкладка роняет весь процесс, в котором крутится, причем в dmesg выводится сообщение об ошибке где-то в недрах amdgpu_dri.so. Список «падающих» сайтов точно не известен, как и конкретный контент, рендер которого вызывает крах. Тестил сначала на версии видеодров 17.10, обновил до 17.30 — то же самое.
    Получается, что FF 58 не справляется с основной своей обязанностью — отображать сайты, и держать постоянно открытый по соседству хром ради таких особых сайтов как-то не хочется.
    Подскажите, ни у кого не было такого? Или мне стоит копать в своей системе?
  • DPI мобильных операторов: от бесплатного интернета до раскрытия номера и местоположения
    +2
    И вас с наступающим! Уважаю таких, как вы — даже в праздники занимаетесь любимым делом!
  • На шаг ближе к С++20. Итоги встречи в Торонто
    0
    Подписываюсь, тоже интересует данный вопрос. Также помимо приведения кода к модульному виду не понятно, как потом собрать готовое приложение из преобразованных исходников? Введется понятие проекта? Ручное указание списка исходных файлов модуля? Еще что-то?
  • [CppCon 2017] Herb Sutter: Метапрограммирование и кодогенерация в C++
    +1
    Столько вкусных фич! Даже не верится, что это будет все еще обеспечивающий высокую производительность C++. Надеюсь увидеть это в стандарте (и поддержку компиляторами) как можно быстрее.
  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    0
    Какие расчёты? Моё мнение таково, что точная дата обычно не нужна.

    Расчеты того, какой сезон был "год и 6 месяцев назад". Причем это еще и посложнее будет, чем просто взглянуть на номер месяца. Ну по крайней мере, для меня: мне в голове достаточно сложно (и лениво) просчитывать что-то дальше +-1 месяца от текущего.


    А почему ещё и «вчера»?

    Да, наверное, без "вчера" даже лучше будет. Думал, что с ним проще отделять сегодняшние сообщения от вчерашних (старых, прочитанных вчера).

  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    +4
    • Абсолютные даты позволяют рассчитывать, сколько времени назад произошло событие с нужной точностью вам самим, а не разработчику сайта. По надписи "год назад" определить, было ли это летом или зимой — невозможно;
    • Если писать "год и 6 месяцев назад", то добавляются те же самые расчеты, от которых вы пытаетесь избавиться;
    • Быстро пробежавшись глазами по комментариям с подписями "1 месяц назад", не понять интенсивности обсуждения, т.е. с каким интервалом оставлялись эти сообщения (может, они все были оставлены в один день). И наводить курсор на все эти подписи — ну совсем не вариант.

    Лично я был бы согласен только на один вариант с относительными датами: секунды, минуты, часы назад и вчера. Все, что раньше — полные даты.

  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    0
    Согласен, странно сделали: у комментариев месяц стал числом, а у публикаций по прежнему прописью. Старый вариант (везде прописью) был лучше.
  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    0

    Довольно удобная "проблема", красиво выходит. Похоже на применение флага --border-effect, но сколько я не пытался выставлять ему разные значения (vintage, border, даже дополнительный флаг -b пробовал), у меня ничего не дало подобного эффекта.
    Как вы это сделали?

  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    +1
    Не совсем. Для самого первого в ветке сообщения теперь точки нет :( Ну ладно, и так неплохо, хорошо, что вернули.
  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    +22
    А почему убрали иконку портфеля? Мне казалось, так удобно, сразу видно, что это хабы, а не теги какие-нибудь. И для тегов вместо картинки теперь текст. А в целом очень классный дизайн!

    image
  • С новым (айтишным) «годом» Вас, други
    +1
    Следующая новая эпоха (1600000000) состоится через три человеческих года, а именно «Sun Sep 13 12:26:40 GMT 2020»

    Кажется, я начал понимать, почему новые стандарты C++ выходят раз в три года…
  • Патчим прошивку Android за 5 минут
    0
    Это какие 150 шагов? Приведите парочку для примера. Мне хватило ровно того, что написал автор: подключить по USB девайс и ввести в терминал adb shell.
  • «Время жизни вкладки может быть почти бесконечным»: Тимофей Чаптыков о JS-разработке в ВКонтакте
    +1
    Скажите, вк действительно волнуют вопросы долгой жизни вкладки? Почему по прошествию всего суток автоматический предпросмотровщик ссылок в поле ввода сообщения ломается? Приходится рефрешить страницу только ради того, чтобы он снова заработал. Воспроизводится в Firefox как минимум на Ubuntu уже пару лет.

    И вообще баги как-то странно обрабатываются. Еще год назад сообщил в поддержку об этом баге и еще о паре (невозможности в Firefox прикреплять файлы Drag&Drop-ом в поле ввода сообщения и проблема с нагрузкой на ЦП при открытии просмотровщика фотографий) — до сих пор не исправлено, в поддержке еще тогда ответили «передано разработчикам, как только что-нибудь будет известно, мы вам обязательно сообщим». Скажите, может, для вас это очень пустяковые баги и всегда есть более приоритетные, или причина в чем-то еще?
  • Chrome победил
    0
    Браузер не закрываю подолгу, от пары недель до месяца (примерно раз в месяц понимаю, что пора перезагрузить систему). В браузере принудительно включена многопроцессность (лимит — 4 процесса, ранее 1, чтобы просто отделить GUI браузера от вкладок), из плагинов активно пользуюсь только TreeStyleTab, GreaseMonkey, FriGate и AdBlock.
    После перехода на многопроцессность было ощущение буста примерно в раза 2-3 (наверное, за счет прекращения подвисаний браузера на некоторых тяжелых сайтах). Все это было на ноуте с 8 ГБ ОЗУ и i5 на борту около года назад. Сейчас на десктопе i7, 16 ГБ ОЗУ, но что на ноуте, что на десктопе, падения случались крайне редко, даже вспомнить не смогу, когда примерно.

    Еще на ноуте был забавный случай, когда я в одной ветке дерева сделал хранилище из вкладок-картинок, примерно 100 штук. На удивление, браузер работал стабильно и не падал.
  • Chrome победил
    0
    А мне наоборот проще ориентироваться по дереву. Часто используемые вкладки быстро запоминаются, и рука уже сама тянется в нужное место. А если несколько задач — делаем одну вкладку родительской, а остальные дочерними (как у меня на скрине с хабром). Понадобилось отложить на время — скрыл дерево, захотел продолжить — развернул.
    Скриншот
    browser screen
  • Простой и быстрый сервер на C/C++ с клиентом на C#: TCP версия
    0
    Мне с вами сложно согласиться, что boost::asio подходит для новичка. Когда только начинал знакомиться с сокетами в C++, конечно, гуглил библиотеки и буст рассматривал. Но у меня была простая задача: передать файл по сети, т.е. простая утилита по типу netcat, и я совсем не понимал, зачем буст предлагает мне какие-то io-сервисы и acceptor-ы.
    В итоге накопал в интернете примеры работы с сокетами с помощью API ОС и сделал свою небольшую обертку над ним (кому интересно, репозиторий у меня на гитхабе — cppstreams). Файлы хотелось передавать между виндой и линуксом своим приложением, поэтому сделал ее кроссплатформенной, научил ее работать с C++-овым stream-ом и только после этого уже понял, для чего нужны io-сервисы, select-ы и как это вообще работает.
    Но вот так с наскоку разобраться в boost::asio у меня не вышло.
  • 10 мини-лайфхаков в Bash
    0
    А, понял, спасибо. Меня запутал ':', подумал, что это еще какой-то оператор и ничего про него не нашел.
  • 10 мини-лайфхаков в Bash
    0
    Поясните, пожалуйста, как работает форк-бомба из пункта 2?
  • Свои потоки ввода-вывода в C++ с помощью std::streambuf
    0
    Мне потребовалось год назад, а в рунете не смог найти никаких толковых статей. На английском нашел пару, но очень не хватало рабочих примеров и объяснения некоторых тонкостей. Оба этих недостатка постарался исправить в своей статье.

    Кстати, почему поздновато? Сейчас используют что-то другое с подобным функционалом?
  • Свои потоки ввода-вывода в C++ с помощью std::streambuf
    0
    Да, в примере предполагалось ловить только пробелы. Но можно и указанные функции применить — суть примера все-равно не в них.
  • Что приняли в C++17, фотография Бьярне Страуструпа и опрос для C++20
    0
    А можете пояснить, почему вы не хотите их видеть в стандарте?
  • Красиво «взламываем» ООП с помощью C++14
    0
    Попытался построить простую модель решаемой задачи:

    Код
    class TBase {};
    
    class Target : public TBase {
    	protected: int target_function(){ return 5; }
    };
    
    class Base {
    	private: TBase *tbase;
    	public: Base(TBase *t) : tbase(t) {}
    };
    
    class Main : public Base {
    	private: Target t;
    	public:
    		Main() : Base(&t) {}
    		const Target &getTarget(){ return t; }
    };
    
    int main(){
    	Main m;
    	int val = m.getTarget().target_function(); //нужно получить это
    }
    

    Реальные классы можете посмотреть в коде библиотеки. Для решения задачи наследованием нужно внедрить в класс basic_pstream своего наследника basic_pstreambuf.
  • Красиво «взламываем» ООП с помощью C++14
    0
    Работа с целевым классом в используемой мной библиотеке ведется не напрямую, а через еще один класс.
    Потоки из стандартной библиотеки устроены таким образом, что сначала реализуется наследник std::streambuf, а потом он используется в другом классе, наследующем std::iostream. Чтобы правильно внедрить свой streambuf, пришлось бы разбираться еще и в классе-наследнике iostream.
    Если знаете способ обойти это, буду признателен за совет.
  • Красиво «взламываем» ООП с помощью C++14
    –1
    Интересный вариант! Причем и для private-членов должно сработать.
    Но есть один недостаток: то для «взлома» мне нужно было самому осознанно писать имя макроса, а ваше делает видимым вообще все и без макросов.
    Мне все же больше понравился вариант с using.
  • Красиво «взламываем» ООП с помощью C++14
    0
    Действительно, забыл про эту фишку. Спасибо!
  • Голуби брутфорсят парадокс Монти Холла лучше людей
    0
    2 равновероятных вариант будет только в том случае, если рассматривать это как новую задачу. Но у нас задача изначально другая.
    Изначально 3 двери, за 2-умя их них козлы. Значит шанс ткнуть неправильную дверь = 2/3. Монти-Холл в любом случае откроет дверь с козлом. А значит в 2 из 3 случаев если мы изменим выбор, то попадем на выигрышную дверь (т.к. вторая проигрышная уже открыта Монти-Холлом, а первую мы выбрали сами).
  • Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N
    0
    Мне кажется, konstantin_berkow имел в виду именно тот факт, что вообще HelloWorld занимает больше мегабайта. А так да, согласен с вами, что 1.4 ближе к одному, чем к нескольким мегабайтам.

    И все же печалит, что по умолчанию подключаются толстые библиотеки, которые не всегда нужны. В большинстве небольших приложений, коих сейчас штопают пачками, без них можно вполне обойтись, а пользователь сэкономит по мегабайту с каждого такого приложения. Кто-то скажет, что сейчас-то о весе приложения уже можно и не париться. Да, возможно, если речь идет всего об одном приложении. Но если с каждого сэкономить по мегабайту, глядишь, еще одна игрушка объема Angry Birds влезет, или минута видео важного события из вашей жизни.

    Если же приложению действительно нужны эти библиотеки, то это уже, как мне кажется, задача разработчика понять, что нужно их использовать. Это, конечно, требует некоторых знаний и повышает порог вхождения, но зато некачественные приложения будут фильтроваться самими пользователями, а качественный софт будет в топах.
  • Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N
    0
    Нет, ничего он не погорячился с мегабайтами, только неделю назад скачивал андроид студию и создавал простейшее HelloWorld приложение средствами среды с настройками по умолчанию. Готовый apk занимает 1.4 мегабайта.
  • Windows XP 15 лет
    +2
    Интересно, на сколько гигабайт увеличится свободное место на диске, если почистить весь этот древний неиспользуемый мусор?
  • Повесть «НИИЧОСИ. S.A.Day»
    +1
    Просто шикарная концовка!
    Уже когда конец статьи виднелся на мониторе, я все гадал, как еще половина рабочего дня уместится в пару абзацов. И это превзошло все мои ожидания! Браво!
  • Один пиксель вместо тысячи слов
    +13
    Ничего страшного не произойдет, это читерная картинка. Даже если не загрузится, браузер подставит корректное изображение.
  • Последние новости о развитии C++
    0
    Рад слышать! Тоже очень жду модулей!
    А где можно почитать «почти готовый» стандарт про них? Интересно, как он выглядит на данный момент.
  • Microsoft поддержала рынок марихуаны
    0
    Это такой хитрый план правительства срубить кучу денег?
  • Самый черный материал на Земле не дает тонуть в воде алюминиевому диску
    +3
    А еще лучше — лабиринт с такими стенами, и пускать туда босиком, чтобы лишь отпечатки ступней посетителей высвечивались фонариком. Заходишь за угол, светишь назад — а отпечатков уже не видно. Красота!
  • Microsoft критикуют за новый трюк с принудительной установкой Windows 10
    0
    Что-то слабо верится в настолько «простую истину».
    Негативный эффект принудительного обновления, как мне кажется, больше всего у опытных людей и проявляется, поскольку для них разница в версии ОС есть, и, возможно, существенная. Вы действительно захотите после такого количества негатива разрабатывать что-то исключительно под эту ОС? Вот у меня что-то такого желания нет, хоть и со временем придется, конечно.
  • Назад в будущее: «Мегамозг» возвращается на «Хабрахабр»
    +1
    Спасибо большое! Спасли меня :)
    Раньше решал проблему взятием 0-го элемента от результата parents(), теперь можно обойтись без этих костылей.