Pull to refresh
4
0
Nelius @Nelius

User

Send message
Да, согласен с вами. Наверное вопрос возник после прочтения этой цепочки комментариев в целом. Выше хабраюзер casey утверждал, что данные лучше всего хранить как есть. И возникла мысль, что входные данные должны обрабатываться в модели и храниться в том виде в котором мы ожидаем их получить на входе (то есть отфильтрованными), но при этом все что касается экранирования данных при выводе, как вы и сказали ранее это логика представления.
Если известно что выходные данные, например, не должны содержать никакого HTML кода, не логичнее ли фильтровать его еще на стадии добавления данных в БД? Стоит ли хранить мусор? Тогда встает логичный вопрос, только ли представления это логика?
Интересный проект и интересная реализация!
Проблема некачественных переводов реально существует, рад что кто-то взялся ее решать.
Спасибо вам. Удачи и процветания проекту!
www.designobserver.com/ — Это неудачный пример. На мой взгляд, подача информации оставляет желать лучшего, чувства простоты не возникает, читать текст набранный таким мелким шрифтом лично мне сложно.
Давно пора придумать девайс подключаемый напрямую к интернету.
Вставляешь в него договор как в факс, выбираешь e-mail адрес из записной книжки или вводишь новый,
жмешь отправить, бумага заползает в «факс» отсканированный договор отправляется на почту получателю в 2-х форматах: Распознанный документ PDF (на крайний случай DOC) и оригинал — картинки в архиве.
На лицо экономия всего! А именно: расходов на обслуживание, времени, бумаги (если в договор нужно вносить правки его можно не распечатывать а сначала посмотреть на экране). Также, будет история правок и отправки/получения документов что опять же всем удобно.
Данный девайс можно (и нужно) построить на основе МФУ, всяких сетевых офисных принтеров со встроенным сканером.

Я только что предсказал вам будущее друзья. Хотя бы в минимальном его проявлении (идея может быть более совершенной к моменту реализации, например не на основе e-mail, а чего-то более корпоративно специфического или с возможностью настроить протоколы...)
Скринсейверы не в моде :) Программисты один за другим отказываются их делать!)
Буду очень рад потестировать вашу версию программы. Может быть выберу время и напишу скринсейвер сам или скринлет сделаю :)
Удачи вам!
Вот это клевый подход :) Делать что-то полезное параллельно узнавая что-то новое и прокачивая свой скил это прекрасно!
Я полностью согласен что на С сложнее в разы написать тоже самое, но друг тоже в первый раз пишет на Python так что у каждого из вас похожие условия, хотя ему конечно проще.

Кстати, коль уж тут такое дело. Может разделить задачи действительно?
izen обмолвился выше о скринсейвере. Друг сказал что писать его пока не хочет да и не сможет наверное.
Вы можете написать скринсейвер на С а он софтинку, если пожелаете конечно.

Еще у меня появилась идея написать скринлет для Screenlets.
Они кстати на Python вроде пишутся… Думаю многим было бы полезно!

В общем тут простора для творчества много! Как и возможностей узнать что-то новое.
Вы то под Mac OS.
fylfot вроде для Gnome пишет ему и был ответ :)
Как только меня предупредили так я и запостил :)

Передаю:

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

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

«Уважаемый izen можно ли использовать иконку сделанную вами?»
От друга:

Уважаемый izen ли использовать иконку сделанную вами?
Если да, то есть ли у вас версия с прозрачностью и без надписи внизу?
Друг написал на Python для Gnome. Использует libnotify.
Он попробовал поменять цитату и автора местами, но в хидер можно запихнуть только ограниченное количество символов, потом появляется многоточие, поэтому, пока единственный нормальный вариант как на скриншоте у автора поста.

От автора:

