HelloWorld Explorer
Интересный веб-сервис создал Мэт Годбольт. Он
А я как раз о программировании сегодня лекцию читал и два раза на разных языках HelloWorld писал. Пришлось дома писать в третий раз:

Подробности.
представил первую версию инструмента GCC Exlorer, предназначенного для наглядного просмотра результата компиляции участков исходного кода на языках C/C++ в инструкции на языке ассемблера. GCC Explorer позволяет быстро просмотреть результат компиляции произвольного участка кода, оценить качество его оптимизации, а также наглядно изучить техники оптимизации, применяемые GCC.
А я как раз о программировании сегодня лекцию читал и два раза на разных языках HelloWorld писал. Пришлось дома писать в третий раз:

Подробности.
Программирование на JavaFX под Linux в NetBeans
Как я уже сообщал, программирование на JavaFX под Linux стало реальностью. Поскольку речь идет о пользовательских интерфейсах со сложными визуальными эффектами, консольное написание программ не очень уместно. Лучше задействовать мощную IDE, например NetBeans. Но если под Windows JDK и JavaFX идут в едином дистрибутиве, устанавливаются вместе и дополнительных настроек при создании проекта не требуют, то под Linux нужно кое-что подшаманить вручную. А именно, в NetBeans открываем Сервис -> Платформы Java. В появившемся диалоге нажимаем «Добавить...» и выбираем каталог, где лежит одна из версий JDK. Когда визард отработает, появится еще одно окно с вкладкой JavaFX (конечно, если вы скачали полную версию NetBeans). На этой вкладке указываем путь, куда распакован JavaFX-дистрибутив.

После этого JavaFX-проекты будут собираться по единственному нажатию на кнопку «Запустиь проект» (если, конечно, в коде нет ошибок).

После этого JavaFX-проекты будут собираться по единственному нажатию на кнопку «Запустиь проект» (если, конечно, в коде нет ошибок).
Node.js и упущенные возможности

О возможности писать серверные приложения на JavaScript я слышал давно и воспринимал сообщения об этом за проявления неких экзотических тенденций. Прочитав же на днях статью о программировании в среде Node.js понял, что зря не обрашал на них серьезного внимания. Действительно, плюсы видны невооруженным взглядом:
- высокая скорость (задействован гуглевский движок v8 );
- асинхронность (сервер не простаивает, ожидая окончания сравнительно медленных операций, таких, как запросы к БД);
- компилировать не нужно;
- все необходимые возможности — работа с файлами, сетевыми сокетами, http-запросами — в наличии;
- внешние библиотеки подключать можно.
Есть и другие достоинства, но самое главное — клиент и сервер пишутся на одном и том же языке — JavaScript. Причем сервлеты создавать можно просто с полпинка:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/'); Чтобы накодить такое на Java нужно раза в два-три больше букв (с учетом импорта), да еще компилировать и к серверу прикручивать. Здесь же написал код, запустил:
node HelloWorldServer.js— и всё, можно открывать в браузере 127.0.0.1:1337/ и любоваться результатом. Консольный «Hello, World!» делается и того смешнее:
echo 'console.log("Hello, World!")' > Test.js
node Test.jsКороче говоря, рекомендую, это уже экзотика, а вполне себе профессиональный инструмент. Но это вовсе не означает, что нужно бросить привычные языки программирования и принять новшество как истину в последней интанции. Node.js на это и не претендует. Его целесообразно использовать для сбора информации на веб-интерфейсах и ее первичной обработки, после чего данные будут передаваться более серьезным серверам, написанным, например, на той же Java. Накладные расходы на запуск Node.js-сервлетов не велики (написан фреймворк на C++), так что перерасхода памяти на запуск нескольких серверов опасаться не стоит.
И снова траур в мире IT
Деннис Ритчи, об уходе из жизни которого стало известно сегодня, внес в развитие IT может быть даже больший вклад, чем Стив Джобс. В соавторстве с Брайаном Керниганом он разработал непревзойденный язык программирования C и ОС Unix, ставшую отправной точкой информационной революции. Именно книгу Кернигана и Ритчи «Язык программирования C» я как преподаватель предлагаю начинающим программистам в качестве лучшего введения в профессию.

Джеймс Гослинг пишет в своем блоге:
Источник.

