Программирование
+8.4
Какой продукт можно считать хорошим?
Тот, который работает даже спустя 28 лет.
The Apple IIe Warehouse
Lots of people fell in love with the Apple IIe when it was released in 1983. It supported a wide variety of software and hardware, it was reliable, and its seven internal expansion slots made it extremely flexible.
For Kevin Huffman, who owns and operates Huffman Industrial Warehouse in Eden, North Carolina, that love has never waned. His firm stores and ships out goods for companies that rent his warehouse space, and he regularly uses his vintage Apple IIe to track inventory and keep accounts.
Читать дальше →
«I really don't like programming. I built this tool to program less so that I could just reuse code.
PHP is about as exciting as your toothbrush. You use it every day, it does the job, it is a simple tool, so what? Who would want to read about toothbrushes?
I was really, really bad at writing parsers. I still am really bad at writing parsers. We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all.
There are people who actually like programming. I don't understand why they like programming.
I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say «yeah it works but you're leaking memory everywhere. Perhaps we should fix that.» I'll just restart apache every 10 requests.»
— Rasmus Lerdorf
Небольшой тест подтвердил мои догадки.
Кажется я знаю, что я сейчас выпилю из проекта. :)
1> test:speed_test().
{total, {{list_time,"~1 sec."}, {dict_time,"~10 sec."}}, {ratio,«1150%»}}.
| |
1
13 февраля, 20:00
Said
2
|
|
|
Поставил. Наслаждаюсь. Кстати, он 64 битный (для форточек). Все отлично.
Маленький тест показал приятное:
Eshell V5.8.4
(RPN@Saidart)1> rpn:speed_test().
{total,{{eval_time,11340000},{compile_time,5703000}},
{ratio,«199%»}}
(RPN@Saidart)2>
Eshell V5.9
(RPN@Saidart)1> rpn:speed_test().
{total,{{eval_time,8478000},{compile_time,3662000}},
{ratio,«232%»}}
(RPN@Saidart)2>
— Цифры в тесте нужно делить на 1000000, что бы получить секунды.
| |
2
20 января, 02:29
Said
2
|
|
|
Продолжаю развивать диванные теории.
Кто думал насчет использования http://neo4j.org/ вместо CouchDB?
На первый взгляд - вещь идеальная для хранения списка товаров, особенно со сложной иерархией, и так как Neo4j - графовая БД, то можно органично причислять товар сразу к нескольким категориям и выставлять любые свойства как связям, так и объектам. Звучит туманно, поэтому пример:
Склады:
Склад в Новомухосранске,
Склад в Верхнеурюпинске.
Категории товара:
Автомобили
Жигули
Лада Калина
Лада Приора
ВАЗ-2110
Мерседес
Запчасти
Шины
Допустим, не все шины подходят для всех машин - поэтому создавая объект "шина резиновая" в БД, можно связать его с такими нужными графами: "Склад в Новомухосранске", "Жигули", "Шины" = "шина, подходящая для любых жигулей хранится на складе в Новомухосранске". Делаем запрос - получаем нужное. Любым объектам и связам можно добавлять метаданные - в т.ч. ТТХ для запчастей, машин, и категорий (которые тоже по сути обычные графы).
У Neo4j есть REST API - а значит, с Эрлангом тоже можно связать, через веб-клиент MochiWeb.
(да, подумываю податься в энтерпрайз :))
Вообще хуле эту тему подняли?
Отвечаю — я принимаю участие в мегасрачике на sql.ru (таки решил активность проявить), где представляю гордый язык erlang и отстаиваю интересы нашего клана, ага.
Срачик можно почитать тут.
www.sql.ru/forum/actualthread.aspx?tid=891104
Я где-то с 16-й страницы появляюсь.
Пришли к выводу — что двойственность операторов плохо, для унарных операций должен быть свой минус. Спору нет, убрал лишнее из обработчиков. Так же добавил поддержку команд принимающих переменное количество аргументов. Вот, например, max. Для этого пришлось ввести метку «конец аргументов функции». Ну и оформил макросом, куда уж без этого. Получилось, по моему опять из рук вон хорошо. Заценить можно тут: pastebin.com/N2qTMwN2
| |
1
3 ноября 2011, 03:37
Said
9
|
|
|
Чтоб чуть разбавить атмосферу, давайте померяемся член устроим небольшой холивар.
Задача: показать всю мощь C# на примерах — код должен содержать самые крутые плюшки и возможности. А я буду отвечать аналогичным кодом на Руби, Перле, и/или Пайтоне :)
А я вот чего сегодня написал:
Работает это на libscheme 94-го года выпуска — удалось собрать ее с помощью GCC (правда, пока только под Виндой — Линукс в процессе). И, похоже, это именно то, что нужно — в отличие от GNU Guile и librep и т.д. libscheme работает, и работает как надо. Подключается это дело к православному C так же просто, как и Lua — написание доп. функций тоже не составляет труда. Короче говоря — я доволен.
Все исходники тут.
Всем известно, что я уезжаю разрабатывать свою складскую систему, но не всем известно, какие технологии я собираюсь использовать =)
И так, парад говна:
1) Клиент — счастье говнокодера WPF (не MVVM, увы или к счастью).
2) Mid layer — самопальный сервер приложений, о нем чуть подробнее позже.
3) СУБД PostgreSQL.
Про самопальный сервер:
Я активно использую NHibernate в разработке, но посматриваю в сторону платного DataObjects.Net, поэтому переход на любую другую РСУБД мне гарантирован без особых проблем.
Еще я не так давно решил вопрос хранения объектов сессии. Если раньше у меня сессия умела сохраняться и восстанавливаться с потерей хранящихся в ней объектов, то теперь это происходит автоматически без участия программиста с сохранением хранящихся в сессии объектов. Все дело в локальной ООСУБД, в которой весь хлам сохраняется. Для этого я использую db4o.
Короченар, я во все оружии блять.
| |
2
1 июля 2011, 17:55
Said
6
|
|
|
|
|