• Можно ли определить разность фаз между сигналами различной частоты?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Во-первых, по определению, разность фаз определяется для сигналов одной частоты.
    Во-вторых, можно рассмотреть само понятие фазы. Оно показывает сколько частей периода колебания прошло от момента, который мы считаем нулевым. При разной частоте разные периоды. Итого у вас получаются две численные характеристики разные по масштабу. По сути, фазы и были введены, чтобы уйти от конкретики частот и периодов и описывать колебательные процессы абстрактно, нормированно.
    В-третьих, я что-то не могу представить, где бы это понадобилось? Хотя возможно у меня проблемы с фантазией или/и эрудицией.
    Ответ написан
  • Как из класса обратиться к элементу формы?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    у label1 установить модификатор доступа public (например) .... и обращайтесь.
    Ответ написан
    Комментировать
  • Как развивать аналитический склад ума?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    "Аналитический" происходит от слова "анализ", которое дословно с древне-греческого переводится ка разложение. В контексте склада ума и "problem solving skills" это означает, что решаемую проблему/задачу/вопрос необходимо разложить на составляющие ее подзадачи, возможно в несколько уровней (Есть еще такое умное слово: "декомпозиция"). И решать уже маленькие простые задачи, что значительно проще.
    А не бегать вокруг проблемы: А-а-а, как все сложно, не знаю за что взяться, что делать, паника, паника, паника!!!

    Развивать, декомпозируя ежедневные задачи.
    Художник, рисуя сову, сначала рисует два овала, а потом прорабатывает детали.
    Писатель придумывает идею, потом вступление, завязку, кульминацию, развязку, финал.
    Повар, планирует этапы приготовления блюда.
    Строитель начинает с фундамента, строит коробку, крышу, проводит коммуникации, выполняет отделку.
    Программист, делит ТЗ на основную функциональность, на свистелки и на все остальное. Выделяет модули, каждый из которых выполняет отдельную функцию. Потом по очереди или параллельно с коллегами реализовывает. А затем соединяет части в работающий (при успешном исходе) продукт.
    Ответ написан
    Комментировать
  • Linux для игр, Нужны ли какие либо дополнения?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Недавно решил перейти с виндовса на линукс.
    Последнее, что останавливало это DiabloIII и StarcraftII.
    Установил LinuxMint, установил PlayOnLinux, выбрал там установить DiabloIII, дальше следовал инструкциям, а все что нужно само подтянулось.
    Драйвера видео также оставил стандартные.
    И все работает.
    У arch`а playonlinux тоже есть. Стоит попробовать.
    Ответ написан
    Комментировать
  • Действительно ли важно правильное питание для мозга программиста (с точки зрения науки)?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    По своему опыту скажу: вот когда на каком-нибудь мероприятии выпьешь так от души (не один бокал красного, а побольше), дня 3-4 нормально не соображается. Я могу кодить. Но придумывать красивые абстракции и писать отличный код, вряд ли. Мозг функционирует на каком-то самом верхнем уровне.
    Также заметил, что если не принимаю витамины, то все время хочется спать. Весь день сонный. Домой приходишь, поужинал и вырубился. Никаких домашних дел, личной жизни, хобби. С витаминами сил как-то больше. Витамины - обычный Компливит.

    По поводу других людей. Люди же разные. У кого-то изначально здоровья побольше, у кого-то соображаловки, у кого-то мозги по другому устроены и конкретно в этой задаче они могут даже в состоянии жёсткого похмелья решать вопросы, которые для других запредельно сложны, у кого-то учителя были отличные и они уже сейчас умеют делать то, до чего ты дойдешь лет через 5...7 своей головой и руками.
    Но это все не значит, что они через десять лет будут также продуктивны, что они будут способны угнаться за прогрессом, который в нашей области деятельности более чем стремителен.

    А вообще в таких вопросах нет четкого конкретного ответа: если будешь бухать Золушка, то ровно в 12 часов твоя голова превратится в тыкву. Тут правильнее говорить о корреляции. Чем менее правильный образ жизни ведешь, тем больше вероятности ты получишь проблемы и тем раньше.
    Ответ написан
    4 комментария
  • Как называется эта книга?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Что-то мне навеял ваш вопрос вот эту книгу. Там совсем не про издательство, а про архитектора. Да и вообще не о том. Просто оставлю это здесь. =)
    Ответ написан
    Комментировать
  • Как просто организовать Combobox в Propertygrid (c#)?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Например, у вас есть объект со свойством типа string и вы хотите чтобы через PropertyGrid можно было бы выбирать из выпадающего списка новое значение для этого свойства. Выглядит это приблизительно так:

    using System;
    using System.ComponentModel;
    
    public class MyClass
    {
        [TypeConverter(typeof(EnumConverter))]
        public string stringProperty {get; set;}
    
        public MyClass()
        {
            stringProperty = EnumConverter.ALT1;
        }
    
        class EnumConverter : TypeConverter
        {
            public const string ALT1 = "Альтернатива1";
            public const string ALT2 = "Альтернатива2";
            public const string ALT3 = "Альтернатива3";
    
            public override bool GetStandardValuesSupported(ITypeDescriptorContext context)  {return true;  }
    
            public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)   {return true;  }
    
            public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
            {
                return new StandardValuesCollection(new[] {ALT1, ALT2, ALT3 });
            }
        }
    }


    потом что-то типа:

    propertyGrid.SelectedObject = new MyClass();

    чтобы посмотреть что получилось
    P.S. Код не запускал. Поэтому могут быть мелкие помарочки. Пишите в комментарий, если что не получается или не понятно.
    P.P.S. Так то PropertyGrid мощнейший компонент. Может очень и очень многое. Но не больше =).
    Ответ написан
    5 комментариев
  • Почему ПК не включается по wake on lan через минуту после выключения?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Я не настраивал WOL. Но есть такая мысль по вашему вопросу.

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

    Если же материнка полностью обесточена и сетевая, соответственно, тоже, то даже если сетевая настроена для WOL, она отвечать не будет.

    Насколько знаю, современные мат.платы имеют несколько режимов пониженного энергопотребления. И нужно настроить, чтобы при "выключении" (poweroff или по кнопке), компьютер не выключался совсем, а переходил в режим пониженного энергопотребления, при котором доступен WOL.

    Но вообще это странно, если в BIOS включен WOL, то, мне кажется, это и означает, поддержание питания на сетевой.
    Ответ написан
    2 комментария
  • Уместен ли return в void функциях? Как лучше else-if-else или множественные return`ы?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Портянки if-else не любит никто. Это раз. Некоторые не любят множественные return`ы. Это два.

    Лично для меня удобен вариант с return`ами.

    Если сравнивать, с большим количеством вложенных if-else`ов, код становится разреженным - сложно глазами все удержать. А с return`ами более компактно получается.

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

    Множественные return`ы не любят потому, что вроде как одна точка входа и одна точка выхода - это хорошо. Что, мол, бывают случаи, когда независимо от условий, перед выходом из метода нужно будет выполнить какое-нибудь общее действие, типа освобождения ресурсов. Но, это бывает далеко не всегда. И слепо следовать принципу: "одна точка входа/одна - выхода" не стоит.

    В общем, ответ на ваш вопрос: "Пиши читабельный код и DRY (Don`t Repeat Yourself)"
    Ответ написан
    Комментировать
  • Как сделать из Роутера 2.4 GHz роутер с частотой 5GHz?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Что-то я сомневаюсь в реализуемости "припаять что..." за разумный бюджет =).
    Может внимательнее прошерстить рынок

    Можно еще у наших китайских друзей посмотреть.
    Ответ написан
    Комментировать
  • Сидячий образ жизни кодера на самом деле ухудшает здоровье?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    5 лет за компьютером занимаюсь кодингом + до этого 7,5 лет занимался за компьютером схемотехникой.

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

    В какой-то момент, когда вес перевалил через психологическую границу - понял, что пора что-то делать. Стал бегать по утрам и ограничил себя в еде. Минус мучное, минус явные жиры, минус сладкое, минус соки-газировки. После 20.00 не ел. Ел по пять раз в день по немногу.
    Итого за 3 месяца минус 13 кг. В организме легкость. Но заболели колени. Ударная нагрузка на колени при беге из-за избыточного веса, неправильной техники бега и, как потом выяснилось, плоскостопия. Перестал бегать, перешел на спортивный шаг.
    После год физкультурой не занимался и не особо следил за едой. Опять набрал 5...7 кг.
    Пошел в фитнес-клуб, где и занимаюсь до сих пор. Сейчас вес приблизительно такой же, как был до всех похудений, но, по ощущениям, набрал где-то 50 на 50 мышцы/жир. Живот ощутимый есть, но осанка хорошая. Отдышка не мучает. Сердечно-сосудистая система работает. Становая - 100кг, Присед - 100 кг, жим лежа - 80кг. Это не на раз, это рабочие. Последняя тренировка с гирей 16кг по наручному кардиомонитору: 1ч20м, ср.ЧСС 150, махЧСС190, ккал1200.

    Образ жизни кодер формирует себе сам. Он не обязательно сидячий. У меня двое коллег программистов в выходной устраивают себе велопокатушки на 70...80 км.
    А прогрессирующий лишний вес появляется когда количество поступающий с пищей калорий превышает количество используемых. Плюс качество поступающих калорий, конечно, тоже важно. Углеводы надо получать из каш (низки гликемический индекс), а не из булок. Больше белка. Контролируемо - жиры.
    А если питаешься не очень калорийно или от природы с метаболизмом повезло, но с физкультурой не дружишь, то все равно будет грозить фигура беременного кузнечика. Когда мышцы спины не развиты - собственный вес будет скручивать в сутулую закорючку. Но скелетно-мышечная система - это не сумма отдельных мышц. Все мышцы/кости друг с другом связаны. Тут перекачаешь - тебя мышечный дисбаланс в другую сторону свернет. В идеале надо гармонично заниматься. И осознанно.

    В общем и целом, нужна физнагрузка, мы хоть в современном мире много чего достигли: много еды в магазине, медицина, автомобили. Эволюционно мы все еще не готовы к этому. Нам бы надо двигаться: бегать за оленями, валить мамонтов, а мы сидим в своих пещерах и толстеем. Надо этот дисбаланс между научно-техническим прогрессом и своей эволюцией нивелировать. Это жизненная необходимость. Но можно, конечно, и в 50 кони двинуть от сердечного приступа: тут вопрос выбора.
    Ответ написан
    5 комментариев
  • Как разработать программу для моделирования электрических схем?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Если я правильно понял, то вы своей программой хотите не только рисовать схемы, а моделировать электрические процессы проходящие в них.

    Самое простое, что можно сделать в этой области - это моделирование линейных схем при гармоническом воздействии. То есть таких схем, в которых применяются активные сопротивления R, индуктивности L, емкости C, источники гармонического тока J и источники гармонического напряжения E. В этом деле вам помогут такие методы расчета электрических цепей как метод контурных токов и метод узловых потенциалов для комплексных амплитуд. То есть по топологии схемы в соответствии с методом вы составляете матричное уравнение, решаете его и получаете токи и напряжения через каждый элемент и на каждом элементе соответственно.

    Вторым шагом, будет реализация моделирования электрических процессов при произвольном воздействии. Тут вам нужно будет использовать аппарат преобразования Фурье. Сигнал произвольной формы можно представить в виде суперпозиции гармонических сигналов. А для линейных цепей при гармоническом воздействии вы уже умеете моделировать процессы.

    Третий шаг, это анализ переходных процессов в линейных цепях. Тут, условно в линейную цепь добавляется переключатель, который в момент времени To, что включает/отключает/переключает. Используя операторный метод и методы контурных токов или узловых потенциалов составляем операторное матричное уравнения, решаем его, переписываем результат из операторной во временную область, рисуем графики.

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

    Классический учебник Попов "Основы теории цепей" вам в помощь. Удачи.
    Ответ написан
  • Как настроить Xml сериализатор?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    stackoverflow.com/questions/84449/xml-serialize-bo...

    [XmlIgnore]
    public bool MyValue { get; set; }
    
    /// <summary>Get a value purely for serialization purposes</summary>
    [XmlElement("MyValue")]
    public string MyValueSerialize
    {
        get { return this.MyValue ? "1" : "0" }
        set { this.MyValue = XmlConvert.ToBoolean(value); }
    }


    хотя.....от вашего практически не отличается
    Ответ написан
    1 комментарий
  • Как опросить ком порт?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Есть предложение окуклиться: замкнуть на себя порт (Tx <-> Rx) и отработать посылку/прием данных. При такой заглушке, если вы выбрали правильных порт, то данные в него посылаемые, будут из него возвращаться в обработчик события: DataReceived. Либо можно (если есть возможность) два СОМ-порта друг на друга замкнуть (Tx1 <-> Rx2, Tx2 <-> Rx1) и ловить посланное в первый порт на втором порту и наоборот.

    После того, как вы наиграетесь с портами, уже разбираться с протоколом обмена вашего прибора....
    Ответ написан
  • Из программистов в схемотехники? Было ли у кого?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    У меня обратная ситуация =)
    Ответ написан
    Комментировать
  • Чем редактировать dll?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Ответ написан
    Комментировать
  • 3 * 2 = 4 каким образом можно получить?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Вообще можно переопределить операцию умножения. Исторически так сложилось, что умножение это взять первого числа второе число раз. А мы с вами договоримся и никто нам не сможет помешать в этом, что при умножении нужно будет обязательно взять налог на операцию в размере трети от результата, тогда:

    3 * 2 = 4
    3 * 3 = 6
    6 * 6 = 24
    Ответ написан
    1 комментарий
  • Почему обрезаются данные при приеме через socket c#?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Возможно, стоит сделать так:
    do
                    {
                        int receivedBytes = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
                        stream.Write(buffer, 0, receivedBytes);
                    } while (receivedBytes > 0);


    На свойство Available надо внимательно посмотреть. В msdn в заметках его особенности поведения указаны. Возможно, в них дело.
    Ответ написан
    Комментировать
  • Перегрузки методов без дублирования кода в C#?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Выделяю общую функциональность в отдельный метод. Вызываю методы друг из друга. Еще есть значения параметров по умолчанию.
    Ответ написан
    Комментировать
  • Почему при переименовании файл исчезает?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Замените последнюю строчку на
    var audiofile2 = audiofile.Remove(ind)+Artist+"-"+Title+".mp3";
    System.IO.File.Move(audiofile, audiofile2);


    На последней строчке (там где Move) установите breakpoint и сравните содержимое переменных: audiofile и audiofile2. У вас файл перемещается в папку содержащую текущую. В данном случае в "C:\Users\Admin\Desktop\Job\simple\".
    Ответ написан
    Комментировать