• На чем писать проект под большую нагрузку?

    @VlK
    Вопрос в корне неправильный и несколько дилетантский: «Хочу сайт, чтоб много народу лазало».

    Какой сайт? Сервис а ля Твиттер? Новостной, где можно статику нагенерить? Интерактивный а ля соцсетки? Бэкэнд для игрушки на флеше? Раздавать файлы/видео в больших объемах?

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

    @VlK
    Пожалуй, общий курс был использовал в полной мере. Матан, прикладные ветки математики, физика, ТОЭ, бла-бла-бла — все это служило и служит мне прекрасной базой до сих пор. Специальные предметы старших курсов — вот там есть некоторые сомнения, но это из-за смены специальности.

    Кстати говоря, я — программист. Начинал же учиться на энергетика.

    Моя оценка — 30% на общий курс, 20% со специальных курсов. 30% не пригодились в силу смены специальности на старших курсах. Оставшиеся лишние 20% — те самые спорные гуманитарные предметы плюс химия.

    Итого, 50/50.

    Однако же, большая часть «лишних» предметов научила меня быстро усваивать информацию, работать с ней, применять в задачах, что тоже полезно. Появилось, скажем так, понимание процесса самообучения; не общие слова, а с учетом личных особенностей.
    Ответ написан
  • Слияние 2 ветвей Git?

    @VlK
    Правильно в вашем случае будет

    1) git rebase master

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

    2) git rebase -i HEAD^^^

    из вспомогательной ветки. Собираем несколько коммитов вспомогательной ветки в один (опционально, но часто для аккуратного оформления коммитов требуется)

    3) git merge secondary-branch --ff-only

    из главной ветки. Мержим с fast-forward (то есть уже без решения конфликтов) новые коммиты из вспомогательной ветки

    То есть вы сначал внесете изменения из главной во вспомогательную ветку, а потом включите новые коммиты из вспомогательной в главную.

    Иногда имеет смысл сделать git rebase -i вспомогательной ветки на саму себя, чтобы объединить ряд коммитов в один.

    Если коротко. Хорошей практикой считается отсутствие коммитов слияния в главной ветке.
    Ответ написан
  • Erlang и Scala

    @VlK
    Пробовал работу с обоими языками. Опыт небольшой, но есть.

    Scala (щупал фреймворки Lift и Actors). Объектно-ориентированный в целом язык, хорошо интегрированный с Java. На лицо некоторая двойственность парадигмы и расширенный спектр концепций, внесенный в язык в связи с этим.

    Не нравятся традиционной для JVM безмерной глубины трейсы. Синтаксис привычный, а ла Java.

    Фирменная фича: Actors — фрейморк на языке, упрощающая работу с распределенными (или, вернее, распределяемыми) задачами.

    Erlang — интересная высокоуровневая реализация функциональной парадигмы. Мои симпатии на стороне этого языка.

    Никаких глобальных состояний, изменяемых переменных, избыточности ООП, чистый message passing. Разработчик почти полностью абстрагирован от уровня узлов кластера.

    Явистам могут показаться непривычными синтаксис и сугубо функциональный стиль программирования. Несколько больше времени уйдет на освоение. Трейсы умеренной зашифрованности.
    Ответ написан
  • Django or redsolutions?

    @VlK
    После освоения самого Джанго на определенном уровне — рекомендую использовать DjangoCMS.

    Уже с полгода не пользовал это добро, но раньше было очень удобно DjangoCMS использовать в связке с django-admin-tools (украшательства админки).

    Плюсы DjangoCMS: достаточно много плагинов, новые пишутся легко, I18n, бла-бла-бла. И, что самое главное, она не слишком меняет сам фреймворк.

    Плюсы django-admin-tools: легко и быстро можно собрать кастомную админку, которую не стыдно показать заказчику. В том же ключе — проект grapelli, говорят, очень прилично выглдяит.
    Ответ написан