«Сейчас программа дорабатывается, добавляю настройки, чтобы можно было задать интервал обновления цитат и обновлять цитату вручную. Когда запущена появляется иконка в трее. Програмка очень радует и полезна, например раз в 15 минут отвлекает от работы, и что-то новое узнаешь и мозг „перезагружается“, что на работе сказывается положительно. Как только закончу прогу выложу в общий доступ. Лицензия GPL. Спасибо авторам за хороший проект и API. Буду благодарен за инвайт на Хабр.
P.S. Спасибо izen за иконку, с его разрешения и разрешения авторов использую ее в программе.»
Опечатка: не количество серверов а количество процессоров.
Да, я был на этом форуме и даже почитал… правда все 150 страниц не осилил!)
Попробовал разные версии, оригинальную 4.1.0 (давность 10 лет), 4.1.0 WHT и свежую 5.1.2.
По субъективному мнению 5.1.2 адекватнее всего тестирует.
Тестов проводит больше, думаю это положительно сказывается на точности результатов.
Поправка. Для теста моего сервера достаточно было просто запустить коммандой ./Run программа сама определила количество серверов и провела два теста.
Работала очень долго. Я не засекал, но по моему около часа!

Если кому интересно вот результаты тестирования моего сервера (можно сравнить, полноценный сервер VS Atom):

=====================================================================
   BYTE UNIX Benchmarks (Version 5.1.2)

   System: GNU/Linux
   OS: GNU/Linux -- 2.6.16-hardened-r6 -- #2 SMP Fri Jun 12 16:43:11 MSD 2009
   Machine: x86_64 (AuthenticAMD)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: AMD Opteron(tm) Processor 242 (3195.7 bogomips)
          x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 1: AMD Opteron(tm) Processor 242 (3206.5 bogomips)
          x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET

------------------------------------------------------------------------
Benchmark Run: Sun Oct 04 2009 16:37:06 - 17:05:13
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5043955.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1328.2 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1983.5 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        196767.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           73529.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        365641.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                              696329.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 131082.5 lps   (10.0 s, 7 samples)
Process Creation                               6014.2 lps   (30.0 s, 2 samples)
Shell scripts (1 concurrent)                   1850.0 lpm   (60.0 s, 2 samples)
Shell scripts (8 concurrent)                    393.9 lpm   (60.1 s, 2 samples)
System Call Overhead                        1189300.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5043955.4    432.2
Double-Precision Whetstone                       55.0       1328.2    241.5
Execl Throughput                                 43.0       1983.5    461.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     196767.0    496.9
File Copy 256 bufsize 500 maxblocks            1655.0      73529.5    444.3
File Copy 4096 bufsize 8000 maxblocks          5800.0     365641.6    630.4
Pipe Throughput                               12440.0     696329.4    559.8
Pipe-based Context Switching                   4000.0     131082.5    327.7
Process Creation                                126.0       6014.2    477.3
Shell scripts (1 concurrent)                     42.4       1850.0    436.3
Shell scripts (8 concurrent)                      6.0        393.9    656.5
System Call Overhead                          15000.0    1189300.4    792.9
                                                                   ========
System Benchmarks Index Score                                         475.4

