• Hyper -v или все же ProxMox или сразу VmWare ?

    Думаю, нужно отталкиваться от назначения кластера.
    Если планируете запускать Windows в гостевых машинах, то лучше Hyper-V. В случае установки на железку Datacenter Edition не нужно будет платить за лицензии на Windows Server в гостевых виртуальных машинах.
    Если будете работать с Linux, то экономически целесообразнее брать ProxMox.
    Ответ написан
    9 комментариев
  • Как побороть боязнь чистого листа?

    algreenzer
    @algreenzer
    Я в этом шарю
    В писательстве есть прием "Я не знаю о чем писать" - стоит только написать эту строчку, как сразу появляется осмысленное желание написать о чем-то. Потом достаточно стереть первую строчку, и как будто легко вот так вот взял и написал.

    Попробуйте придумать для себя строчки кода, схожие по действию. Я не силен в программировании, но суть попробую изобразить:
    function nihuyanedelat () { $loh == 0; NCNecros == 0;}
    function pishicodbleat ('clean', 'perfect', 'no-crutches', 'more-money') {
        var $lenivaya_jopa = [name]=>"NCNecros";
        if (!loh) {
            $(workay_po_hardu) { document.respect('true'); 
        } else {
            $(sosai) { life.realise('false'); 
        }
    
    day.addEventListener('NCNecros').onPC&morningСoffee = pishicodbleat();
    Ответ написан
    3 комментария
  • Как побороть боязнь чистого листа?

    @killla
    Иди грузчиком работать. Кодинг это не твоё.
    Ответ написан
    24 комментария
  • Какой контент должен быть на Хабре?

    Самое главное после получения инвайта - старайтесь поменьше спорить в комментариях. Плюсы за коммент гораздо меньше весят, чем минусы. И скоро ваша карма может уйти в минус без возможности написать статью. Есть конечно резет, но он одноразовый.
    Увы, я этот аккаунт уже безвозвратно запорол за несколько лет из-за комментариев.
    Ответ написан
    3 комментария
  • Какой контент должен быть на Хабре?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Про попадание статьи в песочницу Вам сообщат на почту.
    В остальном - не путайте песочницу со всеми статьями. Приведенные пункты относятся в песочнице. Смысл в том, что Вы должны написать что-то свое, а не быстрее всех запостить новость. А вот когда получите инвайт - тогда уже делайте, что хотите, в том числе пишите переводы, постите новости и так далее - кто-то это должен делать, так как и это тоже необходимо.
    Ответ написан
    1 комментарий
  • Вы в браузере набрали адрес сайта, нажали Enter. Расскажите максимально подробно о технических процессах происходящих далее?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Действительно, уважаемый. Это слишком. Вряд ли я затрону все тонкости, но попробую наметить примерный путь:

    0) Пользователь вбивает в адресную строку браузера адрес сайта (нажимая клавиши на клавиатуре, которые замыкают определённую дорожку в матрице, по которой происходит определение нажатой клавиши, что через шину USB в какой-то момент передастся OS, где это поймает HID-драйвер и вызовет определённое прерывание, что OS передаст как событие/или_ещё_как в программу, которая вызовет соотвествующую функцию из API менеджера окон, которая изменит содержимое строки и в результате когда-то будет перерисован UI-элемент, а если нажат был Enter, то начнётся следующее).
    1) Браузер вытащит из input'а строку с запросом и посмотрит, похоже ли это на адрес. Если да, то добавит недостающие уточнения (например, http или file протокол, порт и подобные довольно стандартные вещи). Если нет - то скорее всего создаст запрос в поисковую систему, установленную по умолчанию (я более не буду опускаться до таких бессмысленных деталей, как вызовы API-функций, иначе я буду набирать это сообщение ОЧЕНЬ долго). В любом случае на выходе мы по сути получим URL, который надо загрузить. Протокол file:// мы рассматривать не будем, ftp далеко не везде есть, https:// на не хватит вечности, так что остановимся на http, который по сути есть tcp/ip по умолчанию на 80 порту с определённым форматом общения.
    2) Окей, url есть. Теперь нам нужен адрес, к которому обращаться. Так как http это tcp/ip - нам нужен ip адрес. Здесь нам помогают dns-сервера. Обычно, нормальный провайдер устанавливает у себя кэш-сервера dns, которые не обращаются по стопицот раз за vk.com к ответственному серверу com-зоны. Давайте не будем отвлекаться на то, как происходит там общение, если что - вот (вики тем хороша, что часто содержит внизу релевантные ссылки). Скажу лишь то, что на выходе мы получаем ip адрес(а).
    3) Имея адрес мы можем запросить страницу. Собственно, всё что после первого слэша - это как-бы параметры для http-сервера: какую именно страницу запрашивать, он всё же не телепат. Конечно, можно было бы немного схитрить и отправить читать про tcp/ip, но ведь существует и shared-hosting. Ограничемся лишь его упоминанием. Собственно, по полученному адресу отправляется GET запрос, который и обрабатывает сервер, находящийся по полученному IP-адресу.
    4) Сервер же, получив адрес, начинает распарсивать строку, медленно вытягивая нужные данные из баз-данных и настроек, выполняются сотни скриптов, иногда делается ещё не одна сотня различных запросов на другие сервера (здесь и разного вида метрики и разного вида HADOOP и т.д.). Пройдя сквозь скрипты и темплейторы в самом конце мы получаем html-страницу, готовую к употреблению. Её-то сервер и отправит в ответе (после заголовков, конечно).
    5) Вот и началось самое интересное. Получив html страницу браузер начинает жутко надругаться над CPU, HDD и GPU, попутно сжирая тонны RAM и мусоря в swap. Виной всему нереальные для полного соблюдения стандарты от небезызвестной w3c.org. Для облегчения многие делают костыли, вроде webkit, а некоторые и вовсе забивают на него и пилят свой стандарт с преферансом и картёжницами (впрочем, в последнее время становиться лучше). Здесь снова начинаются сотни вызовов API ОС, windows manager'а и прочих библиотек, вроде boost, qt или libpng. В ходе работы в RAM строится макет, по которому потом строится нечто вроде PDF (тоже сильно векторный), что, потом, обрабатываясь быстрыми шейдерами на GPU, выдаётся на экран. Опять же, многое пропущено, но вряд ли кому-либо, кроме парня в свитере с оленями, действительно интересно, как работает GDI, DirectX или OpenGL.
    6) Ах да, мы же забыли про тысячи js-скриптов, миллионы картинок и анимации с котиками, а также о таких дополнительных плюшках, как flash-player или java-weblets. В кратце, что js, то и flash и java - это виртуалка, со специальной архитектурой. Они, виртуалки, конечно разные (хотя flash и js довольно похожи, ещё бы - ECMAScript один и тот же). JS - самый интегрированный внутрь браузера, он же и самый медленный чисто визуально (ибо последние два имеют доступ к быстрому GPU), хотя самый быстрый в попугаях. Второй постепенно вымирает и представляет из себя, так же как и третий специальную shared-библиотеку, о которой браузер как-нибудь узнал и которой скармливает специальное содержимое помечанное специальным тегом html. Третий уже почти умер и встречается лишь изредка или в каком-нибудь энтерпрайзед со страшным legacy-базой. Ну здесь из сылок разве только гугл. Ибо сколько всего - даже не сообразишь. Да и вообще, эта тема ещё скучнее GDI, DirectX и OpenGL и к свитеру с оленями требуются ещё очки с толстенными стёклами, дающие стопицот к терпению и задроству над матаном. Если в кратце, то в случае JS, всё что было загружено в память и не думает выгружаться и формирует этакое дерево - DOM, над которым с помощью специального API и происходят модификации. При этом, перед тем как исполниться, весь JS-код компилируется, в нативный для VM байт-код. То же самое в общем-то и со вторым и третьим, разве только они не имеют доступа к DOM и организовать его - дело тех ещё костылей. Ах да, забыл ещё про Silverlight (или как оно там пишется), который сдох, не успев родиться. Так же как и Java, жив в серьёзном энтерпрайзе, не поскупившийся не "дешёвую" поддержку MS.
    7) Ну... А дальше пользователь нажимает на нужную гиперссылку и всё по новой.

    За кадром остались такие костыли, как ajax, websockets и прочая асинхронная ересь. С ней всё в миллионы раз сложнее. И к очкам со свитером потребуется ещё и... а чёрт их знает, что они там ещё носят. Ну да ладно, я искренне завидую тем парням (и девушкам), которые разбираются во всей этой машине. Целиком. Ибо это лишь верхушка айсберга. Разбавленная не лучшей памятью и ужасным гуглом.

    P.S. Не бейте сильно за грамматические и синтаксические ошибки. Спеллчекер приказал долго жить, да и 5 утра как никак.

    UPDATE
    На хабр выложили неплохой перевод дающий некоторое представление, как браузер ругается над памятью и процессором. Хотя и весьма поверхностное,
    Ответ написан
    26 комментариев
  • Как исправить неудачное обновление freebsd 9 -> 10, can't load 'kernel'?

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

    @skazi_premiere
    Верстаем как умеем ;) HTML/CSS/JS
    Банальный Кабельный тестер или Мультиметр который дешевле тестера , лучше с пищалкой брать чтобы не смотреть на шкалу в момент замыкания. Ну и к мультиметру понадобиться еще коннектор с обжатыми и закороченными парами (вставляем в розетку), со стороны свича или патч-панели ищем данную розетку.
    И первое и второе поможет найти порванные пары если таковые имеются.
    Ответ написан
    Комментировать
  • MySQL vs другие СУБД - что лучше?

    Kerman
    @Kerman
    Препод Вам так говорит, потому что есть такое понятие - стек технологий Microsoft. И для многих C# должен стыковаться только с MSSQL, но не с другими базами. В этом действительно есть смысл, когда проект очень большой. Грубо говоря, язык и БД, разработанные в одной компании, довольно тесно интегрированы. Но это не значит, что MSSQL единственный и самый разумный выбор.
    Я сам пишу на C# и пользуюсь MySQL вместо MSSQL. Почему:
    1. MySQL запускается на любой OS (не требует платной лицензии Windows).
    2. Полнофункциональная MySQL бесплатна в отличие от.
    3. Легковесна, не требует мощного железа. Как следствие - быстрее на аналогичном железе.
    4. Хостинг MySQL на каждом углу.
    5. Выбор движков под каждую таблицу и каждый случай.
    6. Полнотекстовый поиск (в MyISAM).
    7. Есть форки, которые гарантируют нормальное развитие, если Oracle решит что-нибудь нехорошее сделать. Ну что тут говорить, OpenSource же.

    При этом современная MySQL поддерживает многие фичи современных БД: View, triggers, functions, stored procedures, events, subqueries.
    Ответ написан
    2 комментария
  • MySQL vs другие СУБД - что лучше?

    @NewTypes
    На себя
    Мне кажется, что либо препод старый, либо вы чего-то недоговариваете. Например, что за ПО? Может вам там вообще NoSQL нужен и препод говорит, что Mysql "старый" для решения нового типа задач, так как спроектирован давно и не годен для вашего проекта ввиду архитектурных особенностей.
    Ответ написан
    Комментировать
  • Можно ли стать эффективным менеджером проектов без знания программирования?

    Я думаю можно. Главное в управлении проектами знание техник управления, методологий. Умение программировать позволит быстрее наладить связь с командой, они будут считать тебя "своим". Без этого умения ты - "чужой". Просто дополнительная сложность с которой можно справиться.

    1. Попроси знакомого программиста с опытом помочь тебе на собеседовании. А сам задавай больше вопросов по мотивации, выясняй амбиции разработчика. От этого будет зависеть его вовлеченность в процесс.

    2. Оценивать производительность нужно по методике. Возьми хотя бы Agile. Там после нескольких итераций становится ясно у кого какая скорость. И с какой скоростью может двигаться команда. Причем, если строго следовать методологии, то становятся даже заметны обманы с оценками со стороны разработчиков.

    3. Оценивать трудоемкость выполнения задач должны разработчики, так как им их делать. Твоя задача следить за тем правильно ли они сделали оценку и корректировать ее. Как правило разработчикам свойственен излишний оптимизм. И ты чаще будешь им говорить: "В прошлой итерации ты оценил задачу #1234 в 12 идеальных часов, а потратил 3 дня (18 часов). Не ошибаешься ли ты в этот раз?"

    И еще несколько советов от себя:
    1. Выбери методологию разработки, изучи ее и строго следуй ей. Это очень помогает.
    2. Почитай про различия менеджерского цикла и цикла разработчика. Уважай способ работы разработчиков и не отвлекай их по пустякам. Методологии и об этом заботятся, в них всегда есть ритм, разработчики к нему привыкают и перестают замечать затраты на следование методологии.
    3. Закрывай собой разработчиков от вышестоящего начальства, не давай ему вмешиваться в рабочий процесс в обход методологии. Это отличный способ заслужить уважение команды.

    Удачи!
    Ответ написан
    2 комментария
  • Как можно бороться с подлостью увольняемых сисадминов?

    AGvin
    @AGvin
    Хотелось бы, уточнить:
    не пустить на проходной

    Вас это от админов не спасет. Админ может все что ему нужно сделать удаленно. Даже если Вы считаете, что Вы удалили все аккаунты админа, он может, где-нибудь, припрятать «Backdoor» известный только ему.

    Разве что контролировать действия по работе своих подчиненных. По другому почти никак.

    Мне кажется, что в данном варианте, админ будет больше контролировать чем Вы. Или я не прав? =)

    Самый простой вариант, это не ссориться с админом.
    В ином варианте, Вам надо будет, идеально, знать что и куда бэкапится )
    Ответ написан
    1 комментарий
  • Что делать при увольнении системного администратора?

    VasiliyIsaichkin
    @VasiliyIsaichkin
    Web front/back-end (JS-full stack) app developer
    Согласен с demimurych и добавлю что в Windows тоже можно очень хитро спрятать много чего…

    Вот параноя-вариант: где то (к примеру) в потолке (над потолочными плитами) стоит маленький неттоп который недокументированно врезан в сеть и к нему подключен gprs модем. Далее удаленно на него поступает команда и к примеру через протокол X10 по электросети или по Eternet'у бежит команда немного доработанному UPSу ресетнуть рабочий сервер, а там в биосе стоит загрузка по PXE первой (кто когда это проверит на боевом сервере? :) ). Далее с PXE-сервера на неттопе рабочий сервер грузит нужную ОС, немного автоматики и вуаля — доступ получен обратно ;) (какой бред только в 3 утра в голову не придет)

    Мне кажется лучше с админом не ссорится — если захочет (особенно если было время подготовится) — нагадить сможет много и капитально.
    Ответ написан
    Комментировать
  • Что разрабатываю Java и .NET программисты?

    Сперва нужно сказать, что хорошие специалисты пишущие на java, .net или другом языке всегда востребованы, но Вам как я понял до этого еще нужно дойти. Поэтому лучше выбирать то к чему лежит душа :)

    Если Вам хочется писать веб, то лучше попробовать python или ruby и еще java script.
    Если Вам хочется писать системные утилиты, алгоритмы, то лучше поробовать C или C++.
    Если Вам хочется писать под мобильные системы, то можно выбирать между java, objective-C, .net (можно также подумать о java script, но совет спорный).
    Если Вам хочется писать игры, здесь я ничего не подскажу.
    Если Вам хочется писать десктопные приложения, то лучше попробовать C++, .net (только венда).
    Если Вам хочется сидеть не на венде и писать не только под венду, то лучше не думать о .net.

    По поводу IDE: у java есть eclipse, net beans, но я бы посоветовал idea (особенно когда Вы не видите жизни без решарпера под вижлу). Кстати все эти IDE написаны на java.

    По поводу использования: понятно что .net широко использует microsoft, java же использует, например, google. Но должен дать замечание, что на обоих этих языках широко пишут «некоторые» аутсорсинговые компании так называемые enterprise приложения (вероятно большинство вакансий именно их) код которых возможно бывал в руках некоторых индуских племен или морально устарел.

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

    Поэтому еще раз посоветую выбирать то, к чему больше лежит душа. Например мне сперва нравилась java и я начинал изучать ее, но потом пришлось работать с .net, а сейчас я перехожу на python. Или же найдите компанию, где хотите работать (и/или где есть большая вероятность быть принятым на работу), узнайте на чем пишут там. Возможно также не стоит ограничиваться только java и .net. В любом случае если усердно работать и развиваться, то выбор языка по сути не имеет значения.
    Ответ написан
    Комментировать
  • Можно ли отдать инвайт на Хабр незнакомцу?

    Nicolette
    @Nicolette
    Ну как минимум вас заспамят за первые же полчаса, и нет никаких гарантий, что по объявлению откликнется хороший читатель, которому нужно для себя, а не для перепродажи. У меня так было — и блог-то чисто символический, а на магическое слово «инвайт» набежало человек 20 совершеннейших незнакомцев. Уж лучше в песочницу отдать.
    Ответ написан
    2 комментария
  • Можно ли отдать инвайт на Хабр незнакомцу?

    yaksa
    @yaksa
    Пускай лежит. Почитывайте иногда песочницу.
    Ответ написан
    Комментировать
  • Помогите разобраться с CAL-лицензиями для Windows Server

    gag_fenix
    @gag_fenix Автор вопроса
    Позвонил в софткей. Правильный ответ озвучил Busla: для внутренних пользователей, если у них есть учетка в софте, нужно покупать CAL. Без разницы от MS софт крутится или нет. При этом технических ограничений нет, это чисто юридический вопрос. Скидка от MS начинается от 500 лицензий.
    Ответ написан
    Комментировать
  • За что разработчик может уважать менеджера?

    80x86
    @80x86
    За то, что это — образ жизни.

    Я попробую изложить тут свой опыт. Думаю, получится ОЧЕНЬ субъективно. Увы.

    Последние три года мне приходится быть этаким Jack Of All Trades (к счастью, без продолжения “master of none“). Я начальник отдела автоматизации учебного процесса довольно большого, но весьма вялого до этой самой автоматизации ВУЗа. Жизнь сложилась так, что кроме этого я занимаюсь веб-разработкой (скорее фрилансом) и координацией нескольких полузакрытых проектов, выросших из аутсорса.

    Соответственно, приходится заниматься административной работой, организационно-координационной и непосредственно разработческой. И рисовать, верстать, копирайтить, тестировать, составлять матмодели, заниматься статистической обработкой и немного паять.

    Это, так сказать, для более глубокого понимания того, почему будет много субъективизма с претензией на объективность.

    До этого, примерно лет пять назад, когда я был чистым разработчиком, на работу менеджеров проекта/команды (да чего уж кривить душой — и на работу любого административного работника) смотрел с презрением, граничащим с этаким public riot. Скорее всего, мне просто не попадалось действительно хороших ПМов, которые бы умели поставить рабочий процесс так, чтобы разработчик понял, что о нём заботятся.

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

    Ещё мне дико не нравилось решать задачу некрасиво, причём это часто выражалось в затягивании сроков. Если мне начальник говорил:

    — Надо срочно сдать! Хватит тянуть резину, что у тебя там, почему нельзя сделать быстрее?

    , то я ему начинал рассказывать про то, что надо сделать так-то и так-то, соптимизировать выборки, дописать какие-то абстракции для возможного будущего использования и возможности расширения. При этом я откровенно не мог понять, зачем ему нужно кривое и косое решение, которое (вот если его ещё чуть-чуть попилить) скоро станет очень хорошим и крутым.

    Я убивал на это допиливание время, в результате получал аллергию на код и переставал получать удовольствие от жизни и проекта. В итоге делал «уже лишь бы работало», но при этом затягивая сроки и получая очередной приступ язвенной болезни.

    Потом было много разных событий, которые во мне окончательно убили веру в то, что менеджер — это друг, товарищ и практически брат. Эти люди не видели проблем коллектива, не хотели для достижения результата жертвовать своими ресурсами или вообще абстрагировались от проблем за мифическими скрамами, процессами, UML и прочей серебряной атрибутикой современного IT.

    А потом я стал начальником.

    Начальником болота, где не слышали про VCS, например. Вообще. И про проектирование.

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

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

    С тех пор многое поменялось в голове: я научился жертвовать перфекционизмом в пользу выполнения поставленной задачи; научился делегировать работу; научился избавлять разработчиков от головной боли и смятений в выборе способа решения задач, выполняя роль своеобразной бритвы Оккама; научился… да научился много чему.

    Теперь я понимаю, что основная работа менеджера — это, в первую очередь, аргументированное и действенное избавление разработчика (исполнителя, подрядчика и т.д.) от психологической «головной боли», которая вызывается тем, что тот выполняет несвойственную ему работу. Собственно, за это разработчик и может уважать менеджера, как человека, профессионально выполняющего свою работу.

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

    Слава святому фон Нейману, такие люди, оказывается, есть и их достаточно много. В сравнении себя со многими из них я понимаю, что мне есть, куда стремиться. И это потихоньку топит лёд моего внутреннего разработчика, который потихоньку учится уважать менеджеров.
    Ответ написан
    Комментировать
  • За что разработчик может уважать менеджера?

    Stdit
    @Stdit
    За то, что он снимает с меня обременительную задачу общения с заказчиком напрямую.
    За то, что он понимает и грамотно описывает желания заказчика, после имплементации которых последний получает именно то, что хотел.
    За то, что он правильно расставляет этапы и знает цену хотелкам-переделкам, особенно после утверждения заказа.
    За то, что создаёт комфортные и приятные условия работы (мебель, воздух, чистота, шумоизоляция и т.д.).
    Вообще, за то, что он понимает, зачем он нужен и как его работа повышает стоимость часа. И делает это, а не чатится в социальных сетях.
    Ответ написан
    1 комментарий