Задать вопрос
  • Почему ноутбук самопроизвольно выключается?

    eapeap
    @eapeap
    Сисадмин, Беларусь
    Допустим я при старте зашёл в настройки BIOS, а он через 5 минут выключился.

    Во время работы в БИОСе энергопотребление процессора - максимально. Не работает еще никакое энеогосбережение. Вот он и выключается от перегрева.
    Изначально он вообще был тихий и быстрый, а сейчас постоянно разгоняет кулер и выключается.

    Перегрев процессора, опять же.
    Похоже, неисправен радиатор. Попробуйте заменить.
    Термотрубка - это не кусок меди, а трубка, заполненная частично водой, из нее откачан ввоздух, температура кипения воды в ней 40-50 градусов. Если появляется трещина - вода испаряется, термотрубка становится просто трубкой. Начинаются перегревы. Почитайте про термотрубки в Интернетах, перед тем, как покупать новый радиатор.
    Ответ написан
    2 комментария
  • Как в ubuntu на C++ найти в директории исполняемые файлы?

    HiNeX
    @HiNeX
    Web Developer
    stackoverflow.com/questions/5719694/having-a-path-...

    #include <sys/stat.h>
    
    bool can_exec(const char *file)
    {
        struct stat  st;
    
        if (stat(file, &st) < 0)
            return false;
        if ((st.st_mode & S_IEXEC) != 0)
            return true;
        return false;
    }
    Ответ написан
    Комментировать
  • Windows 8 VS Linux?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    переключение между PS и редактором занимает ~ 10 секунд

    Ну че, логика верная. Нет фотошопа - нет проблем.

    2ГБ Оперативки

    Вы не думали увеличить объем... скажем до 8-ми? или хотя бы до 4-ех? Ну и да, SSD. А так поменяете вы систему или нет - разницы не будет с таким железом.
    Ответ написан
    2 комментария
  • Какое решение подобрать для почтового сервера?

    @MechanID
    Админ хостинг провайдера
    Вариант первый - поставить и забыть это Zimbra: быстро практично но мало опыта
    плюсы: быстро и зачастую работает из коробки.
    минусы: если чтото сломается вы врядли сходу разберетесь что не так.

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

    Самые часто используемые компоненты бесплатных почтовых систем:
    ОС - на выбор Centos или Debian, если времени много и хочется бонусный опыт то Gentoo.
    exim или postfix - smtp сервер
    dovecot или courier imap - pop3/imap сервер
    Базу где хранить логины пароли и тд это может быть как текстовичок так и БД MySQL или Postgres
    далее наверно захочется спамфильтр - spamassasin, amavisd
    антивирь - clamav
    сервер сайд фильтры для почты (раскладывать почту по папкам на основании правил) sieve
    вебморду для доступа в почтовые ящики squirremail. roundcube, horde и тд
    вебморду для управления пользователями (если в БД) postfixadmin

    вот както так.
    Ответ написан
    2 комментария
  • Какую литературу использовать, чтобы начать программировать в Си?

    @lstdayofhmnty
    Если опыт есть - K&R.
    Если нет - Прата.
    И эта, Пётр, потрудись разобраться с поиском на ресурсе.
    Ответ написан
    Комментировать
  • Что значит "развитое логическое мышление"?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Вы разве не в курсе? Это то же самое, что и нацеленность на результат и умение работать в команде.
    Ответ написан
    5 комментариев
  • SSD + Elementary OS = Скорость?

    Spetros
    @Spetros
    IT-шник
    Вообще-то "шифрование на уровне ОС" требует ресурсов.
    Одно дело просто передавать данные по интерфейсу, и совсем другое дело обрабатывать и расшифровывать зашифрованную информацию.
    Ответ написан
    2 комментария
  • Инъекция рекламы в HTTP трафик, как реализовать и при помощи чего?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Ну почему всё всегда сложно? Читай - не гугли, сразу спроси.

    Конкретно у вас - зависит от того, как настроено зеркало. Но если это не перенаправление запроса (что в общем-то глупо), то достаём любой веб-сервер, любые запросы зеркалим на целевой ресурс, в полученный ответ вставляем баннер (предварительно его надо будет распарсить, да). Радуемся жизни. Правда есть ли в этом смысл? Если ресурс популярный и вашим способом часто пользуются - проще сделать аккурат кнопку донат. Если нет - то с рекламы доход будет чуть более чем никакой.
    Ответ написан
    8 комментариев
  • Какая IDE для обычной C?

    @mikhail_404
    CodeBlocks хорошо разделяет C++ и С. Будет возмущаться, если смешивать эти языки.
    Ответ написан
    Комментировать
  • Где стандартное IDE в python?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    IDE по умолчанию считается IDLE pycode.ru/files/book/install.pdf
    Ответ написан
    1 комментарий
  • Какой набор ПО нужен для удобной работы на vps?

    berezuev
    @berezuev
    #define TRUE FALSE
    Для работы с веб-сервером нужен Putty и знания)
    Ответ написан
    Комментировать
  • Как передать и проверить много параметров функции?

    @monah_tuk
    Дополню камрада ManWithBear

    Не нужно структуру отдельно переделывать в класс. Это и так класс, только доступ по-умолчанию public. И метод проверки можно не добавлять, а сделать внешним по отношению к структуре. Свободные функции не всегда плохо. Плюсы такого подхода в том, что memory-layout будет предсказуемый, а если в структуре нет non-POD типов то они останутся POD типами.

    Т.е. получится что-то вроде такого:
    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    struct Point
    {
      int x;
      int y;
    };
    inline bool is_valid(const Point& p)
    {
      bool result = true;
      // some checks
      return result;
    }
    
    struct Rect : Point
    {
      int width;
      int height;
    };
    inline bool is_valid(const Rect& r)
    {
      bool result = is_valid(static_cast<const Point&>(r)) && r.width > 0 && r.height > 0;
      return result;
    }
    
    int main() {
    	// теряется возможность делать так:
    	//Rect r = {0, 1, 2, 3};
    	Rect r{};
    	r.x = 0;
    	r.y = 1;
    	r.width  = 10;
    	r.height = 11;
    	
    	auto check = is_valid(r);
    	
    	cout << " x=" << r.x
    	     << " y=" << r.y
    	     << " w=" << r.width
    	     << " h=" << r.height
    	     << " valid=" << check
    	     << endl;
    	
    	cout << sizeof(Rect) << "/" << sizeof(int)*4 << endl;
    	
    	uint8_t *ptr = reinterpret_cast<uint8_t*>(&r);
    	auto beg = ptr;
    	auto end = ptr + sizeof(Rect);
    	for (auto it = beg; it != end; ++it) {
    		cout << hex << setfill('0') << setw(2) << (int)*it << " ";
    	}
    	cout << endl;
    	
    	return 0;
    }


    Можно функцию проверки сделать и методом класса/структуры и, при этом, не виртуальной. Тогда проверка будет вызываться только в соответствии с типом. Тогда можно обойтись без static_cast, получится что-то вроде:
    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    struct Point
    {
      int x;
      int y;
      
      bool is_valid() const
      {
      	bool result = true;
      	// some checks
      	return result;
      }
    };
    
    struct Rect : Point
    {
      int width;
      int height;
    
      bool is_valid() const
      {
      	bool result = Point::is_valid() && width > 0 && height > 0;
      	return result;
      }
    };
    
    void pass_point(const Point &p)
    {
    	cout << "point is valid: " << p.is_valid() << endl;
    }
    
    int main() {
    	// теряется возможность делать так:
    	//Rect r = {0, 1, 2, 3};
    	Rect r{};
    	r.x = 0;
    	r.y = 1;
    	r.width  = 0; // make invalid
    	r.height = 11;
    	
    	auto check = r.is_valid();
    	
    	cout << " x=" << r.x
    	     << " y=" << r.y
    	     << " w=" << r.width
    	     << " h=" << r.height
    	     << " valid=" << check
    	     << endl;
        
        // но следующий вызов скажет что точка валидна:
        // вызов валиден, т.к. Rect отнаследован от Point
        pass_point(r);
    	
    	cout << sizeof(Rect) << "/" << sizeof(int)*4 << endl;
    	
    	uint8_t *ptr = reinterpret_cast<uint8_t*>(&r);
    	auto beg = ptr;
    	auto end = ptr + sizeof(Rect);
    	for (auto it = beg; it != end; ++it) {
    		cout << hex << setfill('0') << setw(2) << (int)*it << " ";
    	}
    	cout << endl;
    	
    	return 0;
    }


    Сложности могут возникнуть, когда появятся ромбические связи и потребуется виртуальное наследование.
    Ответ написан
    1 комментарий
  • Почему nginx не обрабатывает запрос после нахождения индексного файла?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    > Почему так происходит
    Потому что делается запрос к /content/ , а не к /content/index.php.
    А значит, обработка запроса остаётся в location /, а не уходит ниже ( а в / у вас есть всё для того, чтобы отдать index.php).

    > как сделать, чтобы index.php не срабатывал при запросе /content/
    Описать то, что должно происходить в location /content/ (и, кстати, нет смысла особого делать его вложенным в таком случае).
    Если должен отрабатывать автоиндекс - так и напишите. Если должна открываться другая индексная страница - так и напишите.
    Если должен быть автоиндекс + запрет на php - то так и напишите.
    Ответ написан
    2 комментария
  • Почему в скайпе при выходе из сети отображается неправильный статус?

    Moskus
    @Moskus
    Когда вы логинитесь клиентом, который поддерживает push-уведомления (то есть мобильным клиентом), а потом просто выходите из него, не делая log out, Skype пытается доставлять вам сообщения через push-уведомления, что, естественно, не всегда работает.
    Для того, чтобы это не происходило, на мобильных клиентах нужно всегда делать log out, а не просто выходить из приложения.
    Чтобы проверить, сколько сессий (end point-ов) у вас висит в данный момент, в окне чата с любым из ваших контактов (этот контакт ничего не увидит и не получит) введите:
    /showplaces
    Чтобы закрыть все открытые endpoint-ы кроме той сессии, где вы это введете, введите там же:
    /remotelogout
    Ответ написан
    4 комментария
  • Какое направление выбрать: мобильная разработка, фронтенд или бекенд?

    Lucian
    @Lucian
    https://t.me/MakeFreelance
    Привет, не гонитесь за спросом, работайте там где интересно, потому что вы не сможете работать качественно, там где вам не нравится и соответственно не сможете конкурировать на бирже, готовлю статью по python/backend в своем блоге, поделюсь опытом, расскажу как обстоят дела в моей отрасли web crawling, вообще мне импонирует iOS, но верстать я тоже не люблю. На счет фриланса можете почитать мои некоторые статьи goo.gl/PPtzew, goo.gl/s0hOkl
    Ответ написан
    Комментировать
  • Есть ли фриланс ближе к 30?

    @pavelblossom
    Начал кодить в 27 лет. начал с фриланса, через год пошел работать чтобы научиться правильно кодить. До этого торговля всякая была. А сейчас программирую и довольно качественно на PHP и ребята, которые больше по времени кодят советуются по коду. Если ты действительно замотивирован, то это главное. А еще очень важно понимать что нет какого-то крайнего возраста для развития. Это общепринятое мнение и общепринятая отмаза не менять ничего в своей жизни.

    Я как раз пошел по второму пути. Аналитический ум, и умение решать разные задачи привели к тому что пофигу на чем писать, главное с семантикой познакомиться. Ну и есть конечно паттерны и прочее, универсальное для семейства ООП, например.
    Ответ написан
    4 комментария
  • Как заставить Ubuntu 14.10 учитывать выбранную раскладку?

    Уже во всех DE (KDE,LXDE,XFCE) нормально всё с языками с гуя делается. Unity в ubuntu, никогда не использовал, может там ещё не умеют.

    Когда-то давно я такой скрипт запускал, может поможет:

    #!/bin/sh
    setxkbmap -model pc105
    setxkbmap us,ru winkeys
    setxkbmap -option # clear all options
    setxkbmap -option grp:alt_caps_toggle,grp_led:scroll
    Ответ написан
    3 комментария
  • Правильно ли составлена команда WGet?

    @AVKor
    Если кратко, то неправильно.

    Более точно можно посмотреть в man wget.

    Есть подозрение, что вместо чтения документации было гугление набегом, причём неверно понятое (опция -P делает совсем не то, что полагаете).
    Ответ написан
    Комментировать