Комп для разработчика
надо бы платформу уточнить
Наиболее интересны J2EE и .NET.
оперативки - по максимуму
Комп: конфигурации в Intel Core 2 Duo 2.8 ГГц, 4 Гб DDR2 мне не хватает, планирую заказывать следующую: Intel Core i7 920, 3*2 Гб DDR3.
Если у вас что-то большое компилируется (как у меня, например, билд занимает от 10 до 15 минут на моей машине то еще лучше заказать SSD: ускорит в полтора-два раза.
В первую очередь там нужен рейд массив из 4-х дисков. Обычно разработка и средства разработки связаны с огромным количеством ввода-вывода. Затем память. Потом монитор, минимум 19, чтобы всё помещалось. Лучше не широкоформатный, чтобы видеть результат таким, как его увидит большинство пользователей. Затем уже процессор, будет достаточно core 2 duo от 1.5ггц
Ну, и RAID — это решение дороже и хуже, чем SSD.
У меня сейчас узким местом, кстати, является процессор.Разве ты не решаешь какие-то специфические задачи? Для разработки под вэб для низкой и средней нагрузки, скорее всего, узким местом будет как раз жёсткий диск. Тем более речь идёт о компиляции на Java/C# и работе с БД, а процессор съедает компиляция на C++ и решение математических задачек.
Ну, и RAID — это решение дороже и хуже, чем SSD.Я не разбираюсь в железе, так что не придирайся к словам.
Монитор: 24", 1920x1200. Меньше — менее удобно, больше — не имеет смысла. Т.к. уже начинается эффект, что чем больше монитор, тем сильнее его отодвигают.Чем плох "простой комп" для редактор-почта-аська, а компилировать на общей мощной машине? До такого еще не додумались?
Комп: конфигурации в Intel Core 2 Duo 2.8 ГГц, 4 Гб DDR2 мне не хватает, планирую заказывать следующую: Intel Core i7 920, 3*2 Гб DDR3.
Если у вас что-то большое компилируется (как у меня, например, билд занимает от 10 до 15 минут на моей машине то еще лучше заказать SSD: ускорит в полтора-два раза.
Чем плох "простой комп" для редактор-почта-аська, а компилировать на общей мощной машине? До такого еще не додумались?Тройка-четверка параллельных билдов железо, отличное от энтерпрайзового, утянут нафиг, в конечном счете дешевле выходит ставить мощные воркстейшены разработчикам. В нищебродском варианте вполне можно так сделать, или когда народу мало, но, как правило, все затыкается в тяжелое ide в конце концов и печатными машинками нельзя обойтись. Странно, что не упомянули многомониторные конфиги с поворотными мониторами - дешевле жырного вайда и больше по суммарному разрешению.
Тройка-четверка параллельных билдов железо, отличное от энтерпрайзового, утянут нафигМногозадачность теперь так называется?
При чем здесь многозадачность? Серв, в пару раз более мощный, чем топовый десктоп, будет стоить в десять раз дороже десктопа (условно). Допустим, что мы купили кучу говнотачек и крутой восьмиядерник, то, если нам не повезло с языком разработки, девелоперы кучу времени ковыряют в носу, ожидая, когда пройдет билд на серве. Если количество девелоперов меньше, чем рабочий день/(количество сборок за день * время сборки на серве то все будет ништяк, а вот если эта цифра больше, чем упомянутый параметр, раза в три, то наступит жопа, потому что балансировать нагрузку между сервами не всегда возможно, а стоимость более производительного железа растет много быстрее, чем скорость сборки.
билд занимает от 10 до 15 минут на моей машинеи ты каждые полчаса ребилдишь весь проект?
зы
я конечно не профессионал, но по-моему вы совсем ох**ли с такими конфигами
два монитора по 17-19
памяти 4ГБ
винт по-быстрее (допустим raptor)
проц с парой ядер
я конечно не профессионал, но по-моему вы совсем ох**ли с такими конфигамиВ день я теряю до часа времени просто на то, чтобы подождать завершения компиляции (да, такие проекты не очень частый случай, но сейчас у меня такой). Это значит, что замена компа окупится за месяц или около того. А на самом деле — раньше, поскольку гораздо более важно выпустить продукт более завершенным/раньше, чем сэкономить на зарплате.
Это значит, что замена компа окупится за месяц или около того.Ты один работаешь проектом? Если да, то - да.
А если у вас десяток девелоперов?
Не разумнее ли сделать выделенный сервер, на котором будет храниться и собираеться проект (скажем восьмиядерник на двух ксеонах тысяч за 50-60 а рабочие места оснастить машинами офисного плана тыщ за 8-9.
Суммарная стоимость 60+10*9==150.
Конфиг который ты предлагаешь стоит наверное 20-25 тыщ, что на десять девелоперов == 200-250 тыщ.
итого 50-100 тыщ разницы
цифры кагбе говорят нам ; )
Ты один работаешь проектом? Если да, то - да.у нас несколько десятков программистов (если смотреть на один офис). Проектов там несколько, но сути это не меняет.
А если у вас десяток девелоперов?
Не разумнее ли сделать выделенный сервер, на котором будет храниться и собираеться проект (скажем восьмиядерник на двух ксеонах тысяч за 50-60 а рабочие места оснастить машинами офисного плана тыщ за 8-9.Нет, по двум причинам:
1. Узким местом является сеть (размеры итоговых бинарников около 5 Гб)
2. На этом твоем восьмиядернике тупо будет тормозить диск.
Из систем, которые действительно работают бывают следующие:
1. У разработчиков нормальные десктопы, а компиляция идет сразу на нескольких машинах (это у нас на некоторых проектах применяется, на моем это сделать тяжело, 1Гбит сети не хватает)
2. Есть 1000 разработчиков с 1000 десктопов (средних) и 1000 машин в кластере (крутых). Сеть в кластере 10 Гбит и имеет сильную связанность. Этот вариант бы подошел для моего проекта, да вот незадача — наш офис не основной и у нас нет такого кластера. А пользоваться тем, что расположен в Европе — опять сеть не позволяет.
то, что описал ты почти всегда выливается в скучающих от постоянного ожидания билда программистов.
дальше - сугубо по специфике и усмотрениям
много альттабаться приходится или дебажить - второй монь
не влазит все в память - докупать оперативу
рейд - не знаю, только если ребилд надо регулярно делать, в остальном ио у меня не так уж и много.
для меня самое комфортное - 2-4 гига и два моня, один из которых широкий, второй 1280
Единственное, что является какой-то альтернативой — это просто коннектиться к компу в европе, билдить там на кластере и тогда действительно та машина, за которой ты сидишь, становится чисто терминалом. Проблема в том, что для windows-проекта такое у нас невозможно, поскольку никто не будет покупать столько лицензий винды. А вот на предыдущем проекте, который был под linux, мне действительно не нужен был крутой десктоп
поскольку никто не будет покупать столько лицензий виндыт.е. железо купят, а лицензию нет?
просто коннектиться к компу в европе, билдить там на кластере и тогда действительно та машина, за которой ты сидишь, становится чисто терминалом.Вот я про этот вариант.
И даже пусть не на кластере, а хорошую машинку поставить, на нее запустить штук 5 разработчиков с терминалами. Ничего не мешает.
т.е. железо купят, а лицензию нет?железо стоит дешевле винды. Особенно при покупке в таких количествах.
а хорошую машинку поставить, на нее запустить штук 5 разработчиков с терминаламиэто очень плохой вариант, я такой уже проходил. Очень медленно, целых два узкий места: диск и сеть.
Ну т.е. есть, конечно, проекты на которых это потянет, но то, что это не мой случай — определенно.
диск - еще понятно, если билды будут делаться одновременно. А вот про сеть я совсем не понимаю. Имеется в виду, что сам код, библиотеки и пр. лежат на локальной машине? А если их тоже хранить на сервере?
Очень медленно, целых два узкий места: диск и сеть.Что медленно? По сети исходники пересылать медленно? С диском тоже не вижу проблемы.
железо стоит дешевле винды. Особенно при покупке в таких количествах.мы до сих пор про терминальную лицензию?
1. Узким местом является сеть (размеры итоговых бинарников около 5 Гб)Это наверное весь проект целиком? А зачем его тягать по сети если ты, скажем, работаешь над конкретным модулем? Пересобрал ты DLL, вот тебе и счастье.
2. На этом твоем восьмиядернике тупо будет тормозить диск.в raid 5 не будет
в raid 5 не будета сколько ты в этот массив дисков поставить хочешь?
Если десяток, то да, не будет. Но по дискам я согласен - узкое место
З.Ы. Кстати, просветите, ибо не в курсе... А если приложение требует, чтобы процессор поддерживал какие-то фичи, можно ли его скомпилировать на машине с процессором, который их не поддерживает?
Уходя на 11 лет назад: можно ли собрать приложение, требующее MMX, на машине с P-133?
ты будешь удивлён, но можно собрать даже для совершенно другой архитектуры, компилятор это обычная программа.
. А если приложение требует, чтобы процессор поддерживал какие-то фичи, можно ли его скомпилировать на машине с процессором, который их не поддерживает?о да. например у меня в генту пакеты для x86 архитектуры билдятся в том числе на x86_64 машинах
Уходя на 11 лет назад: можно ли собрать приложение, требующее MMX, на машине с P-133?
а я не буду удивлен. Я был бы как раз удивлен, если б это было невозможно. Собсно, почему и спрашивал - сборку можно доверить общему серваку в любом случае. Единственно - если есть несколько реально больших проектов, которые собираются долго даже на восьмиядернике с рейдом в 10 дисков - тогда придется ребятам договариваться, что и когда компилить, ибо при конце рабочего дня в 18:00 компиляцию всем сразу в 17:30 делать будет не комильфо
а моё ИМХО что наверно организация проекта какая-то кривая, раз его нужно так часто целиком пересобирать и это блокирует работу девелопера.
Чем плох "простой комп" для редактор-почта-аська, а компилировать на общей мощной машине? До такого еще не додумались?Активно используем VMWare ESX на нескольких серверах, каждый сервер - 8 ядер Xeon, RAID-5 из 6 дисков и 16 Гб памяти.
Еще стоит указывать, что делают разработчики на этих серверах.
1) "стенд" для того или иного проекта (копия системы или части системы, установленной у заказчика, или планируемой к установке, или ещё на какой фазе
2) машина для компиляции той или иной критичной части проекта, когда на настройку окружения для компиляции требуется ненулевое время.
Число проектов - порядка 20-30, разработчиков и тестировщиков - человек 15. Стендов (копий системы) нужно не меньше чем проектов, а в наиболее активной фазе у нас доходило до 8-10 стендов на один проект, чтобы уменьшить до 0 пересечения разработчиков друг с другом.
Кроме того, регулярно приходится ездить и делать демонстрации систем у заказчиков, для этого копия виртуальной машины заливается на демонстрационный ноутбук (или несколько что драматически сокращает время подготовки демо. И наоборот, чтобы сохранить только что показанное демо, при помощи P2V снимаем копию с ноута и оставляем её в виде виртуальной машины на ESX-сервере.
Абсолютно все разработчики работают на ноутах разных брендов (кому что по душе ценой обычно от 40 до 60-80 тыс.
Лично я в последнее время всё чаще использую ноут в режиме терминала к той или иной виртуальной машине на ESX-сервере, т.к. интернет, достаточный для VPN-доступа к офису у меня есть практически всегда и везде.
К сожалению, такая удобная и дешёвая виртуализация пока доступна только для x86 и x86_64. А приходится работать ещё с целым зоопарком архитектур (Windows и HPUX на Itanium2, HPUX на PARISC, AIX, Solaris на SPARC... из-за чего приходится держать в серверных немалое количество соответствующего железа
Еще стоит указывать, что делают разработчики на этих серверах.Практически все делаю на удаленной машине. Редактирую прям там, там и запускаю.
Локально — почта, аська, доки, браузер и тп.
Никаких ESX, VMWare и тп.
планирую заказывать следующую: Intel Core i7 920, 3*2 Гб DDR3.Да вы, батенька, извращенец. i7 - просто деньги на ветер.
Если у вас что-то большое компилируется (как у меня, например, билд занимает от 10 до 15 минут на моей машине
Во-первых, речь идёт о веб-приложениях, а это зачастую что-то вроде PHP, что собирать не надо.
Во-вторых, если надо что-то компилировать, а компиляция на рабочей станции занимает неприлично много времени - значит, компиляцию надо вынести на сервер. Покупать очень мощный системник за кучу денег, если он будет нагружаться только полчаса в день, а всё остальное время загрузка и до 5% доходить не будет - деньги на ветер.
Серв, в пару раз более мощный, чем топовый десктоп, будет стоить в десять раз дороже десктопа (условно).А топовый десктоп, в пару раз более мощный, чем простой десктоп - будет стоить тоже в десять раз дороже.
Если количество девелоперов меньше, чем рабочий день/(количество сборок за день * время сборки на серве то все будет ништяк, а вот если эта цифра больше, чем упомянутый параметр, раза в трито покупаем три сервера.
2. На этом твоем восьмиядернике тупо будет тормозить диск.Ставим рейд, SSD, рейд из SSD. Всё дешевле, чем ставить эти SSD на каждую рабочую станцию - хотя бы из того соображения, что на рабочей станции 90% времени всё это мощное железо будет простаивать.
Проблема в том, что для windows-проекта такое у нас невозможно, поскольку никто не будет покупать столько лицензий винды.Сколько там стоит твоя рабочая станция на i7?
Вопрос к уважаемым разработчикам: какой должна быть машина для максимально комфортной разработки веб-приложений? Типа, какой должен быть монитор (матрица, диагональ, количество)? Сколько памяти? Ну и т. д.Что именно разрабатывать-то будете?
Нам для относительно большого проекта (11МБ пхпшного кода плюс куча xml/xsd/xslt/html/etc, всё это в Eclipse в принципе, хватало и Pentium-IV (одноядерный) ~3ггц, 2ГБ, древний хард. Но на рабочих станциях ничего не компилируется/не запускается, даже исходников на них нет, всё лежит на сервере, там же и запускается. То есть, сама рабочая станция нагружается только IDE.
Новые системники берём примерно такие (конфиг с поправкой на наличие в фцентре и прогресс; например, матери G35, на которых собирали наши нынешние системники, стоили около 2к; а 2гб планки - около 500р за штуку, это сейчас какой-то пц с ценами): http://www.fcenter.ru/sb_config?strConfig=2%7C72130:1%7C6971...
Монитор - летом брали Lenovo L220x по 15к, но сейчас их хрен найдёшь, поэтому - любой на *VA 24" 1920*1200, это 20+к.
Виртуальные машины на ESX используются для следующих целейа почему для тех же целей нельзя использовать xen?
в таких вещах уже гуйня вокруг и саппорт важнее, да и xen не настолько гибкий и значительно более глючный.
а почему для тех же целей нельзя использовать xen?хороший вопрос
к сожалению, я в последние годы несколько отошёл от Linux, и упустил тот факт, что немодифицированный Windows работает под Xen начиная с версии 3.0...
а у ESX после долгой работы иногда отваливается сеть. Баг описан, но пока не решён. Так что пока вынуждены использовать перезагрузку гипервизора. А вот xen я в глаза не видел, и интересно сравнение. Тем более что больше сравнивать не с чем.
1. Узким местом является сеть (размеры итоговых бинарников около 5 Гб)За такое убивать надо... Вы там на бейсике пишете что ли?
а что такого? у меня опенофис жрёт не меньше, когда из портежа собирается.
размеры итоговых бинарников около 5 Гб
у меня опенофис жрёт не меньше, когда из портежа собирается.уверен?
upd: а хотя, может я и затупил, думаешь, имеются в виду все промежуточные бинарники. Тогда мб, но я все равно когда прочитал представил прогу размером в 5 гигов и прикололся.
upd: а хотя, может я и затупил, думаешь, имеются в виду все промежуточные бинарники. Тогда мб, но я все равно когда прочитал представил прогу размером в 5 гигов и прикололся.И что такого? Либы собранного буста занимают 2 гига. Если речь идёт о разработке на C++, то 5 гигов - вполне реальная цифра.
Если автором имелись в виду эти самые либы/объектники, то тогда непонятно зачем их куда-то по сети тащить потом.
Если уже сами екзекутаблы, то 5 гигов экзешников - такого я еще нигде не видел.
Хотя, конечно, извращения бывают всякие...
Хм. А фоновой компиляцией вы не пользуетесь?
Оставить комментарий
al70
Вопрос к уважаемым разработчикам: какой должна быть машина для максимально комфортной разработки веб-приложений? Типа, какой должен быть монитор (матрица, диагональ, количество)? Сколько памяти? Ну и т. д.Понятное дело, что чем больше и быстрее — тем лучше. Поэтому, хочется узнать скорее нижнюю границу требований.
Прошу высказаться.