------------------------------------------------------------------------
Benchmark Run: Sun Oct 04 2009 17:05:13 - 17:33:25
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables        9872365.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2653.3 MWIPS (10.0 s, 7 samples)
Execl Throughput                               3367.5 lps   (29.5 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        153984.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44280.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        381892.1 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1286292.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 329390.6 lps   (10.0 s, 7 samples)
Process Creation                              12279.1 lps   (30.0 s, 2 samples)
Shell scripts (1 concurrent)                   2682.1 lpm   (60.0 s, 2 samples)
Shell scripts (8 concurrent)                    414.3 lpm   (60.1 s, 2 samples)
System Call Overhead                        1548447.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    9872365.5    846.0
Double-Precision Whetstone                       55.0       2653.3    482.4
Execl Throughput                                 43.0       3367.5    783.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     153984.2    388.8
File Copy 256 bufsize 500 maxblocks            1655.0      44280.3    267.6
File Copy 4096 bufsize 8000 maxblocks          5800.0     381892.1    658.4
Pipe Throughput                               12440.0    1286292.3   1034.0
Pipe-based Context Switching                   4000.0     329390.6    823.5
Process Creation                                126.0      12279.1    974.5
Shell scripts (1 concurrent)                     42.4       2682.1    632.6
Shell scripts (8 concurrent)                      6.0        414.3    690.5
System Call Overhead                          15000.0    1548447.9   1032.3
                                                                   ========
System Benchmarks Index Score                                         670.1


Характеристики сервера:
2x AMD Opteron 242 1.6Ghz, MB Tyan Thunder, 2Gb Ram, 4x250Gb SATA HDD, Software raid 5, XFS, Gentoo

Железо довольно старенькое (по сегодняшним меркам). Тестирование проводилось на продакшн сервере, то есть это не чистая установка. На серваке крутятся сайты и на них хоть и мало но заходят посетители.
Также работает куча других сервисов. Так что точность тестов не очень! И скорее всего цифры оличались бы в большую сторону.
Как подсказал человек в комментариях есть более новая версия UnixBench — 5.1.2

Сайт разработчика программы: http://www.hermit.org/Linux/Benchmarking/
Скачать последнюю версию: UnixBench 5.1.2 SRC

Как заявляет разработчик:
(перевод)

«UnixBench очень древний (1983!!!) комплекс тестов производительности unix-систем созданный в Monash University, который в дальнейшем разрабатывался и расширялся Byte magazine. Этот универсальный комплекс тестов (бенчмарк) был создан для оценки производительности Unix-like систем (в сравнении с другими Unix-like системами); Он запускает набор тестов чтобы оценить различные аспекты производительности системы и сгенерировать набор оценок. (Другие бенчмарки, такие как lmbench, проводят более низкоуровневую оценку производительности систем). С учетом этого, насколько я знаю, UnixBench не изменялся в течении 10 лет, может быть сейчас есть что-то более новое чем все пользуются, но если и так то я не смог найти. (Пожалуйста сообщите если знаете).

С разрешения David Niemi, предыдущего разработчика, я занялся дальнейшей разработкой UnixBench. Итак после 10 летнего перерыва в разработке программы я представляю вам обновленную версию!»

Как я понял обновленная версия может более корректно тестировать новое железо, в том числе многоядерные процессоры и многопроцессорные сервера.

Автор советует для корректного тестирования многопроцессорных серверов провести 2 теста:
1-й тест с параметрами по умолчанию командой ./Run
2-й тест с указанием количества процессоров (ядер тоже?) ./Run -c 2

Это позволит определить производительность системы при работе с одной задачей, несколькими задачами и производительность параллельной обработки данных в реализации для вашей системы.

Также новая версия программы может тестировать производительность графических карт.

Чтобы собрать программу на серверах без X закомментируйте строку «GRAPHIC_TESTS = defined» в Makefile у меня на машине с Gentoo не собралось пока не закомментировал (что не удивительно ;)

Если у вас есть время пожалуйста проведите тестирование вашего Atom сервера новой версией программы!

Спасибо за внимание :)
Спасибо за подробное описание!
С какими параметрами запускался UnixBench? "./Run 2" или как-то иначе?

unixbench-4.1.0-wht.tar.gz

По этой ссылке та же версия что и вы использовали?
Хочется сравнить производительность со своим сервером.
Спасибо! Удалось определить что БП на 75 ватт (а может даже 60) должно хватить для работы компа на основе этой матери.
Изучив вопрос также стало понятно что стоит использовать материнскую плату ION с 330 процессором, а не Intel ;) В комплекте MB ION идет БП на 90 ватт.
Если кому надо, то потребление жесткого диска 2.5" объемом 320 гб, например от Вестерн Диджитал в режиме чтение/запись = 2.5 ватт. (то есть фактически это максимум что он кушает, ну плюс погрешности...)

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity