• Шаблоны в cpp, что и как?

    Chaos_Optima
    @Chaos_Optima
    #include «queue.cpp»
    Ответ написан
    Комментировать
  • Адекватность генератора псевдослучайных чисел?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    работающие «из коробки» тесты на определение близости ГПСЛ к случайным числам

    Dieharder
    Ответ написан
    Комментировать
  • Поздравление женской части коллектива от IT-отдела

    Напишите мини статью о смене фона женскому коллективу с помощью политик…
    Ответ написан
    Комментировать
  • Усановка цветовой схемы vim

    moonlighter
    @moonlighter
    Вкратце: вы либо используете недостаточно цветной терминал, либо используете достаточно цветной, но vim об этом не знает.

    Во-первых, надо оговориться, что в GVim схема работает замечательно, но это не удивительно, в GUI-режиме вообще используются RGB-цвета. Но судя по слову «putty», вас это не интересует.

    Во-вторых, попробовав у себя эту схему, я тоже обнаружил, что она серая в консоли. Всмотревшись в содержимое файла колорсхемы, я заметил что в поле ctermfg= изобилуют значения, близкие к 255, и задумался, а мой терминал 256-цветный? В этом ответе я нашёл замечательную фразу: GNOME Terminal supports 256 colors, but doesn't advertise its support. То есть vim не знает, что терминал поддерживает 256 цветов, огорчается, и не показывает их вовсе.

    Если ваш терминал 256 не поддерживает, то делать тут, наверное нечего. Нужна схема, у которой есть fallback к 16-цветному режиму. Я, например, использую vividchalck — очень уж мне её контрастность нравится.

    Если же поддерживает, то, как советуют в том ответе, можно установить переменную TERM в значение xterm-256color перед запуском Vim, и станет хорошо. То есть

    $ export TERM=xterm-256color
    $ vim file.cpp
    

    или

    $ TERM=xterm-256color vim file.cpp
    

    Во втором случае мы не портим переменную TERM и меняем её только для данного запуска Vim. Проверено на Vim 7.3, bash 4.2.37, эмулятор терминала Konsole (KDE 4.9.4).

    Лучший способ узнать, поддерживаются ли 256 цветов, то есть сработает ли этот способ, это, наверное, попробовать его :)
    Ответ написан
    Комментировать
  • Сброс стилей элемента на JS

    vermilion1
    @vermilion1
    В таких случаях лучше всего использовать iframe.
    Ответ написан
    Комментировать
  • Почта России (трек) — пора ли волноваться?

    antoo
    @antoo
    image
    обычное дело…
    Ответ написан
    Комментировать
  • Бесплатная IDE для Java Script'a?

    jetman
    @jetman
    WebStorm EAP бесплатен и имеет неплохую интеграцию с NodeJS: confluence.jetbrains.net/display/WI/WebStorm+6+EAP
    Ответ написан
    6 комментариев
  • Rand с различной вероятностью?

    @agmt
    Если плотность вероятности равномерно возрастает, значит функция распределения возрастает по параболе. Значит в итоге нужное число можно получить по формуле «1+sqrt(rnd(10000))».
    Ответ написан
    3 комментария
  • С++. Создание и инициализация произвольного std контейнера через template?

    CleverMouse
    @CleverMouse
    Если же vector хочется оставить, а убрать только int, тогда даже дополнительного класса не нужно. Правда, нужно учитывать, что у std::vector на самом деле два параметра шаблона.
    template<template<typename U, typename Allocator> class Container, typename T, size_t n>
    Container<T, allocator<T> > ContainerMake(const T(&array)[n])
    {
    	return Container<T, allocator<T> >(array, array + n);
    }
    
    const int vals1[] = {0, 1, 2, 3, 4};
    vector<int> vct1 = ContainerMake<vector>(vals1);
    
    
    Ответ написан
    1 комментарий
  • Влияние наличия конструктора на расположение элементов внутри класса?

    mejedi
    @mejedi
    Вам знакомо понятие «выравнивание»?

    В зависимости от модели, процессор либо вообще не умеет читать невыравненные данные (ex: попытка чтения четырех байтового слова по адресу, не кратному 4 приводит к аппаратному исключению) либо делает это очень медленно. Атомарные операции также работают только с выравненными данными.

    Таким образом, поле типа long должно быть выравнено на границу 8 байт. Так как объекты могут располагаться в массивах подряд друг за дружкой, размер объекта также должен быть кратен 8. В общем случае — необходима кратность максимальному выравниванию среди полей. В результате получается следующий расклад: 8 байт long, 4 байт int, 4 байт паддинга. Если выравнивание на 8 байт не нужно (отсутствует long поле), то необходимости «подгонять» размер объекта тоже нет, и паддинга не возникает.

    Теперь самое интересное — почему есть эффект от пустого конструктора?

    Снова обратимся к теории. В C++ есть понятие POD типа. Можно сказать, это такая декларация, для которой гарантируется совместимость с Си. Для структур в языке Си непосредственно в стандарте прописаны правила «раскладки» полей в памяти, паддинги и все такое. До тех пор, пока Point не имеет пользовательского конструктора, он является POD, и следовательно должен иметь в конце «неприкосновенный» padding.

    Напротив, для не-POD типов стандарт не фиксирует представление в памяти. Например классы вполне законно представлять хоть хеш-таблицей, именно поэтому в C++ запрещено использование offsetof для полей класса. Поэтому компилятор вполне вправе творчески переиспользовать padding в объете Point для полей Point3D. Замечу, на другом компиляторе вы могли получить другой результат, и это было бы все равно ок с точки зрения языка C++.

    Что любопытно, объявления с ключевым словом class все еще могут быть POD-типами. Классы и структуры перестают быть POD типами наприемр если есть наследование или пользовательские конструкторы или виртуальные функции.
    Ответ написан
    1 комментарий
  • Почему код не выполняется

    qxfusion
    @qxfusion
    Ответ достаточно простой — дело в том что Ваш код в принципе не вызывается.

    Когда Вы выполняете функцию в ТЕКУЩЕМ контексте — то конвеер ноды (V8) занят выполнением Вашей функции — скажем например — function foo()
    Вы пытаетесь создать объект jsdom НО результат метода env является асинхронным, поэтому он будет добавлен в стэк будущих вызовов, НО т.к. в текущем контексте функция foo еще не завершилось, то планировщик НЕ может перейти к другому заданию.

    Например у Mozilla Rhino нет такой проблемы благодаря Java основе, но в V8 модель потоков исключительно однопоточная в рамках контекста.

    Решение: попробуйте вызывать каждую интерацию через setTimeout или process.nextTick (хотя конечно этот метод будет скоро deprecated) тогда Вы получите сильно загруженный конвеер, однако у Вас будут работать асинхронные события.
    P.S. при бесконечном заполнении стэка вызовов при количестве возвратов более чем 50000 нода скорее всего упадет, поэтому не забывайте контролировать рост очереди вручную.
    Ответ написан
    Комментировать
  • Драйвер на языке линуксоида?

    giner
    @giner
    Драйвер он и в Linux называется драйвер, а представляет из себя модуль ядра.
    Ответ написан
    1 комментарий
  • Почему степени так себя ведут?

    TheHorse
    @TheHorse
    Потому что степень не является коммутативной.
    a + b = b +a
    a*b = b*a
    a^b != b^a
    Ответ написан
    1 комментарий
  • Так ли необходим ВУЗ?

    cypok
    @cypok
    Я учусь на вечерне/заочном, появляться нужно 4-5 раз в неделю после 6-ти и до 9-ти вечера(2 пары), институт известен по городу тем что там не учат, а только плати деньги
    Такой вуз точно не нужен.
    Ответ написан
    Комментировать
  • Как запоминать хотя бы половину того, что читаешь?

    Doktor_Gradus
    @Doktor_Gradus
    Со статьями проще, они копируются целиком (я в Evernote копирую) и достаточно помнить, что я про это читал и статью скопировал и в нужное время статья перечитывается.

    Книги надо конспектировать. Да, это трудно. Но это необходимый труд. Конспекты -> Evernote. Хотя конспекты я предпочитаю хранить в OneNote.

    Если книга читается по профдеятельности, то предлагаемый код нужно не открывать из приложенных к книге дисков/архивов, а набирать самому. Экспериментировать, изменять. Все эти наработки сохраняются в папочку на компе.

    Не думайте, что у вас какая-то особенно плохая память. Нет, обычная, склонная запоминать только необходимое или произвёдшее сильное впечатление. Такая у большинства людей. Поэтому надо запоминанием материала надо работать. Людей, способных запомнить толстый справочник с одного прочтения и навсегда — единицы.
    Ответ написан
    4 комментария
  • Выбор первой IDE для С/С++ в кружке программирования?

    Первой IDE всегда был и должен быть блокнот. Чтобы заучить синтаксис наизусть до рефлекторного уровня и обязательно полностью, а то есть такие люди, которые привыкнув к автодополнениям в популярных IDE потом только начало комманд помнят (реально встречались). Да и кроме того, перейдя с него на нормальную среду разработки человек ощутит огромный прилив творческих сил, уверенность в себе и прочие ништяки, а уверенность в правильности избранного жизненного пути только окрепнет.
    Ответ написан
    5 комментариев
  • Какой HTML/CSS-редактор под Windows актуален?

    delmot
    @delmot
    Советую WebStorm. В 5-й версии ожидается необходимая вам функциональность: www.youtube.com/watch?v=TnnVl3ydIB0
    Ответ написан
    Комментировать
  • Какой HTML/CSS-редактор под Windows актуален?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В том же NetBeans есть плагин для превью стилей. Человеку, который верстает достаточно хорошего автокомплита и подсветки синтаксиса, валидации CSS/HTML. Хороших редакторов в этом плане более чем достаточно. Если же хочется видеть изменения как только поправил свойство — проще открыть web инспектор (хром, опера, огнелис, да тот же IE) и править стили прямо там. На сегодняшний день это достаточно удобно. Плюсом этого способа так же является то, что вы видите сразу и поведение в каждом конкретном браузере.
    Ответ написан
    Комментировать
  • Каким языкам программирования учить в колледже?

    MetAmfetamin
    @MetAmfetamin
    Python
    Так как можно показать:
    — процедурную парадигму
    — ООП
    — разработку настольных приложений
    — реализацю различных скрипотов для помощи в администировании (не все будут разработчиками)
    — реализацию простого web (можно даже с gae)

    Если с Python проблемы/не_подходит/не_нравится, то можно преподавать Java или C#: первый семестр — desktop, второй — web.
    Но в любом случае язык должен быть один на протяжении всего курса.

    P.S. Для junir-ов не забудте показать какую-нибудь систему управления версиями и баг-трекер.
    Ответ написан
    1 комментарий