Джеймс Гослинг пишет в своем блоге:
Новость об уходе Денниса Ритчи потрясла… Его влияние было огромным и очень сильно ощущалось, хотя он и не был, по большому счету, известен за пределами мира «технарей». Язык С — наше всё. Я обязан своей карьерой именно C и Unix.
Для большинства сегодняшних инженеров непонятна та эйфория, которую я ощущал в 70-е, когда появилась возможность писать не на Ассемблере, а на настоящем языке программирования. Мы получили всё необходимое чтобы писать программы, позволяющие контролировать каждый бит системы. До появления C, языки программирования не подходили для решения этой задачи: накладные расходы были слишком велики. Мудреность систем сдерживала написание крупных фрагментов программ. Язык C придал программированию реактивное ускорение.
Источник.
"Hello, World!" на ассемблере
Ничего нового не скажу, просто хотелось бы опубликовать простое упражнение, которое выполняли сегодня на курсах: набрать в текстовом редакторе исходник на ассемблере по образцу и откомпилировать. Всё это в среде Linux.
Компилируем, линкуем, запускаем:
Источник.
section .text
global _start ;декларируется для линкера (ld)
_start: ;точка входа
mov edx,len ;длина выводимого сообщения ("Hello, World!")
mov ecx,msg ;указатель на сообщение
mov ebx,1 ;файловый дескриптор (stdout - это тоже какбэ файл)
mov eax,4 ;номер системного вызова (sys_write)
int 0x80 ;обращаемся к ядру
mov eax,1 ;номер системного вызова (sys_exit)
int 0x80 ;обращаемся к ядру
section .data
msg db 'Hello, world!',0xa ;выводимая на экран строка как массив байт
len equ $ - msg ;ее длина (вычисляется в момент компиляции)
Компилируем, линкуем, запускаем:
$ nasm -f elf hello.asm # эта команда создаст файл hello.o - объектный файл в формате ELF
$ ld -s -o hello hello.o # эта команда сформирует исполняемый файл
$ ./helloИсточник.
Who is Mr. Jenkins?
Без инструментов для коллективной работы трудно представить современное программирование индустриального уровня. К ним, прежде всего, относятся системы контроля версий (git, svn, Mercurial), системы отслеживания ошибок (Ttac, JIRA).
Несколько особняком стоит веб-приложение Jenkins, ранее известное как Hudson. Если в двух словах, то это специализированный шедулер, ориентированный на сборку программного обеспечения по расписанию. Он может быть полезен и системным администраторам, например, для резервного копирования или отслеживания состояния системы.

( Читать дальше )
Несколько особняком стоит веб-приложение Jenkins, ранее известное как Hudson. Если в двух словах, то это специализированный шедулер, ориентированный на сборку программного обеспечения по расписанию. Он может быть полезен и системным администраторам, например, для резервного копирования или отслеживания состояния системы.

( Читать дальше )
YUI Compressor: сжимаем JavaScript файлы
Про обезжириватели JavaScript уже был топик. Вот, кстати, решение на Java.

developer.yahoo.com/yui/compressor/
Скачиваем архив здесь:
yuilibrary.com/downloads/#yuicompressor
В архиве в директории build будет уже собранный jar файл. Запускаем его так:
Без ключа --nomunge код будет немножечко обфусцирован.

developer.yahoo.com/yui/compressor/
Скачиваем архив здесь:
yuilibrary.com/downloads/#yuicompressor
В архиве в директории build будет уже собранный jar файл. Запускаем его так:
java -jar yuicompressor-x.y.z.jar --type js --charset utf-8 --nomunge --preserve-semi --disable-optimizations исходный-скрипт.js -o сжатый-скрипт.jsБез ключа --nomunge код будет немножечко обфусцирован.
- 0
- 04 июня 2011, 21:52
- 1
Визуализация технологических процессов в реальном времени. Ну или почти в реальном...
Продолжение.
Начало смотри:
mtaalamu.ru/blog/1728.html
Ни какой оператор глядя на экран не успеет предотвратить аварию в технологическом процессе.
( Читать дальше )
Начало смотри:
mtaalamu.ru/blog/1728.html
Ни какой оператор глядя на экран не успеет предотвратить аварию в технологическом процессе.
( Читать дальше )
- +4
- 15 апреля 2011, 14:31
- 2
RS-232 / RS-485 Converter-Transmitter.

В каждом протоколе — есть свои несовершенства. Исследуя одну из неприятных особенностей протокола связи контроллеров «I-7188» и модулей ВЫВОДА серии I-7000, я умудрился извлечь пользу из неприятности.
( Читать дальше )
- +4
- 27 марта 2011, 14:33
- 1

