• Как оптимизировать алгоритм самонаведения ракеты?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Тут квадратное уравнение зарыто.

    Обозначьте |MSL_VEL - TGT_VEL| за t.

    Получите уравнение TGT_DIR = (MSL_VEL-TGT_VEL)/t

    Преобразуйте: TGT_DIR*t = (MSL_VEL-TGT_VEL)

    Но тут неизвестные вектор MSL_VEL и t. Но они связаны, ведь t - это длина вектора. Обозначим неизвестный вектор MSL_VEL как (x, y, z) Значит:
    t^2=(x - TGT_VEL_x)^2 + (y - TGT_VEL_y)^2 + (z - TGT_VEL_z)^2

    Ну и еще вы знаете, что скорость ракеты фиксированная же:
    x^2+y^2+z^2 = MSL_SPEED^2

    У вас тут 4 неизвестных и аж 5 уравнений (ведь первое - это векторное уравнение):
    TGT_DIR_x*t = x - TGT_VEL_x
    TGT_DIR_y*t = y - TGT_VEL_y
    TGT_DIR_z*t = z - TGT_VEL_z
    t^2=(x - TGT_VEL_x)^2 + (y - TGT_VEL_y)^2 + (z - TGT_VEL_z)^2
    x^2+y^2+z^2 = MSL_SPEED^2


    Раскройте скобки в 4-ом, подставьте туда пятое и из первых трех выразите x, y, z:

    t^2 = MSL_SPEED^2+TGT_SPEED^2-2*TGT_VEL_x*(TGT_DIR_x -t*TGT_VEL_x)-... = MSL_SPEED^2+(1-2t)TGT_SPEED^2-2(TGT_DIR*TGT_VEL)


    Там в конце векторное произведение векторов. Дальше сами раскройте и получите квадратное уравнение на t. Решите его по школьной формуле. Если дискриминант отрицательный, то решения тупо нет. Слишком быстро цель улепетывает. Потом не забудьте проверить, чтобы t получилось положительное. Потом подставьте t в первые 3 уравнения и найдите искомые x, y, z.

    Еще можно так себе это все представить. Свяжем систему координат с целью. Тогда множество точек, куда может смотреть скорость ракеты - это сфера с центром в TGT_VEL и радиусом MSL_SPEED. Вам надо выбрать на этой сфере точку так, чтобы она была коллинеарна с вектором TGT_DIR. Т.е. у вас есть луч из центра координат вдоль векторо TGT_DIR. Вам надо найти где он пересечет сферу. Введите параметр t вдоль луча и дальше получите то же самое квадратное уравнение.
    Ответ написан
    2 комментария
  • Как построить карту сети, провести инвентаризацию и вести мониторинг?

    @skroik
    Я в свое время тоже искал специализированную программу для рисования сетей и кое-что нашлось.

    На сайте Friendly Software (http://www.kilievich.com) есть две freeware программы с похожим функционалом Friendly Pinger и Friendly Net Viewer, посмотрите их скриншоты.
    Можно добавлять в схему компьютеры, соединять их линиями, дополнять всякими комментариями. Но самое прикольная фича - статус. Если IP жив - иконка светится, иначе потухшая.

    fpinger.png
    Ответ написан
    9 комментариев
  • Локальная сеть через RJ-11?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    какой кабель между розетками? если там 2 пары - можно попробовать

    но надо понимать одну штуку - свивка пар в Cat 3/5/5+ не случайна, шаг свивки определяет индукционные качества каждой пары.. иными словами - даже если у вас там 4х жильный телефонный провод* - он не имеет свивки пар, и в зависимости от длины кабеля, будут расти потери пакетов

    для примера - давным давно, когда я обжимал свою первую 100 Мбит сеть, пары не были учтены, просто было повторение рисунка по правилам - при длине кабеля более 8 метров связь становилась не стабильной, после просвещения более опытным коллегой, связь, на том же кабеле, стала замечательной на хвостах до 50м (а больше в том офисе и не нужно было)

    ps * - 4 жильные провода бывают разными, в принципе существует и витая пара (в которой 2 пары и есть, их даже провайдеры частенько используют для экономии стоимости конечного подключения в квартирах) но в телефонии, чаще используется плоский 4х жильный кабель - на нем длина кабеля будет резко негативно влиять на качество связи

    pps - ну и как уже было сказано - по 2м жилам ethernet не будет работать вообще

    ppps - все эксперименты с ethernet можно проводить только, если вы точно знаете, что розетки соединены "точка-точка" .. если они подключены к реальной телефонной сети - это гарантия что сеть не поднимется, и очень большой риск угробить сетевые карты
    Ответ написан
    Комментировать
  • Что значит параметр keep alive timeout у клиента pppoe?

    Jump
    @Jump Куратор тега Системное администрирование
    Системный администратор со стажем.
    Ну вот работает PPoE тоннель поверх интернета, и вдруг раз и связь прервалась.
    Возникает вопрос - тоннель сразу разрывать, или удерживать какое-то время, в надежде что связь наладится.
    Вот этот параметр как раз определяет сколько будет поддерживаться активным тоннель в случае падения связи.

    Если у вас он 60 секунд - то при падении связи на 30секунд, PPoE не оборвется.
    Ответ написан
    Комментировать
  • Как узнать адрес сети?

    RazorBlade
    @RazorBlade
    Включить Wireshark и посмотреть широковещательную рассылку с других компьютеров, таким образом узнаем адрес сети.
    Ответ написан
    5 комментариев
  • Как узнать адрес management интерфейса?

    mikes
    @mikes
    Адрес не имеет значения, узнайте MAC при помощи wireshark, подключите комп в ту же сеть (vlan) где и карточка и поставьте статическую ARP запись на компе для этого MAC на нужный вам ip. По нему и заходите в веб интерфейс, а там уже думаю разберетесь.
    Ответ написан
    Комментировать
  • Как пробросить ip адреса?

    @res2001
    Developer, ex-admin
    Дожили. Гугл консультируется на тостере :)
    Ответ написан
    2 комментария
  • Как пропустить PoE через устройство грозозащиты?

    eapeap
    @eapeap
    Сисадмин, Беларусь
    Читаем ДатаШит:
    "Nominal Operating Voltage - 3.3 Vpeak
    Max Continuous Operating Voltage - 6 Vpeak"
    Защита срабатывает на постоянку, которой запитывается камера.
    Как пропустить PoE через устройство грозозащиты?

    Через это - никак
    Ответ написан
    Комментировать
  • Как правильно расположить IP адрес?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    /20 - не адрес, а сеть, имеющая 4096 потенциальных адресов (-2 для сети и броадкаста). Начнём выделять адреса для подсетей, предварительно отсортировав их по убыванию количества компьютеров. Подсети будем выбирать так, чтобы их размер был на 4 больше, чем количество компьютеров (адрес самой сети, броадкаст, адреса для свитча и роутера):
    183.118.32.0/20 = 183.118.32.0-183.118.47.255
    A | 425 | 512 | /23 | 183.118.32.0/23 = 183.118.32.0-183.118.33.255
    E | 353 | 512 | /23 | 183.118.34.0/23 = 183.118.34.0-183.118.35.255
    C | 341 | 512 | /23 | 183.118.36.0/23 = 183.118.36.0-183.118.37.255
    H | 308 | 512 | /23 | 183.118.38.0/23 = 183.118.38.0-183.118.39.255
    G | 253 | 512 | /23 | 183.118.40.0/23 = 183.118.40.0-183.118.41.255
    D |  95 | 128 | /25 | 183.118.42.0/25 = 183.118.42.0-183.118.42.127
    F |  86 | 128 | /25 | 183.118.42.128/25 = 183.118.42.128-183.118.42.255
    B |  32 |  64 | /26 | 183.118.43.0/26 = 183.118.43.0-183.118.43.63

    Для связи роутеров можно добавить ещё одну подсеть /28 или 8 подсетей /30. Роутеры со свитчами объединяются транками и отдельных адресов для связи между собой не требуют.
    Ответ написан
    1 комментарий
  • Создание свого аудиоформата, с чего начать?

    Olej
    @Olej
    инженер, программист, преподаватель
    Я хочу создать свой собственный аудиоформат, подскажите, пожалуйста, с чего можно начать

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

    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 комментариев
  • Как сказать по-русски слово yield???

    Deroy
    @Deroy
    Senior Developer, Software Architect
    ну по смыслу - генерирует, отдает.
    чисто речевой перевод - много раз обсуждая как программист с программистом, используем прямой англицизм, т.е. "йилдит".

    примеры из повседневной речи:
    <..> и генератор будет йилдить до тех пор пока <..>
    <...> каждый раз йилдит новый джоб <...>
    для разговорной речи этого более чем достаточно.

    более литературно и по русски:
    <...> он будет отдавать значения с шагом в 10 единиц <..>
    <..> должен выдавать срез заданного размера <...>

    т.е. полностью аналога вроде как нет, но за счет окружающего контекста смысл придается тот же.
    Ответ написан
    7 комментариев
  • Как сказать по-русски слово yield???

    copist
    @copist
    Empower people to give
    А ты все слова пытаешься перевести?

    abstract class A extend B interface C
    {
      private property $b;
      final protected function x() { return new static; }
    }


    абстрактный класс А, сын Бэ и лицом-похож-на Цэ
    {
       частная собственность $бэ;
       конченная защищаемая функция икс() { вернуть новую неподвижность }
    }


    Моё частное мнение - достаточно знать, как работает языковая конструкция и в идеале знать, как правильно произносится на английском. Мне лично моё произношение и исковерканные "привАт" "пэхапэ" "пропертЯ" "абстрАкт", "на сях", "си шарп", "" - были до лампочки, пока не пришлось объяснять свой код в команде из англоговорящих программистов и задавать им вопросы по их коду. А ещё я общался с тайцами и индусами и теперь тщательно произношу именно английские версии всех названий технологий, зарезервированных слов и торговых марок. Зиракс, МАйкроСофт, ЭйчТиЭмЭль, ПиЭйчПи, прАйвит, Эбстракт :)
    Ответ написан
    6 комментариев
  • Как распарсить строку и построить дерево категорий товаров и услуг?

    orlov0562
    @orlov0562
    I'm cool!
    Я напишу в целом, т.к. это подойдет для любого языка

    Алгоритм работы парсера довольно прост, и по большей части делится на 3и этапа:
    1) Получить данные
    2) Разобрать данные
    3) Сохранить данные

    1) Для того чтобы получить данные, надо изучить стек функций для работы с сетью. Можно гуглить по такому запросу "Как скачать веб-страницу" + твой ЯП (PHP, Java, Python и т.д.). Тут ты должен написать функцию которой на вход передашь url, а на выход получишь данные (html, json, xml и т.д.)

    2) Разобрать данные можно либо с помощью готовых библиотек под нужный формат, либо с помощью регулярных выражений, либо с помощью строковых функций. Тут на помощь придет запрос "Строковые функции" + твой ЯП или "регулярные выражения" + твой ЯП. На этом этапе ты должен написать функцию, которой на вход поступают данные, а на выходе получаешь заранее утвержденную структуру.

    3) Сохранять данные в необходимой структуре можно в файлы или в БД. Опять в гугл с запросом "Работа с бд " + твой ЯП, либо "Работа с файлами" + твой ЯП. Тут твоя задача написать функцию, на вход которой приходит заранее утвержденная структура, а на выходе ты получаешь результат "сохраненные данные"

    Ну, собственно и всё. Идешь в гугл, изучаешь матчасть и пишешь парсер.

    Если же тебя в большей степени интересуют алгоритмы разбора, тогда советую посмотреть код "калькуляторов" на твоем ЯП, погуглить можно по запросу "калькулятор со скобками", "Разбор и вычисление выражений". Это классическая задача, разбор твоего куска будет очень похож.
    Ответ написан
    6 комментариев
  • Нарушу ли я авторские права данным логотипом?

    @Zewkin
    Я у мамы фронтэндер
    Я думаю, адвокаты Walt Disney могут доказать факт нарушения авторских прав даже если вы свою жену в постели Чубаккой назовете.
    Ответ написан
    Комментировать
  • Вычислить в программе delphi?

    @vilgeforce
    Раздолбай и программист
    Не бывает так, чтобы пришли и сказали "через 4 часа ты должен вычислить вот это, только на Delphi". Поэтому не нужно вам ничего вычислять.
    Ответ написан
    2 комментария
  • Как спланировать профессиональное развитие в телекоме?

    Bessome
    @Bessome
    Администратор Linux, Windows. 1С программист
    Вот работаете Вы у провайдера, который предлагает: интернет, телефонию, видеонаблюдение, что-то еще. Провайдер возможно локальный, возможно федеральный. А теперь вопросы, на которые надо ответить для дальнейшего развития:
    1. Что просят у Вас клиенты провайдера
    2. Что не идет у провайдера (например слабо продается сип-телефония)
    3. Техподдержка провайдера качественная?
    4. Что-то еще из работы
    5. И еще
    6. И еще вспомнить

    Теперь смотрим сколько провайдеров в городе. Какие проблемы у них
    Теперь прикидываем, сколько денег нужно, чтобы начать бизнес с Вашими контактами по продаже одного из направлений провайдера. Умножаем эту сумму на 2. Считаем сотрудников. Считаем их зарплату. Умножаем на 1.7 (налоги). Получаем сумму. умножаем сумму зарплаты на 9 месяцев + аренда площадей. Мы можем открыть бизнес и не загнуться за 9 месяцев? Если да - начинайте собственный бизнес. Если нет - нужно работать над своим положением у провайдера. Срок роста специалиста 5 лет. И поверьте мне, расти всегда есть куда.
    Теперь идите к руководству и говорите, что одна из тем не идет, и Вы готовы качать ее качество (технически, продажи и тп).
    Вариант - ищете на бирже работу по Вашей специальности (или не по Вашей, но близкой теме) и растете как специалист, причем не бесплатно.
    Вариант: рядом с провайдером всегда куча фирмочек трется, которые поставляют что-то, забирают клиентов на обслуживание, обычно это франчайзи, заправщики картриджей, установщики винды и настройщики роутеров. Начинайте налаживать связи с ними, лучше сразу с руководством. То есть можно проехаться, оставить визитки. И самое главное в процессе разговора спросить, что ИМ нужно от провайдера, может быть они бы хотели совместно зарабатывать деньги, но у них не получается. Станьте их помощником, и поверьте...сразу...пойдут предложения "настроить АТС", "прокинуть канал" и тп.

    Уф. В общем и целом Вам конечно виднее, что там и как. Я рос по пути контактов с фирмами, которые являются "друзьями", собирая и решая их задачи. Начинал после ВУЗа 2 года работая "программистом" 1С у франча. Через 2 года начал поднимать биллинг на linux и asterisk. Эти задачи мне подкидывали партнеры франчайзи, в котором я работал.
    Ответ написан
    Комментировать
  • Как лечится кризис начинающего программиста?

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

    Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота - 8 кликов мышкой и все готово :-)

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

    И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

    Личной мой посыл - "Я помогаю людям экономить: время, деньги, нервы и т.д.".

    Как я это делаю?
    У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск "кондиционеры метала для а/м"). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
    Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах...
    Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

    К чему я все здесь это пишу? Я пытаюсь донести до Вас, что нет Вам смысла учить программирование на какой бы то ни было языке ради самого программирования. Нет смысла Вам учить алгоритмы, структуры, паттерны и т.д. ради их самих.

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

    Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.)... Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком - да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

    Вам же я желаю не останавливаться, развивайтесь. Мастерство приходит с опытом.

    P.S.: от холиваров на тему 1С прошу всех воздержаться
    Ответ написан
    11 комментариев
  • Как найти концы витой пары в существующей сети?

    SagePtr
    @SagePtr
    Еда - это святое
    Подключить конец в 220 - какое оборудование сгорело, в то и был воткнут кабель)
    Ответ написан
    Комментировать