Pull to refresh
  • by relevance
  • by date
  • by rating

Расширение тома в Windows 2003 с помощью Diskpart

System administration
Возникла недавно задача по расширению системного диска Windows 2003. Поскольку сервер работал на виртуальной платформе (ESX), проще всего сделать это, увеличив размер виртуального диска и затем подключить диск к другой виртуальной машине (Windows 2003 штатными средствами не позволяет изменять размер системного диска).

После подключения диска Windows автоматически не назначила букву диска, что, впрочем и не было нужно. После запуска diskpart и выбора раздела

list volume
select volume %Volume Number%


команда extend выдавала ошибку и предлагала выбрать другой раздел для расширения.
Использовать какие-то сторонние программы не было возможности, поэтому пришлось искать решение.
Оказалось, что для работы с разделом, несмотря на то, что в списке разделов diskpart он виден, ему должна быть присвоена буква. После этого том был успешно расширен на все свободное пространство диска.

Для Windows XP это требование также важно, отличия будут в командах diskpart:

list disk
select disk %Disk Number%
list partition
select partition %Partition Number%


К тому же, в Windows 2003 можно сразу выбрать Volume, не выбирая диск.
Возможно, кому-то будет полезен этот опыт.
Total votes 11: ↑8 and ↓3+5
Views20K
Comments 5

Мой extend и стиль наследования классов

JavaScript
В данном посте хочу рассказать как предпочитаю реализовывать наследование в объемном JavaScript приложении.

Допустим для проекта необходимо множество родственных и не очень классов.
Если мы попытаемся каждый тип поведения описать в отдельном классе, то классов может стать очень много. И у финальных классов может быть с десяток предков. В таком случае обычного JavaScript наследования через prototype может оказаться не достаточно. Например мне понадобилась возможность из метода вызывать аналогичный метод класса-предка. И захотелось создавать и наследовать некоторые статические свойства и методы класса. Такую функциональность можно добавить, вызывая для каждого класса ниже изложенную ф-ию extend:

Функция extend


cSO = {}; // Просто для отдельного пространства имен.
cSO.extend = function(child, parent, other) {
  if(parent) {
    var F = function() {};
    F.prototype = parent.prototype;
    child.prototype = new F();
    child.prototype.constructor = child;
    child.prototype.proto = function() {
      return parent.prototype;
    }
    // Пока все стандартно.
  } else {
    child.prototype.proto = function() {
      return;
    }
  }
  /*
   * У классов есть параметр stat, предназначенный для статических ф-ий и данных.
   * Он доступен через _class.stat или из объекта(экземпляра) класса через this.stat.
   * Потомки могут обращаться к статическому методу предка, для этого их нужно
   * объявлять так: _class.stat.prototype.myStaticMethod = function() {...
Читать дальше →
Total votes 34: ↑19 and ↓15+4
Views13K
Comments 19

Вникаем в include и extend

Ruby
Translation

Примечание переводчика: перед прочтением этого поста рекомендую сначала ознакомиться с постом Вникаем в метаклассы Ruby.

Все рубисты знакомы с формальными определениями для include и extend. Вы делаете include модуля, чтобы добавить методы экземпляра класса, и extend — чтобы добавить методы класса. К сожалению, данные определения не совсем точны. Они не могут объяснить почему мы используем instance.extend(Module), чтобы добавить методы объекту. Разве не должны мы в этом случае использовать instance.include(Module)? Чтобы разобраться в этом вопросе, начнем с выяснения где же хранятся методы.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Views55K
Comments 27

Наследование в Backbone.js

Website developmentJavaScript
Коллеги, использующие Backbone.js! Вы задумывались, как работает наследование в этой библиотеке?
Знаете, как себя ведет Backbone.Model.extend({})?
И наверняка знаете и помните, что у extend два опциональных параметра: proto props и static props.
Если хотя бы на один выше заданный вопрос вы ответили отрицательно — прошу под кат.
Постараюсь порадовать пошаговым исследованием, схемками, табличками и примерами.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Views14K
Comments 1

Очень быстрые классы на JavaScript с красивым синтаксисом

Website developmentJavaScript
Sandbox
При написании серьезных проектов перед JavaScript программистами встает выбор: пожертвовать качеством кода и писать классы руками, или же пожертвовать скоростью и использовать систему классов. А если использовать систему, то какую выбрать?

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

Системы классов


Есть шутка, что каждый программист должен написать свою систему классов. Кто не знаком с проблемой — смотрите этот комментарий, там их собрано минимум 50 штук.

Каждый из этих велосипедов отличается своим набором возможностей, своим стилем программирования и своим падением скорости. Так, например, создание класса MooTools примерно в 90 раз медленнее, чем создание класса, написанного от руки. Зачем тогда нужны все эти системы?
Читать дальше →
Total votes 53: ↑43 and ↓10+33
Views52K
Comments 110

Расширение разделов без потери данных

Go

Суть


Разработал программу для простого расширения раздела и файловой системы (xfs, ext3,4) без потери данных. github.com/rekby/fsextender/releases/latest

Исходная проблема


После расширения диска виртуальной машины c ос семейства linux расширить внутри неё раздел данных.
Подробности
Total votes 33: ↑32 and ↓1+31
Views63K
Comments 12