Я прекрасно понимаю вашу ситуацию и не предлагаю закладывать аренду квартиры в зарплату. Я просто попытался примерно описать, какие мотивы в голове у тех ребят, которые после выпуска из университета что-то представляют собой, и почему они не пойдут к вам работать за 50к, а будут искать более высокооплачиваемую работу.
Я все к тому, что быть может, работнику сервисной службы на самом деле и не нужно знать, как устроен диодный мост и какие виды модуляций существуют? Или достаточно знать одному-двум из них, которым можно платить соответствующую з/п? А на остальные позиции брать более-менее сообразительных ребят (хоть сразу после школы) и обучать на месте конкретно работе с вашим оборудованием.
Просто у меня сложилось впечатление из ваших комментариев, что вы хотите почти бесплатно получить высоко квалифицированных сотрудников, как в старые добрые времена.
Нельзя здесь абстрагироваться от финансового вопроса. То, что в объявлении не была указана зарплата, ничего не объясняет: возможно, ваше объявление выглядело так, что много у вас не платят. Или так, как будто ваше предприятие — это бывший НИИ (что тоже означает, что много не платят).
Более-менее приличная однокомнатная квартира в Москве — 35к в месяц. От 50к почти ничего сразу не остается, совсем грустно. Но не жить же с родителями всю жизнь. Наверное, те, кто хорошо учился в университете и знает все про диодные мосты, думали похожим образом и хотели из этого болота выбраться.
Нынешние выпускники не застали Советского Союза, и потому им сложнее объяснить, что трудиться бесплатно — это правильно и почетно. Не будет больше бесплатных инженеров. Если хотите платить 50к, берите людей без требования к образованию, пишите им точные инструкции и проводите тренинги.
Если выбрать размер окна ДПФ кратным длине волны (для примера выше, 44100 сэмплов подойдет в качестве такого окна), или же просто очень большим, то дополнительных гармоник и мусора не будет (или будет в пренебрежимо малом количестве в случае просто большого окна).
Если я правильно понимаю, если выбрать частоту ноты кратной частоте дискретизации, то такого эффекта наблюдаться не будет. Например, если при Fs=44100 Гц взять ноту частотой 100 Гц (что-то среднее между соль и соль диез), то один период меандра будет занимать ровно 441 сэмпл, и ДПФ потому не покажет никакого мусора в спектре.
(Наблюдение чисто теоретическое: понятно, что на деле частоты нот таким требованиям не удовлетворяют.)
Можно написать отдельный демон, который бы хранил все в памяти, а потоки соединялись бы с ним через UNIX-сокет.
Либо просто использовать mmap()/mlock(), отобразив файл целиком в оперативную память, и дисковый кэш линукса сделает за вас всю работу. Тут, правда, скорее всего придется модуль на C для PHP городить.
Так бы у вас получилась цифра ближе к 1.000.000 запросов в секунду вместо 50.000.
Немного неясна позиция защищающих здесь производителя макарон с сыром. Я понимаю, что текст в стиле Ализара не добавляет ясности в происходящее, но если бы вы зашли на сайт автора по ссылке из статьи, то увидели бы, что распространяется не сама программа, а уже сделанные с помощью нее лабиринты в виде PDF-файлов.
Производитель макарон именно скопировал один из лабиринтов из электронной книги автора, а не воспользовался его программой для генерации оного. Не имеет никакого значения, как именно автор создал этот лабиринт — нарисовал акварелью или сгенерировал с помощью программы.
Совершенно ясно написано, что автор позволяет свободное использование в некоммерческих целях, и просит связаться с ним в случае желания использовать его головоломки в коммерческом продукте.
Таким образом, дизайнеры Kraft скопировали работу автора без разрешения, и автор здесь имеет полное право требовать компенсацию.
И вот поздно вечером (он действительно «вламывал» по полторы смены) пришел он домой, а в руках держал коробку, а в коробке, заметно, что-то тяжеленькое. Андрей тихо сиял.
Ему нередко случалось приносить какую-нибудь работу на дом, иногда это были небольшие какие-нибудь деревянные штучки, ящички, завернутые в бумагу, — никого не удивило, что он с чем-то пришел. Но Андрей тихо сиял. Стоял у порога, ждал, когда на него обратят внимание… На него обратили внимание.
— Чего эт ты, как… голый зад при луне, светисся?
— Вот… дали за ударную работу… — Андрей прошел к столу, долго распаковывал коробку… И, наконец, открыл. И выставил на стол… микроскоп. — Микроскоп.
Если проекция изометрическая (не перспективная), то квадратные грани перейдут в параллелограмы. В этом случае не нужно резать грань на два треугольника, достаточно применить одно аффинное преобразование ко всему квадрату, так как аффинное преобразование переводит параллелограмм в параллелограмм.
Если проекция перспективная, то при наличии текстуры приближение с помощью двух аффинно преобразованных треугольников будет неточным, особенно при сильной перспективе. Дело в том, что в этом случае нужно честно интерполировать текстурные координаты с учетом перспективной проекции, чего не добиться аффинным преобразованием.
Еще в формулах где-то ошибка. Если подставить точку (0, 0), на выходе получится (0.5*(x1+x3), 0.5*(y1+y3)).
Один из самых часто возникающих случаев, где необходима рефлексия, — это всяческая сериализация/десериализация. Представьте, например, что в вашей программе есть структура типа такой:
В этом коде сразу несколько проблем:
— вам нужно вручную перечислить все поля структуры, хотя компилятор и так лучше вас знает, какие в ней поля;
— приходится упоминать название каждого поля дважды, что выглядит избыточно;
— приходится еще и тип каждого поля упоминать вручную, хотя компилятор и так его знает.
Сейчас принципиально иного способа не существует, кроме использования страшных макросов. Было бы гораздо лучше, если бы мы могли написать что-то вроде (псевдокод):
Эдакий типизированный макропроцессор потребует немалых изменений языка, и не очень вероятно, что что-либо подобное может появиться в C++1y. А жаль, поскольку очень не хватает подобных средств.
Вы не поверите, но такова специфика западной системы образования. В Штатах, например, графическим калькулятором принято пользоваться даже для школьной алгебры. В результате многие выпускники школ не умеют считать ни в уме, ни на бумажке. Задача сложить две дроби без использования калькулятора у многих вызывает полный ступор. Или разделить 1 на 1/2. Не говоря уже про тригонометрию.
По воле судьбы мне приходится преподавать математику в американском университете, так что я знаком с ситуацией не понаслышке. Графический калькулятор стал таким неотъемлемым атрибутом урока математики, что мои студенты делают круглые глаза, когда я им говорю, что ни разу в жизни таким калькулятором не пользовался. (Думают, наверное, «Ну да, эти русские точно дикари!»).
Я не любитель теорий заговоров, но тут дело явно похоже на лобби производителей этих самых калькуляторов. Только представьте, сколько экземпляров TI-8x было продано, если у каждого школьника есть/был как минимум один такой калькулятор.
Некоторые университетские профессоры математики пытаются изменить сложившуюся ситуацию, но многие попутствуют тренду и разрешают использование любых калькуляторов на экзаменах.
Неужели такая большая проблема внешний PHY поставить? Что-то мне подсказывает, что какие-нибудь STM32F107 + DP83848 обошлись бы в сумме дешевле, чем микроконтроллер от TI. В режиме RMII потребовалось бы всего 9-10 соединений от МК к PHY, если мне не изменяет память. Плюс вдобавок получили бы аппаратный SDIO, и не надо было бы заморачиваться со всеми описанными проблемами.
Могу предложить способ с использованием старых добрых enum'ов. Хорош тем, что порядок действительно неважен: container<T, DEADLINE|DEFERRED> и container<T, DEFERRED|DEADLINE> дают один и тот же тип (в отличие от приведенного в статье подхода).
Никогда не понимал смысла SSAO, выглядит ведь совсем не натурально: вместо теней получаются какие-то страшные черные контуры вокруг предметов. Рекомендую к прочтению: nothings.org/gamedev/ssao/
Я все к тому, что быть может, работнику сервисной службы на самом деле и не нужно знать, как устроен диодный мост и какие виды модуляций существуют? Или достаточно знать одному-двум из них, которым можно платить соответствующую з/п? А на остальные позиции брать более-менее сообразительных ребят (хоть сразу после школы) и обучать на месте конкретно работе с вашим оборудованием.
Просто у меня сложилось впечатление из ваших комментариев, что вы хотите почти бесплатно получить высоко квалифицированных сотрудников, как в старые добрые времена.
Более-менее приличная однокомнатная квартира в Москве — 35к в месяц. От 50к почти ничего сразу не остается, совсем грустно. Но не жить же с родителями всю жизнь. Наверное, те, кто хорошо учился в университете и знает все про диодные мосты, думали похожим образом и хотели из этого болота выбраться.
Нынешние выпускники не застали Советского Союза, и потому им сложнее объяснить, что трудиться бесплатно — это правильно и почетно. Не будет больше бесплатных инженеров. Если хотите платить 50к, берите людей без требования к образованию, пишите им точные инструкции и проводите тренинги.
(Наблюдение чисто теоретическое: понятно, что на деле частоты нот таким требованиям не удовлетворяют.)
Либо просто использовать mmap()/mlock(), отобразив файл целиком в оперативную память, и дисковый кэш линукса сделает за вас всю работу. Тут, правда, скорее всего придется модуль на C для PHP городить.
Так бы у вас получилась цифра ближе к 1.000.000 запросов в секунду вместо 50.000.
Производитель макарон именно скопировал один из лабиринтов из электронной книги автора, а не воспользовался его программой для генерации оного. Не имеет никакого значения, как именно автор создал этот лабиринт — нарисовал акварелью или сгенерировал с помощью программы.
На сайте автора написано: «All puzzles ©2005-2014 KrazyDad.com. Feel free to reproduce the puzzles for personal, church, or school use. If you would like to purchase new puzzles for a book or periodical, contact me at dad@krazydad.com.»
Совершенно ясно написано, что автор позволяет свободное использование в некоммерческих целях, и просит связаться с ним в случае желания использовать его головоломки в коммерческом продукте.
Таким образом, дизайнеры Kraft скопировали работу автора без разрешения, и автор здесь имеет полное право требовать компенсацию.
Если проекция перспективная, то при наличии текстуры приближение с помощью двух аффинно преобразованных треугольников будет неточным, особенно при сильной перспективе. Дело в том, что в этом случае нужно честно интерполировать текстурные координаты с учетом перспективной проекции, чего не добиться аффинным преобразованием.
Еще в формулах где-то ошибка. Если подставить точку (0, 0), на выходе получится (0.5*(x1+x3), 0.5*(y1+y3)).
Также у вас есть некоторое key-value хранилище с примерно следующим интерфейсом:
Теперь представьте, что вам нужно реализовать функцию загрузки параметров кота из хранилища:
Вероятно, первое, что приходит в голову, это загрузить все поля структуры по одному:
В этом коде сразу несколько проблем:
— вам нужно вручную перечислить все поля структуры, хотя компилятор и так лучше вас знает, какие в ней поля;
— приходится упоминать название каждого поля дважды, что выглядит избыточно;
— приходится еще и тип каждого поля упоминать вручную, хотя компилятор и так его знает.
Сейчас принципиально иного способа не существует, кроме использования страшных макросов. Было бы гораздо лучше, если бы мы могли написать что-то вроде (псевдокод):
Эдакий типизированный макропроцессор потребует немалых изменений языка, и не очень вероятно, что что-либо подобное может появиться в C++1y. А жаль, поскольку очень не хватает подобных средств.
По воле судьбы мне приходится преподавать математику в американском университете, так что я знаком с ситуацией не понаслышке. Графический калькулятор стал таким неотъемлемым атрибутом урока математики, что мои студенты делают круглые глаза, когда я им говорю, что ни разу в жизни таким калькулятором не пользовался. (Думают, наверное, «Ну да, эти русские точно дикари!»).
Я не любитель теорий заговоров, но тут дело явно похоже на лобби производителей этих самых калькуляторов. Только представьте, сколько экземпляров TI-8x было продано, если у каждого школьника есть/был как минимум один такой калькулятор.
Некоторые университетские профессоры математики пытаются изменить сложившуюся ситуацию, но многие попутствуют тренду и разрешают использование любых калькуляторов на экзаменах.
container<T, DEADLINE|DEFERRED>
иcontainer<T, DEFERRED|DEADLINE>
дают один и тот же тип (в отличие от приведенного в статье подхода).