Pull to refresh
22
0

User

Send message
Делать было нечего дело было вечером. Решил протестировать простые сервера на node.js и golang через ab и JMeter — github.com/Garik-/http-benchmark

Библиотека µWebSockets.js ab не смог протестировать её, а JMeter показал результаты хуже чем обычный встроенный http на node.js.
Вы можете склонировать репозиторий и повторить тесты самостоятельно, пишите в issue пожелания и свои результаты.
Для меня основной критерий — скорость обработки запроса, как у python обстоят дела со скоростью сетевых запросов? Использует ли он неблокирующие сокеты или какие другие механихзмы? Есть ли смысл смотреть в сторону python если мне допустим необходимо обойти 3 000 000 сайтов?
Писал подобное на winAPI в далеком 2010 году, программа была установлена в компьютерной аудитории и использовалась лаборантами для коллекционирования курсовых, дипломов и недописанных статей, книг преподователей, которые использовали этот компьютер для показа презентаций.

К сожалению исходников я не нашел (винт приказал долго жить), остались лишь воспоминания в блоге
Программа висит в памяти и с интервалом в минуту проходится по всем логическим дискам, если это флешка запрашивается ее серийный номер — программа сравнивает записи в реестре о последнем копировании с данной флешки и если прошло больше суток запускается рекурсивная функция копирования. Копирование производится на доступный для записи диск с условием, что на диске достаточно свободного места.
Я уж подумал, что кто-то мою статью из блога опубликованную в 2011 «стянул», но нет :)
Не могли бы вы выложить схему усилителя со всеми вашими советами, про цепь Цобеля, предохранителями и т.д.?

Какие диоды ставились в мосты (характеристики)? Зачем использовался серебряный припой?
C3 нужно присоединять к сигнальной земле, т.е. к минусу входа-входа, а все остальные минуса можно отправить на «звезду» возле конденсаторов фильтра.
— это как и куда? Какие вы использовали разъемы для подключения колонок и входного сигнала?
Практически 10 лет занимаюсь веб разработкой, в качестве программиста, но в начале пути интересовался веб дизайном (обучался в худ. школе, есть навыки).

ИМХО В данном переводе из полезного только ссылки. «Я не дизайнер, но научу вас, как делать дизайн». Это как?
В той же художественной школе для того что бы нарисовать человека изучают анатомию, места крепления мышц, рисуют кучу эскизов, что бы передать на бумагу естественные пропорции и положения тела. А здесь «палка палка огуречик вот и вышел человечек».

Шаблонный макет в 3 колонки во flat стиле с «ворованными» иконками и цветовой гаммой могут сделать многие, но придумать идею, свой стиль, вдохнуть жизнь в макет, для этого нужен талант и творческое начало. У меня просто нет слов, что бы описать мое возмущение…

Interfacing A Floppy Drive — здесь расписан псевдокод операций чтения и записи
просто второй буфер

Какого размера? Ведь размер получаемых данных заранее не известен (исходя из условия задачи).

По поводу буферизации чтения записи, это тема отдельного разговора (http://msdn.microsoft.com/en-us/library/windows/desktop/cc644950(v=vs.85).aspx), особенно если дело касается асинхронности.
Не знаю специфики задачи, но если есть «бесконечный» буфер, когда не известен размер получаемых/обрабатываемых данных использую временные файлы (temporary file). В системе Windows временный файл, это по сути тот-же MMF, но если его размер превышает размер виртуального адресного пространства, он скидывается на диск. Про *nix не знаю.

Алгоритм получается такой: получили в буфер пакет, нашли сигнатуру начала и его длину, создали временный файл, записали туда данные, получили в буфер следующий пакет, во временный скинули данные. Пакет закончился, переместили курсор на начала файла, размер нам известен — анализируем. Ну и так как временный файл = память (для ОС Windows) — все работает быстро.
ИМХО для задачи с MPEG использовал бы MMF (memory mapped files), искал бы нужную сигнатуру начала блока в памяти, далее копирование в выделенный или подготовленный буфер, нужного участка, обработка.
Как то не оптимально сначала копировать, потом искать что нужно было скопировать… Ну это я придираюсь, статья то не об этом.
Перечитай, «разбираться» != «слепо заучивать»
Прочел комментарии, сделал вывод: С++ разработчики более солидарны, чем PHP разработчики.
Запостил библиотеку для работы с HTTP протоколом, по всем ООП PHP канонам, написанную «just for fun», комментарии: велосипед, есть куча аналогов, чем твой код лучше, «Вроде и все правильно, но есть ощущение хардкода» и т.д. Пост в минусах.

А у вас, каждый советует, как сделать лучше, ну несколько только уперлись в boost::asio.
Как по мне. лучше если ты сам знаешь различия, разбираешься в механизмах асинхронного ввода-вывода (epoll, IOCP), чем слепо заучиваешь функциональность готовых библиотек.

Товарищи, учитесь, развивайтесь, пробуйте и пишите красивые велосипеды!
ИМХО все это развлечения. Ну захочется тебе написать программу и вместо реализации 80% времени ты затратишь на игры с интерфейсом, а спустя 2 дня «навороченная» программа будет и не нужна вовсе. Мне тем и нравится консольные программы — передал параметры, получил результат, интерфейс я делаю после и только в случае острой необходимости (например, если она предназначена для обывателя, который не разберется с терминалом).
После 4-5 лет работы веб-программистом (скриптовые языки PHP, JS), переключился на прикладное и системное программирование (Си), уволился и нашел интересный проект, клиент серверного приложения. Та же тяга к знаниям азарт интересные задачи :)

Теперь вот снова занимаюсь веб, но параллельно изучил и реализовал несколько проектов на JAVA под Android, в данный момент изучаю электронику, простые схемы, AVR и PIC микроконтроллеры (благо с ассемблером знаком давно и не по наслышке) есть идеи замутить «умный дом».

Главное не тормозить и когда «надоело», менять направление своих интересов, помогает для общего развития и расширяет кругозор.
На первом курсе на экзамене по программированию (Pascal, куда без него, лекции я не записывал просто приносил выполненные лабораторные) было 2 теоретических вопроса и одна задача. Из-за того что я больно «умный», на экзамене отвечал 2 билета и на листочке писал листинг 5 задач в нескольких вариантах решения (пока преподу не понравится). В итоге преподаватель выдал следующее на последнюю задачу «подсчитать количество пробелов» (были представлены варианты с различными циклами while. for etc, процедурами рекурсивными) — «пробел можно было записать ASCII кодом, у Вас поверхностные знания предмета» и со злой ухмылкой влепил хор в зачетку (все предыдущие экзамены были на отл).
«Тебе никто ничего не должен» — это жизнь, и чем раньше «студент» поймет эту истину, тем быстрей начнет самостоятельно развиваться.

К слову начал работать «программистом» в веб-студии с 2005 и тогда мне было лет 16.
«Погоня за идеалами вызывает депрессию и приводит к прокрастинации», хреново когда твои идеи и реализации не находят применения.
Самый губительный вопрос для junior-а — «А зачем?»…

В небольшом городе трудно найти задачи, особенно оплачиваемые, ведь семью нужно кормить.
Специально поставил тег «новичкам» и хотел еще «сложных» поставить в кавычки… Советы спорные, но лично я бы не советовал «новичкам» начинать с фреймворков. Это тоже самое что начинать учить jQuery не зная JavaScript.

ИМХО в программировании нужно двигаться от простого к сложному. Если ты можешь написать велосипед, ты сможешь оценить + и — готового решения, которое ты собираешься применить в проекте. В противном случае мы получаем код в котором jQuery используется для вызова alert и человек не понимает что можно сделать быстрей оптимальнее и проще…

Из мира прикладного программирования встречал я такие примеры когда программа которая показывает окошко «Hello World» тянет за собой 70 мегабайтов библиотек для её запуска (.NET), когда так же программа вписывается в один вызов MessageBox Windows API и занимает в скомпилированном виде 1,3 Кб не теряя функциональности во всех версиях ОС.

Information

Rating
4,307-th
Location
Бобруйск, Могилевская обл., Беларусь
Date of birth
Registered
Activity