Задать вопрос
  • Программирование на планшете?

    @FoxInSox
    Очень удобно, рекомендую. В туалете можно программировать, например. Или в очереди в магазине, или в маршрутке по пути на работу.
    Ответ написан
    Комментировать
  • Какую выбрать кнопку для управления цепью из светодиодов?

    eapeap
    @eapeap
    Сисадмин, Беларусь
    Делать - так делать круто, без кнопок с автоматическим включением при открытии двери и выключением при закрытии. Вот так или типа того - Гугл в помощь.
    Видел в магазине что-то типа этого - на батарейках. Вообще, купил, приклеил и забыл.
    Ответ написан
    Комментировать
  • Что такое распределенная система?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Самый простой пример - хранение информации. Пусть у нас будет 5 серверов, которые будут хранить файлы. Для того, чтобы распределить нагрузку по этим серверам мы будем каждый файл класть на один из серверов, а сервер выбирать по очень простому алгоритму, будем считать хеш имени видеофайла и делить его на остаток от деления на 5 ( по количеству серверов). Так как предполагается, что хеширование у нас подчиняется нормальному распределению, то файлы на серверах тоже будут распределены равномерно.
    Итого, когда нам нужно узнать, на каком сервере лежит файл, нам достаточно посто посчитать хеш, найти остаток от деления и обратиться к нужному серверу.
    Тоже самое можно сделать не только с хранением, а и с вычислениями. Передавать задачу на один из серверов по какому то признаку, например по текущей загрузке или по наличию свободной памяти или еще ко какому признаку.

    Пример на питоне
    import hashlib
    h = hashlib.md5('my_cool_filename').hexdigest() # получили 16-разрядную строку
    # h =  '13061a556715c93e5543f20b7001c669' - это строка
    hi = int(h,16) # перевели ее в лонг
    # hi = 25287019810011413006158894310673729129L
    index = int(h,16) % 5 # нашли остаток от деления
    # index = 4L


    Еще раз, нужно не делить, а взять остаток от деления, операция %
    Ответ написан
    8 комментариев
  • Как найти кратчайший путь в графе эвристическим алгоритмом?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Простейшая эвристика - найдите какой нибудь путь и оптимизируйте его пока не надоест
    Ответ написан
    Комментировать
  • Мои действия, если пытаются обвинить за сообщение пользователей на форуме?

    @nirvimel
    Не стоит так боятся исков. Иск по 152 ГК создает больше проблем истцу, чем ответчику, так как ему самому придется собирать доказательства того что он "не верблюд" (если ему не понравилось быть названым верблюдом).
    В худшем для вас случае, если истец выигрывает иск по 152 ГК, то вам таки предается удалить тот текст (то, чего он требует от вас без суда), на том месте написать пару строк опровержения и более ничего.
    128.1 ГК к вам неприменима, так как она рассматривает "распространение заведомо ложных сведений", что не относится к вашему случаю, так как вы не имели представления об истинности этих сведений, и никто не предоставил вам веских доказательств ложности (слово одного человека против слова другого - не доказательство).
    С их стороны все эти угрозы - обычное "взятие на понт". Тем не менее, я рекомендую всю переписку с ними вести под руководством юриста, потому что "слово не воробей" и все сказанное вами может быть использовано против вас.
    Ответ написан
    3 комментария
  • Где оптимальнее размещать методы общего назначения в структуре или классе?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Код:
    class MyClass
    {
        public void Test()
        { }
        public static void TestStatic()
        { }
    }
    
    struct MyStruct
    {
        public void Test()
        { }
        public static void TestStatic()
        { }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            MyClass.TestStatic();
            MyStruct.TestStatic();
    
            var c = new MyClass();
            c.Test();
            var s = new MyStruct();
            s.Test();
        }
    }


    IL-код:
    .method private hidebysig static void  Main(string[] args) cil managed
    {
      .entrypoint
      // Code size       43 (0x2b)
      .maxstack  1
      .locals init ([0] class ClassOrStructApp.MyClass c,
               [1] valuetype ClassOrStructApp.MyStruct s)
      IL_0000:  nop
      IL_0001:  call       void ClassOrStructApp.MyClass::TestStatic()
      IL_0006:  nop
      IL_0007:  call       void ClassOrStructApp.MyStruct::TestStatic()
      IL_000c:  nop
      IL_000d:  newobj     instance void ClassOrStructApp.MyClass::.ctor()
      IL_0012:  stloc.0
      IL_0013:  ldloc.0
      IL_0014:  callvirt   instance void ClassOrStructApp.MyClass::Test()
      IL_0019:  nop
      IL_001a:  ldloca.s   s
      IL_001c:  initobj    ClassOrStructApp.MyStruct
      IL_0022:  ldloca.s   s
      IL_0024:  call       instance void ClassOrStructApp.MyStruct::Test()
      IL_0029:  nop
      IL_002a:  ret
    } // end of method Program::Main


    Анализ: Вызовы статического метода класса или структуры идентичны. Вызовы обычных методов класса и структуры похожи, но не идентичны. Дополнительно, для создания объекта его нужно создавать в куче и собирать коллектором мусора.

    Результат: если вызывается статический метод, то разницы нет. Если метод обычный, не статический, то некоторая разница имеется, но в основном - в том, что объект нужно будет собирать ненужный объект в GC. Но в данном случае объект будет в нулевом поколении, сборка такого объекта почти бесплатна.

    Вывод: используйте статические классы для хелперов.
    Ответ написан
    2 комментария
  • Где оптимальнее размещать методы общего назначения в структуре или классе?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Конечно, в структуре, т.к. не резервируется память на объект, потому что его нет.
    Класс обычно нужен для промежуточного сохранения состояний данного объекта(ов).
    Т.е. фактически класс - это динамическая структура.
    Ответ написан
    2 комментария
  • Почему падает .net приложение?

    nicosha
    @nicosha Автор вопроса
    VOIP Developer, DEVOps
    Вообщем, сам спросил - сам ответил. Есть замечательный профайлер
    https://www.microsoft.com/en-us/download/confirma...
    Ответ написан
    Комментировать
  • Как восстановить в окне конструктора случайно удаленный контрол в winforms?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Самое надежное - откатиться на предыдущий коммит, в котором был этот контрол.
    Ответ написан
    Комментировать
  • Что можно реализовать на Arduino?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Все то же, что делается в виде "жестких" электронных схем, но программируемо и разбираемо-пересобираемо.
    Можно даже ЧПУ и АСУ ТП строить, хотя в этой области наверно сименсы все же лучше.
    Ответ написан
    Комментировать
  • Как сделать экономичную гирлянду работающую от батареек?

    @artanets1
    я немного сомневаюсь в такой задумке, потому что 20mA х 20шт = 0.4А х 60ч = 24А мне кажется ни каких пальчиковых батареек не хватит (если я правильно посчитал потребление в ампер часах).
    А так в принципе согласен с тем что ШИМ подойдет.
    вот калькулятор неплохой
    Ответ написан
    Комментировать
  • Пользовательский интерфейс и C# на html?

    swanrnd
    @swanrnd
    Издатель HTML5 игр
    Не советую так делать.

    На C# интерфейс будет всегда быстрее)))
    Ответ написан
    Комментировать
  • Как сделать выпрямитель и стабилизатор напряжения?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    С такой постановкой задачи - купить. Потому как импульсную технику без обширного опыта и парка измерительной техники (недешевой) собрать весьма трудно.
    Ответ написан
    1 комментарий
  • Картинка из картинок.Как сделать??

    @Mercury13
    Программист на «си с крестами» и не только
    Простейший вариант…
    1. Для каждой малой картинки выбрать «средний» цвет.
    2. Уменьшить исходное изображение до M×N px, и в каждый пиксель вместо сплошного цвета подставить ту картинку, которая больше всего подходит по цвету.

    Алгоритм можно совершенствовать — например, подставлять одну из 10 наиболее подходящих, а если в радиусе, скажем, 30 единиц есть куда больше 10 картинок — брать их все. А можно ещё использовать метод коррекции ошибок Флойда-Стейнберга (наиболее удачный метод при переводе картинок в N цветов)
    Ответ написан
    3 комментария
  • Как, при чтении из файла массива строк, отбросить и не учитывать одно из вхождений?

    @Sumor
    var line = reader.ReadLine();
    var words = line.Split(" ".ToCharArray()).ToList();
    words.RemoveAt(4);
    var result = string.Join(" ", words);
    Ответ написан
    2 комментария
  • Как сделать интернет на Arduino в условиях дачи?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    скоро китайцы доберутся до RPI Zero, там будет и gpio, и мощность, и linux, и usb для 3g модема. а пока либо gprs шилд (что не дешево) либо etrhernet или wifi шилды до роутера
    Ответ написан
    2 комментария
  • Как создать простой шаблон в Visual Studio без Namespace?

    @dmitryKovalskiy
    программист средней руки
    Что вы понимаете под "Класс без namespace"? Технически это невозможно. Да и зачем вам это я понять не могу.
    Ответ написан
    Комментировать
  • Как заставить квадрокоптер, гексокоптер летать?

    @aol-nnov
    если ты задаешь такие вопросы, у тебя не твои "2 нерешенных вопроса", а вообще ничего. Ноль без палки.
    Скорей на профильные форумы! Рама, моторы, контроллеры, питание, прошивка аппарата, аппаратура управления, телеметрия, фпв..
    И это только верхушка айсберга!
    к ответу dimonchik2013 можно добавить, например, multocopter ru или rc-design ru
    Ответ написан
    1 комментарий
  • Как начать программировать микроконтроллеры на гаджеты? С чего начать?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Ваш стек даром не нужен для гаджетов. Объясню почему. У меня есть часы Moto 360. Они работают 20 часов с момента полного заряда. Какой-то недоумок реализовал для них банальный таймер (включили - отсчет пошел) на java. Работа этого таймера садит батарею за ДВА ЧАСА. Программисты, которые учились на высоко-высоко уровневых языках ничерта не понимают в том, что они делают, применяя на себе закон дырявых абстракций (отправляйтесь читать блог Спольски) в полную силу. Хороший программист сделал бы это на нативном C, задействуя аппаратный таймер процессора часов и не выжирая батарею.

    Чтобы заниматься тем, что вы тут пожелали, начните хотя бы с месячного интенсива по C. Именно по C, а не C/C++. Когда будете понимать, что такое регистровая переменная и как параметры передаются в функцию - можно будет только лишь подумать о смене квалификации. Успехов.
    Ответ написан
    12 комментариев
  • На что обратить внимание когда создаешь файлообменник?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Проверка ожидаемого/разрешенного "тела" закачиваемого файла
    2. Запрет на запуск из директорий хранилища для всех
    3. Шейпинг для разделения полосы пропускания
    4. ACL по доступам, общему кол-ву файлов, списку расширений, макс. объемам на папку и на файл.
    5. Распределенная система организации файловой структуры на несколько СХД
    Ответ написан
    Комментировать