Задать вопрос
  • В чем смысл ВУЗа?

    @garik_R
    On my way
    В ВУЗе учат взаимодействовать с людьми. Не в том смысле, что прогулять пары, прибухнуть, а наоборот, решить проблемную контрольную, написать курсовую. Развивать навыки, в любой сфере. Часто, именно этим, люди в Вузе и пренебрегают. Это социальная структура, где, по идеи, должны были собраться люди со схожими интересами. К сожалению, у нас это простой способ откосить от армии. Или родители сказали: "Ты должен поступить..." еtc. Кроме того, диплом поможет устроиться на хорошую работу у нас в стране или где-то в другой.

    Зачем учить? Что касается "странных" предметов, которые, казалось бы, никому не нужны - это ошибочная точка зрения. Любая работа сталкивает нас с такими неожиданностями, о которых мы и не думали. Вот тогда и вспоминаешь про какое-то ОБЖ и так далее. Часто негодование на этот счет связано не с большим умом, а наоборот, с большим незнанением и узким взглядом на жизнь. Подобные предметы нужно проглотить, отмучаться и знать где подсмотреть в случае чего. Или просто посмотреть шире. Вы же не станете отрицать, что даже если Вы учитесь на программиста, знать основы экономики необходимо, верно? А потом вы можете устроиться на работу, где будете писать какой-то софт где уже и не помешают и глубокие знания?

    Без математики можно заниматься только формошлепством. Везде так или иначе нужна математика. Где-то простая арифметика, где-то нюансы шифрования.

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

    Учить наизусть? Скажем так - хуже не будет. Да, сейчас всё немного изменилось. Если до ~2000х важно было иметь хорошую память. По книгам сложней искать, но других способов тогда не было. Сейчас нет острой необходимости помнить важную информацию. Сейчас важно знать где найти. Это умение стало более важным сейчас, из-за доступности интернета. Важная информация откладывается у вас в голове, если вы её постоянно используете - этого не избежать. Тут действительно, сейчас важно знать где найти, чем помнить досконально. Но человек, который является ходячей библиотекой оставляет гаааараздо более интересное впечатление, нежели тот, который говорит: "Щас, сек, я точно знаю, это вот здесь было написано". Перед работодателем это совершенно точно. Если вы помните, умеете развивать мысль, а не тупо заучили - то вы оставите более яркое впечатление. Мне кажется, это старомодный подход и со временем действительно можно будет погуглить и это всех будет устраивать. Но сейчас имидж умного, начитаного человека всё еще очень важен. Всё еще интересно поговорить вживую, с телефоном в кармане, нежели общаться отрывками статей, которые только что прочитал.

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

    ВУЗ нужен. Он учит, учит общению с людьми, решению социальных проблем. Учит решать поставленные задачи, порой, которых вы не ожидали. Дает возможность встретить людей, которым интересна таже область, что и Вам. Встретить людей, которые умнее Вас и прокачаться до их уровня. И да, как ни крути он даёт вам бумажечку. Может быть, она Вам и не пригодится, а может, вы в какой-то момент сильно пожалеете, что не получили её. Я бы даже сказал, что ВУЗ - это часть молодости, и не нужно её себя лишать. :-) И добавил бы, что желательно учится не в родном городе. Но это уже лирика :)
    Ответ написан
    4 комментария
  • Как обработать все HTTP-запросы в Windows?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    Если это в рамках какойто конторы, начните наконец использовать корпоративный прокси (какойнить squid например), а не стройте самопальные костыли
    Ответ написан
    1 комментарий
  • Как установить p2p соединение между двумя клиентами, и что для этого нужно?

    @remzalp
    Программер чего попало на чем попало
    Начните с изучения работы NAT. Проблема - между участник 1 и участник 2 в памяти их маршрутизаторов нет готовой Nat цепочки, так что маршрутер отбросит попытку соединения.

    Задача сводится к пробитию NAT снаружи в автоматическом режиме. Изучайте понятия, связанные с UPnP, NAT, NAT traversal, STUN, TURN
    Много головной боли на эту тему было у IP телефонистов, так что многие их рецепты сгодятся и Вам.

    Первая попавшаяся статья
    https://voipnotes.ru/nat-potocol-turn-rsip-ice/
    Ответ написан
    1 комментарий
  • На завершении установки виндовс 7 выдает синий экран смерти, что делать?

    Тестируй железо для начала, скорее всего проблема в памяти
    Ответ написан
    Комментировать
  • Как правильно почистить диск С в Windows 10 стандартными средствами очистки?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    можно ли нажать вот эту кнопку (изображение 3) - "очистить системные файлы"?
    Можно, даже нужно.
    Не бойтесь - все нормально, почистятся файлы которые не нужны больше системе, просто это дольше по времени значительно может занять, ибо чистка будет идти по старым файлам обновлений, и.т.п.
    Хотя проще и более полная очистка делается так-
    Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
    Dism.exe /Online /Cleanup-Image /StartComponentCleanup

    По поводу ручной чистки папок - можно почистить папку Temp которая находится в папке Windows - удалить все.
    Так же можно почистить папку которая находится в папке C:\Users\ИмяПользователя\AppData\Local\Temp - тоже удалить все.
    Разные мутные видео смотреть нет ни желания ни времени.
    Ответ написан
  • Почему выражение не проходит проверку?

    myjcom
    @myjcom Куратор тега C++
    Си строки надо сравнивать в функции
    www.cplusplus.com/reference/cwchar/wcscmp
    Ответ написан
    Комментировать
  • Как сделать онлайн-папку для программирования с другим человеком?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    эта папка называется "git репозиторий". Сделать её легко: git init
    Ответ написан
    1 комментарий
  • RAID для домашнего ПК?

    @d-stream
    Готовые решения - не подаю, но...
    Как уже отметили - самое худшее что может быть - это набортный RAID на полудолларовом чипе. Ровно как с морской свинкой, которая и не хрюкает и не плавает...

    То что касается сохранности данных - raid обеспечивает только один из множества аспектов сохранности - обеспечивает целостность данных при сбоях одного диска. Естественно это совершенно не касается ситуаций с кривой реализацией типа использования десктопных дисков в аппаратном варианте массива (включая набортный чип) и наоборот - использования RE носителей в софтрэйде.

    Но raid - это только один из множества аспектов оперативной сохранности. И в общем-то только в случае комплекса мер. Как минимум регулярных бэкапов с интервалами короче чем допустимые потери свежих данных.

    А вот шифровальщики, косяки программ и т.п. - им raid без разницы.

    Посему для дома бюджетно и оптимально - небольшой NAS с узкозаточенной ОС, который выступает "облаком", умеет версионность и даже умеет хранить свое в коммерческих облаках.

    Ну или совсем бюджетно - Microsoft OneDrive из коробки с win10, skydrive, dropbox, Yandex и google диски и т.п.
    Ответ написан
    1 комментарий
  • RAID для домашнего ПК?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    RAID для домашнего ПК?
    Это бессмысленная вещь.
    Если мы говорим о зеркале - оно имеет смысл тогда, когда вам нужна непрерывная работа, чтобы в случае отказа диска у вас не остановилась работа, вы бы этого даже не заметили, а пока вы работаете прибежал админ и поменал диск.
    Это задача RAID 1
    Он никаким боком не относится к сохранению информации.

    В то же время, можно собрать зеркало средствами ОС - Win10. Какие подводные камни могут быть в случае такого, полностью софтового массива?
    Есть три типа массива.
    1. Аппаратный - дорого, быстро, не тратятся ресурсы компьютера, но отсутствует гибкость.
    2. Софтовый - бесплатно, не так быстро, тратятся ресурсы ЦП, гибкая вещь.
    3. Софтовый, реализованный средствами мат. платы - это массив сочетающий недостатки первых двух, и не имеющий достоинств. Использовать категорически не рекомендуется.
    Посыпались ошибки после просыпания компа, чекдиск каждый раз,
    Вы целенаправленно уничтожали свои данные?
    Чекдиск это преднамеренное уничтожение всех данных которые ФС считает не совсем корректными - они просто уничтожаются.
    Он нужен для восстановления работоспособности файловой системы. Если на диске есть ценные данные его ни в коем случае не делают.
    Ответ написан
  • Где найти спецификацию HTTP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    RFC7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
    RFC7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
    RFC7232 - Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
    RFC7233 - Hypertext Transfer Protocol (HTTP/1.1): Range Requests
    RFC7234 - Hypertext Transfer Protocol (HTTP/1.1): Caching
    RFC7235 - Hypertext Transfer Protocol (HTTP/1.1): Authentication
    Ответ написан
    Комментировать
  • Почему в либе собранной g++ jna не находит функцию?

    Nipheris
    @Nipheris Куратор тега C++
    Это потому что когда вы вызываете g++ используются другие дефолтовые настройки, по умолчанию ваш код считается кодом на C++ (даже файлы с расширением.c, см. https://stackoverflow.com/questions/172587/what-is... ) и, соответственно, начинает работать name mangling. Варианты действий:
    - использовать extern "C" для registerCallback;
    - компилировать код как сишный код.
    Ответ написан
    Комментировать
  • Какие существуют способы автоматизированной смены IP-адреса хоста, с которого запускается Node.js скрипт?

    Griboks
    @Griboks
    Написать представителям сервисов, что бы они отключили защиту для вас или предоставили api.
    Ответ написан
    2 комментария
  • Чем пробросить модем на сервер?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    https://virtualhere.com/windows_server_software
    Сервер под Windows, программа коммерческая, лицензия 50$, но есть триал ограниченный одним устройством.
    Ответ написан
    1 комментарий
  • Поддерживается ли группировка условий выборки в MSSQL?

    @d-stream
    Готовые решения - не подаю, но...
    Скобки естественно учитываются. А вот порядок проверок sql может реализовывать по своему в силу его знания инсайда данных.
    Ответ написан
    3 комментария
  • Как преодолеть кризис начинающего специалиста?

    sim3x
    @sim3x
    А кто сказал, что будет легко?

    spoiler
    Даже если вы занимаетесь bleeding edge разработкой в универах или корпорациях, то рутина будет занимать 90% вашей работы

    А что еще хуже 60% всего рабочего времени вы будете заняты согласованиями и совещаниями и не будете писать код вообще

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

    dio4
    @dio4
    team leader, system engineer, master of sports
    тут расписано
    Для вас код на чистом "си"
    #include <stdio.h>
    #include <stdlib.h>
    int main ()
    {
       char numbers[] = "0x6fffff"; // ваша исходная строка
       long int li4 = strtol(numbers, NULL, 0); // получите ваш эквивалент
       printf("Десятичный эквивалент распознанного числа:%ld\n", li4); 
       char buff[100];
       sprintf( buff, "%ld", li4 ); // если нужно эквивалент снова сделать строкой
       printf("Ваша строка из числа: %s\n", buff);
       return EXIT_SUCCESS;
    }
    /* консоль
    Linux ubuntu14 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 08:52:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    alexander@ubuntu14:~/tmp$ gcc trans.c -o trans_c
    alexander@ubuntu14:~/tmp$ ./trans_c
    Десятичный эквивалент распознанного числа:7340031
    Ваша строка из числа: 7340031
    */
    Ответ написан
    9 комментариев
  • В чем практическая польза итераторов в JS?

    search
    @search
    мама говорит что я особенный
    Полезность итераторов в том что это открытый интерфейс для любой структуры данных. Как вы уже поняли, любой класс/объект в JS может обладать интерфейсом итератора. Идея итератора в том чтобы скрыть внутреннее представление структуры данных от потребителя этих данных. Например, если вы работаете с какими-либо замысловатыми структурами данных, типа бинарных деревьев. Пользователю совсем не обязательно знать как ваш класс/объект хранит бинарное дерево. Пользователь просто его получает и проходит по всем его элементам в цикле. В дальнейшем, вы можете, при необходимости, заменить одну структуру данных на другую, не меняя самого пользователя. Например, вы можете заменить бинарное дерево на б-дерево прозрачно для самого пользователя (пользователь не будет знать что вы подменили структуры, он по прежнему получает что-то что можно проитерировать и ему этого достаточно).

    Для того чтоб глубже понять суть вопроса, можно погуглить про инкапсуляцию и SOLID (в вашем случае, принцип Open/closed).
    Ответ написан
    1 комментарий
  • Машинные константы и асимптотический анализ алгоритмов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    machine dependent constants - это количество тактов на один цикл алгоритма и тактовая частота процессора.
    Предположим, что линейный алгоритм O(n) работает на быстром компьютере и каждый цикл выполняется за 1 наносекунду, то есть общее время будет 1×n. Логарифмический алгоритм O(log n) работает на медленном компьютере и каждый его цикл занимает 100 наносекунд, общее время 100×log(n) Посмотрим, как будет меняться время алгоритма при изменении n.
    n    | O(n) | O(log n)
    1    |    1 |   100
    10   |   10 |   200
    100  |  100 |   300
    1000 | 1000 |   400

    То есть, в интервале от 100 до 1000 есть значение n, после которого логарифмический алгоритм работает быстрее даже на более медленном компьютере.
    В общем случае значение n можно получить из равенства a×n = b×log(n)
    Ответ написан
    1 комментарий
  • Как понять VLANы?

    athacker
    @athacker
    Влан -- это всего лишь идентификатор в ethernet фрейме. Который может принимать значения от 1 до 4094. Вланы не бывают тегированными или не-тегированными, они по определению тегированные. Бывает тегированным или не-тегированным трафик. Тегированный -- это тот, в ethernet фреймах которого соответствующее поле реально содержит VID -- VLAN ID, т. е. номер влана. Не-тегированный -- соответственно, такой фрейм, где номера влана нет.

    Транковый порт коммутатора -- это порт, который настроен таким образом, чтобы принимать и передавать тегированный трафик, и этот трафик может быть из разных вланом (физически это означает, что в трафике могут быть разные VID -- идентификаторы вланов). Например, так настраиваются порты, к которым подключены другие коммутаторы. Или, например, маршрутизаторы. Или, например, сервера с виртуалками.

    Порт, настроенный для приёма не-тегированного трафика, всё равно осознаёт себя в каком-то влане. Т. е. коммутатор внутри себя считает, что в этот порт ему прилетает нетегированный трафик, но этот трафик нужно относить к такому-то влану. Какому конкретно влану -- задаётся сетевым администратором при настройке и включении порта. Не-тегированный трафик может улететь в тегированный (транковый) порт, например, и в этом случае на выходе из транкового порта коммутатор в трафике явным образом проставит тег.

    Может быть и обратная ситуация -- прилетит тегированный трафик в транковый порт (допустим, в 5-ом влане). Коммутатор определит, что получатель трафика находится на таком-то порту, и этот порт настроен для отправки не-тегированного трафика. Тогда коммутатор перед передачей пакета в этот порт уберёт трафик из фрейма и только потом отдаст фрейм в порт.

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

    Обычные компы могут принимать тегированный трафик только в случае дополнительных действий. На винде это должен поддерживать драйвер, и ещё он иметь средства управления вланами на интерфейсе. На линуксе тоже нужно создавать отдельным образом саб-интерфейсы с указанием тегов.

    Что касается микрота -- добейтесь сначала связи между роутером и компом в сети 192.168.1.0, без DHCP и тем более натов.

    IP 192.168.1.1 пингуется из сети 192.168.0.1 -- это понятно, так как адрес принадлежит вашему маршрутизатору. Вы можете ему на интерфейс 8.8.8.8 повесить, и он тоже будет пинговаться, даже при отсутствии интернета -- если между роутером и компом связь есть.

    Service tag ставить не надо -- это уже из области Q-in-Q, вложенных вланов (если на пальцах).

    Vlan1 -- какой vlad ID имеет?
    Ответ написан
    1 комментарий