Задать вопрос
  • Как правильно искать работу (откликаться на вакансии) без опыта работы?

    opium
    @opium
    Просто люблю качественно работать
    Писать что знаете
    Ничего не писать
    На любые вакансии откликаться
    Ответ написан
    Комментировать
  • Как снизить нагрузку на БД или какую БД использовать?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    Миллионы записей - это совершенно обычный и, я бы сказал, крайне небольшой кейс для MySQL.

    Самое быстрое: отпрофилировать запросы (например, performance_schema=1 и подключить sys-таблицы, они наполнятся данными по прошествии времени), найти неоптимизированные индексами и добавить недостающие индексы на этих таблицах.
    Ответ написан
    8 комментариев
  • Где почитать как работают беспроводные наушники?

    @terka43
    В Гугле забанили?
    аудиоресивер и Bluetooth декодер это плата, батарея, выходы на динамики, если надо, то можно ещё и микрофон запилить.
    По Bluetooth спариваются 2 устройства, потом поток передаётся на декодер, потом усилитель, потом в динамики
    Ответ написан
    Комментировать
  • Как собрать .c проект для Windows 10?

    myjcom
    @myjcom
    однако меня заверили, что и на 10 это возможно

    https://sourceforge.net/p/wipfw/discussion/388595/...
    I use mingw to compile userland part and NTDDK + VC6 to build sys driver.
    Ответ написан
    1 комментарий
  • Чем отличается обявление int* a от int *a в Си?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега C
    Седой и строгий
    Ни чем не отличается. Пробельные символы допустимо ставить в любом месте, где они не разрывают ключевое слово, идентификатор или константу. Все варианты ниже полностью эквивалентны:
    int*a;
    int* a;
    int *a;
    int * a;

    Но есть некоторая тонкость. Если посмотреть на синтаксис объявления нескольких переменных:
    int * a, * b, c, * d, e; // a, b и d - указатели, c и e - числа

    то будет видно, что "звездочка" является скорее модификатором переменной, чем модификатором типа. Чтобы подчеркнуть этот факт, рекомендуется всегда писать "звездочку" около переменной. Такая привычка позволяет избежать глупых ошибок:
    int *a, *b; // нормально
    int* a, b;  // Ошибка: b кажется указателем, но на самом деле - число.

    А синтаксис у C простой.
    5c77e725c3f4a317612433.jpeg
    Ответ написан
    1 комментарий
  • Зачем ставить фигурные скобки после вызова метода?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Фигурные скобки создают новый блок со своей областью видимости (к последнему выражению это отношения не имеет):
    int A = 0;
    
    {
        int A = 1;
        int B = 1;
        std::cout << A << "\n"; // 1
        std::cout << B << "\n"; // 1
    }
      
    std::cout << A << "\n"; // 0
    //std::cout << B << "\n"; // <-- error: B was not declared in this scope
    Ответ написан
    16 комментариев
  • Как сейчас актуально делать свой почтовый сервер, чтобы доходило до gmail/yandex/mail?

    @CHolfield
    Чтобы доходили письма, нужно:
    1. Настроить DNS. MX- запись, А-запись хоста, в обратной зоне соответствующая PTR-запись.
    2. Купить сертификат для SMTP и прикрутить его к серваку. Имя субъекта в серте должно совпадать с именем хоста DNS.
    3. Пройтись по публичным блек-листам и удалить свой айпишник оттуда, если он там был.
    Ответ написан
  • Как работать с выгоранием?

    @Ksushqa
    Unity developer
    Как же я вас понимаю! Тоже 2+ года и тоже чувствую себя выжатой как лимон. Работа за копейки, нет конца и края меняющимся требованиям. Хотят много, дают в ответ мало, даже хотя бы банального эмоционального отклика (я довольно идейный человек и мне искренняя благодарность очень важна) нет. Ни "спасибо", ничерта... Сделай за себя и за того парня. В итоге пришлось идти в больничку. Обследовалась от и до. Сказали все "болезни" у меня от нервного истощения, тело здорово. Была недавно на больничном, даже отдохнуть не дали нормально. Всё равно пришлось работать. На выходных – часто работаю. Короче, вы понимаете, каково это :) И при этом работать на устаревшем ***, за 2+ года мало роста.

    На этой неделе понесу заявление на увольнение.

    Вина на вас только в том смысле, что вы себя недостаточно любили :) Не отстаивали свои "границы", как любят говорить психологи.

    Как то можно заранее выявить такую компанию с таким же отношением и организацией, чтоб не попасть на те же грабли?

    Заранее не всегда возможно. Но вы должны быть внутренне настроены на то, какую работу вы хотите, а что терпеть не будете точно (что аукается на ваше здоровье?). И отстаивать это в общении с работодателем. Я начала отказываться работать на выходных, перестала торопиться всё успеть, потому что начальству захотелось. Перестала соглашаться со всеми заданиями подряд, а если что-то вижу слишком затратным или нецелесообразным – так и говорю с приводом аргументов. А в любую оценку времени на работу теперь нагло прибавляю время на отдых/восстановление (просто потому что привыкла себя загонять и хочу чуть замедлиться, а значит нужно больше времени). Ничего, никто не умер. Едут на том, кто везет :) Не болейте!

    P.s.:
    Ну вот собственно, выгорание случилось, как теперь работать с выгоранием?
    Возьмите направление к неврологу. Если верите в "психологов", можете на консультации походить. Тут дело не только в сложности работы, но и в том, что вы берете всю нагрузку, что на вас взваливают (быть хорошим? вина при отказе?). Двояко.
    Ответ написан
  • Как правильно сделать "git pull для обновления" чтобы получить изменения из одной папки в другую на одном компьютере?

    Stalker_RED
    @Stalker_RED
    Вы не получите простую инструкцию из двух команд. Просто потому, что их для нормальной работы понадобится чуток побольше, чем две. Ближе к десятку.
    В принципе, можно написать несколько sh скриптов, которые будут скрывать в себе все внутренности, но это до первого конфликта.

    Вам в любом случае понадобиться узнать что такое add, commit, pull, push, checkout и merge. А рано или поздно еще и некоторые ключи к ним.

    Книжка вот: https://git-scm.com/book/ru/v2
    Ответ написан
  • Правильно ли я понимаю?

    15432
    @15432
    Системный программист ^_^
    Неа, number[3] - четвертый элемент массива, нумерация с нуля идёт (0, 1, 2, 3 ,4).
    Ответ написан
    1 комментарий
  • Почему неправильно преобразуется структура?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Из за чего это ?

    Из-за выравнивания полей данных в структуре и из-за того, что long -- 8 байт. В структуре my_struct_in у тебя идут подряд short, short и long. Первые два short -- выравнены, а чтобы выравнять long компилятор вставил перед ним в структуру дырку длиной в 4 байта. Можно напечатать offsetof(struct my_struct_in, addr) чтобы в этом убедиться.

    Что делать? Использовать типы фиксированной ширины (uint32_t addr, если имелся в виду IP адрес). Паковать структуры (если выравнять нельзя), либо располагать поля согласно их натуральному выравниванию.
    Ответ написан
    3 комментария
  • В чем ошибка (работа с памятью, деструкторы)?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    У вас же C++, т.е. можете использовать вектор для хранения элементов без необходимости явного выделения памяти:
    #include <vector>
    
    // double* _coords;
    std::vector<double> _coords;
    
    // _coords = new double[N];
    _coords.resize(N);

    Ну и деструктор можете не писать.
    Ответ написан
    Комментировать
  • Почему в решениях с одинаковой сложностью существенная разница во времени расчета?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему в решениях с одинаковой сложностью существенная разница во времени расчета?

    Я отвечу на вопрос из заголовка: потому что сложность алгоритма говорит о том, как он будет вести себя при неограниченном увеличении размерностей входных данных. И больше ни о чём. Т.е. нельзя имея два линейных алгоритма сказать, что они будут работать одинаковое время. Но можно имея линейный и квадратичный алгоритм сказать, что начиная с какого-то момента линейный всегда будет работать быстрее.
    Ответ написан
    2 комментария
  • Почему в решениях с одинаковой сложностью существенная разница во времени расчета?

    @dmshar
    "Я вам не скажу за всю Одессу" :-), но давайте сравним только with_map(a, l) и traditional_way(a, l). В обоих функциях присутствует цикл (for item in l:) который выполняется примерно за одинаковое время. Но with_map содержит еще и строку
    z = min(map(lambda x: abs(a-x), l)) , которая сначала выполняет map(lambda x: abs(a-x), l) -
    еще один проход по массиву, а в полученном результате ищет min - т.е. пробегает по списку еще раз. Итого - три прохода по массиву, вместо одного в traditional_way. С остальными функциями - примерно та-же история. (Например min(l, key=lambda x: abs(a-x)) - это как минимум два прохода по вашему списку).
    Ответ написан
    3 комментария
  • Почему перестает работать жесткий диск?

    hint000
    @hint000
    у админа три руки
    1.
    виктория не помогает
    - виктория помогает понять причину, никто не обещал чудесного исцеления. Если знаете, что такое SMART у жесткого диска, то смотрите, что выдаёт SMART, и сюда выкладывайте - на основе SMART'а вам кучу советов дадут. Если не знаете, что это такое и как посмотреть, тогда сначала гуглить.

    2. напишите, что за железо, хотя бы примерно, и сколько ему лет. А то вдруг у вас там материнки, БП и диски, которым по 7-10 лет - тогда было бы закономерно, что оно всё умирает одно за другим.
    Когда железо менялось на новое - это было на самом деле новое, т.е. из магазина?

    3. компьютеры подключены через нормальные сетевые фильтры? (а лучше через ИБП (а еще лучше фильтр+ИБП)) Не замечали явных косяков с питанием (например, меняется яркость освещения в комнате)? Есть ли возможность мультиметром измерить напряжение в розетке? Марку и мощность БП напишите.

    4. по второму системнику - при включении смотреть на индикатор активности диска. Если через несколько секунд после включения индикатор начинает моргать (и моргает так, грубо говоря, минуту), значит в это время система загружается, т.е. в целом комп живой, только надо понять, почему нет картинки на мониторе.
    Если индикатор диска вообще не мигает после включения, значит комп - труп (60% проблема с материнкой, 30% - с БП, 10% - что-то ещё таинственное).
    Ответ написан
    1 комментарий
  • Требуется бэкап отдельных файлов при их изменении под Windows10 (перехват функции сохранения)?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    История файлов в Windows 10.
    файл может быть изменен через 1 год.
    А для этого нужно делать резервные копии файлов.
    Ответ написан
    Комментировать
  • Требуется ли для системного администратора знание программирования в 1с/web?

    @Dementor
    программист, архитектор, аналитик
    Заходит в ИТ отдел главбухша и прямиком к ведущему админу подходит:
    - У меня такая-то такая-то проблема с 1c.
    - У нас нет штатного специалиста по 1c, но я его вызову, будет завтра.
    - А знаете, у меня на прошлой работе, этим занимался админ!
    Тот с небольшой паузой:
    - А у меня на прошлой работе, главбухша полы мыла!

    P.S. Думаю, что намек понятен. Единственное программирование, которым должен заниматься админ - это автоматизация своей работы, а не решение бизнес-задач.
    Ответ написан
    5 комментариев
  • Почему #define не рекомендуетс к использованию?

    BacCM
    @BacCM
    C++ почти с рождения
    Потому, что
    1. нет контроля типов
    2. нет ограничения по области видимости, типа неймспейсов.
    3. макрос разворачивается подстановкой в месте использования, т.е. там будет вставлен код
    ((a) > (b) ? (a) : (b)) который превратится в ((++a) > (b+10) ? (++a) : (b+10))
    4. макросы сложно отлаживать
    5. неправильно написанный макрос будет компилироваться в непонятно что. Например если убрать те же скобки

    как без них раскроется выражение x = max(a, b) + 10; ?
    x = a > b ? a : b+10;

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

    #include <iostream>
    
    #define mymax(a,b) a>b?a:b
    #define mul(a,b) a*b
    
    int main() 
    {
    
    	std::cout << mymax(5, 10) << std::endl; // Ошибка компиляции
    	std::cout << mul(5+5, 10) << std::endl; // Неожиданно на выходе 55, а не 100
    
    	return 0;
    }
    Ответ написан
    3 комментария
  • В какой специальности или должности можно соединить ИТ, финансы и юриспруденцию?

    Руководитель ИТ-компании.
    Ответ написан
    Комментировать