tag:blogger.com,1999:blog-9348458239727950362024-03-05T16:39:58.253-08:00DrakonGen. Импровизации на тему визуализации.Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.comBlogger38125tag:blogger.com,1999:blog-934845823972795036.post-80250058427598933892017-12-02T00:38:00.000-08:002017-12-02T00:38:45.181-08:00Экспансия<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<h2 style="text-align: center;">
Экспансия или на пути к тотальной визуализации.</h2>
<div style="text-align: right;">
<i>"Чем дальше в лес, тем толще партизаны."</i></div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: left;">
Выгнали наконец-то меня из крупного It-интегратора, в котором проработал пятнадцать лет. Ну и - хвала богам. Сейчас тружусь в маленьком стартапчике. Несмотря на очень высокую загрузку, свои игрушки не бросаю и применяю всё больше и больше. В части визуализации сложной логики, применение DrakonGen давно подтвердило свою сто процентную эффективность. И продолжает подтверждать чуть не каждый день. Очень часто слышу от коллег "у меня мозги плавятся, когда я пытаюсь понять как...". Ну, что же, дорогие коллеги, у меня не плавятся, ноя я вас, ребятки, понимаю прекрасно и представляю как трудно было бы мне без визуализации. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Так как, фирмочка небольшая, приходится быть на все руки мастером, в частности, заниматься и системным администрированием, и администрировать базы данных. Вот тут то мне весьма полезным подспорьем оказалось совокупление DrakonGen с системой мониторинга, написанной в своё время для "ВполнеСебеБанка". Её я тоже делал с использованием DG и описывал раньше в этом блоге(ссыль). </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Попробовал использовать новый редактор <a href="https://jgraph.github.io/mxgraph/">mxGraph</a>. Вывод - Очень хорошо! Есть, конечно недостатки по сравнению с yEd, но достоинства с лихвой перевешивают недостатки, если, конечно, говорить про применение двух данных редакторов для моих "дракон-геновских" нужд. Новый редактор позволил достаточно просто расширить сферу применения DrakonGen на область системного администрирования и мониторинг, а кодогенерация частично осталась на старом редакторе, а частично перешла в новый. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
Как это выглядит в редакторе</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEEjtaQWwAb21KxfxSjiTKiMu_g2r6fBSu410_r0A6dXDDkQNetgbbWbKn8xmS8Z0XrqV6fWlotefmmZyWYDxTXMLnOW_ISIv-fmFl3JIpYf3cR4nlzZYjFapiWq_Ge-3yTPVZFJPN4wzN/s1600/Image+48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="903" data-original-width="1600" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEEjtaQWwAb21KxfxSjiTKiMu_g2r6fBSu410_r0A6dXDDkQNetgbbWbKn8xmS8Z0XrqV6fWlotefmmZyWYDxTXMLnOW_ISIv-fmFl3JIpYf3cR4nlzZYjFapiWq_Ge-3yTPVZFJPN4wzN/s400/Image+48.png" width="400" /></a></div>
<div>
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
Кодогенерация частично перенесена</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMF2anRo2_Qp76rNzualQedd0InG_0oShfCOcGax89keJJ7hzwmxgOOi5-QdJRyFq8QnxC1fgJmmIXvUIoSJJuxiuKIhFe2TMkRx8k8kfy-Q6WsI3hSfhr893TR5mnZVN1Bn7hZi2dLCtU/s1600/Image+42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="729" data-original-width="970" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMF2anRo2_Qp76rNzualQedd0InG_0oShfCOcGax89keJJ7hzwmxgOOi5-QdJRyFq8QnxC1fgJmmIXvUIoSJJuxiuKIhFe2TMkRx8k8kfy-Q6WsI3hSfhr893TR5mnZVN1Bn7hZi2dLCtU/s400/Image+42.png" width="400" /></a></div>
<br />
<br />
<div style="text-align: center;">
Применение DrakonGen для нужд сисадмина</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTLpoXuL4fNRc7fhkppmpAOJSpg5OdgdhO3hSbxr5y3XCRL_dkCo5daWCCwxespqMQNVTgGyago-knABILEMSt9s5OiHcTRGiSVFoWFCTYRCyKs9-N6B4_J_ALXAcJS7a6WA1EfdVg_VzL/s1600/Image+43.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1420" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTLpoXuL4fNRc7fhkppmpAOJSpg5OdgdhO3hSbxr5y3XCRL_dkCo5daWCCwxespqMQNVTgGyago-knABILEMSt9s5OiHcTRGiSVFoWFCTYRCyKs9-N6B4_J_ALXAcJS7a6WA1EfdVg_VzL/s400/Image+43.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Наличие слоев - огромный плюс нового редактора, парой галочек настраиваем тот или иной вид. Очень удобно..</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: center;">
в одном слое конфигурируем систему мониторинга</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTArIdXch0pztguqHGJNXPFoUsG45__3UOabUhrGTke7RPtkKWQxf2vOBIhBprE6dCIc5heoAJDfbb3WYQ4H3c7SZUAqY7iMTAqFYqWMdgFbnWHG6ikfDywlFveS-LmIshOZScOXHeD_B6/s1600/Image+44.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="690" data-original-width="1589" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTArIdXch0pztguqHGJNXPFoUsG45__3UOabUhrGTke7RPtkKWQxf2vOBIhBprE6dCIc5heoAJDfbb3WYQ4H3c7SZUAqY7iMTAqFYqWMdgFbnWHG6ikfDywlFveS-LmIshOZScOXHeD_B6/s400/Image+44.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div style="text-align: center;">
в другом выполняем и контролируем </div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXt7mrCI0VO7pIALlDkaw3CUzI2ZPs4RNyjhzs8zXfb1WaIIqYw6DWw6vJfP1G5SWXHle8kshJc_yUFAOuZ3MkIIMAMtTRC3kUyhpqnEpsB2ub_H6jFw7r-32L0qUSXqMWgBFDLuFzgkpi/s1600/Image+45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="680" data-original-width="1099" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXt7mrCI0VO7pIALlDkaw3CUzI2ZPs4RNyjhzs8zXfb1WaIIqYw6DWw6vJfP1G5SWXHle8kshJc_yUFAOuZ3MkIIMAMtTRC3kUyhpqnEpsB2ub_H6jFw7r-32L0qUSXqMWgBFDLuFzgkpi/s400/Image+45.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: left;">
Добавление новых свойств узла выполняется одной кнопкой, правда, немного "подшаманил" редактор, чтобы свойства "code","text","styles" открывались сразу в свой размер, мне так удобнее </div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkzt-anWgNk04_I9ncdscNPAG1wbsS8JRNBhLaBUxnb1TDWIJNLqt8_fRfuQh3Q6crRzkPt8P4TcWfersOYpa9457e8QB1g17tBc6GMEihLsODHd0uu16bwqOFK17jWh81wKZI2tGjDg2h/s1600/Image+49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="967" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkzt-anWgNk04_I9ncdscNPAG1wbsS8JRNBhLaBUxnb1TDWIJNLqt8_fRfuQh3Q6crRzkPt8P4TcWfersOYpa9457e8QB1g17tBc6GMEihLsODHd0uu16bwqOFK17jWh81wKZI2tGjDg2h/s400/Image+49.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-84683164324196341612017-11-09T06:00:00.000-08:002017-11-09T06:36:50.385-08:00Я страшный как дракон<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: right;">
"С кем поведешься, от того и наберешься". </div>
<br />
Общение с драконами сделало меня страшным для коллег. Бояться они стали, конечно не меня, но моих процедур, которые им кажутся чересчур сложными, путанными, не читаемыми, загадочными, а от того вызывающими боязнь и неприязнь. А по-мне, так ни чего сложного, всё просто. Само собой, когда не в текстовом редакторе листаешь эту развесистую, кучерявую как коралл функциёвину, а паришь над ней в 2Д проекции.<br />
<br />
Выпендриваюсь, конечно, но пока не издят ногами, то, пуркуа бы, собственно и па?<br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-69440994858011649002017-08-12T01:13:00.004-07:002017-11-09T05:38:49.274-08:00Новый проект.<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
Вошел в новый проект. Осваиваю PostgreSQL. </div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTNwfTsR9VycVvkhOdX6U5U7QzrbG7yEXygcUK1Z571Ix-AtRdrDSV83ef3Yp-RLisGSHveWVC857DBalUSmhcECqmw_aQBAvdov5nwnwrVJbleYKRiVLwdmewhzH21WaTWomYkiXO6xTf/s1600/Image+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="821" data-original-width="1070" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTNwfTsR9VycVvkhOdX6U5U7QzrbG7yEXygcUK1Z571Ix-AtRdrDSV83ef3Yp-RLisGSHveWVC857DBalUSmhcECqmw_aQBAvdov5nwnwrVJbleYKRiVLwdmewhzH21WaTWomYkiXO6xTf/s400/Image+2.png" width="400" /></a></div>
<br />
<div style="text-align: center;">
Использую DrakonAct для запуска скриптов</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEYC8rFo7PKHvP3JlFqDzrs8M3xqH9LvhApuj5xufw0kv7Tl-9dwk-lMqNLj6yqWWeUgOQuTIH3t_0zM5ZIn_YHXcH-ez8GYKgA2eXcrfi39G26ZFtwmCtl2vqD0OXdx19Rm8EdmERghLL/s1600/Image+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="787" data-original-width="938" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEYC8rFo7PKHvP3JlFqDzrs8M3xqH9LvhApuj5xufw0kv7Tl-9dwk-lMqNLj6yqWWeUgOQuTIH3t_0zM5ZIn_YHXcH-ez8GYKgA2eXcrfi39G26ZFtwmCtl2vqD0OXdx19Rm8EdmERghLL/s320/Image+3.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="" style="clear: both; text-align: center;">
и использую DrakonGen в алгоритмах </div>
<div class="" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6ARwYr27JN3WdY6nOaI5srKtNMpmNHx7bqS1RItubTP_MkdIaDcG4H-MZs1Bs795X9jZszpLVosPeWxWJm_wElqWgBTBFsXOaOqiFXiYeq6P068J5YOl-rPMoHjv1PTBW6vSe2YrJ1W2m/s1600/Image+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="841" data-original-width="1223" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6ARwYr27JN3WdY6nOaI5srKtNMpmNHx7bqS1RItubTP_MkdIaDcG4H-MZs1Bs795X9jZszpLVosPeWxWJm_wElqWgBTBFsXOaOqiFXiYeq6P068J5YOl-rPMoHjv1PTBW6vSe2YrJ1W2m/s400/Image+4.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
и тестах</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4oviwmjfEeSFaHQDJ3oCxVqgO5zeNmlpM2RyPH_jBd3QCc5x_oYCl614lVSBvW6yKW8OojM8uA8qd26yukGW5ErFwf8i0Fq2ZO4djgHz8hJcjCxOQhKWXB0PzdKIhZIIZG0oFWXEGo2G/s1600/Image+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="809" data-original-width="625" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4oviwmjfEeSFaHQDJ3oCxVqgO5zeNmlpM2RyPH_jBd3QCc5x_oYCl614lVSBvW6yKW8OojM8uA8qd26yukGW5ErFwf8i0Fq2ZO4djgHz8hJcjCxOQhKWXB0PzdKIhZIIZG0oFWXEGo2G/s400/Image+5.png" width="308" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
постепенное усложнение, фиг знает как бы я это без Дракона развивал</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4qz8h2EetdxheGZwFcjr6kQ3xPbc_0gnJ64rKUGWYjoGCHC-YTmaz0EeiSQQM2A9iqb2Hx5SoRLul4-HGkIfTM2kNcMtUbf6GaKlPJrW3sa0v0x_v-H_OMy_MfS9g9zDhUEK7exdL9j8K/s1600/Image+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="829" data-original-width="960" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4qz8h2EetdxheGZwFcjr6kQ3xPbc_0gnJ64rKUGWYjoGCHC-YTmaz0EeiSQQM2A9iqb2Hx5SoRLul4-HGkIfTM2kNcMtUbf6GaKlPJrW3sa0v0x_v-H_OMy_MfS9g9zDhUEK7exdL9j8K/s320/Image+6.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
логику наращивать довольно комфортно, а она всё усложняется и усложняется </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIL6tz9loFSThFwLXfcpCxuQceTjgIKExbVwKWERbbRISpRz2xhZm5afS-ickm6Jd6zvdPKWJ6cC9M2uKeSFYHu75DZTsVb3WAXLCv6YVlL9VC4NLy4IcD8bQ9OQssmW-R6zUHeJuStxbj/s1600/Image+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="762" data-original-width="497" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIL6tz9loFSThFwLXfcpCxuQceTjgIKExbVwKWERbbRISpRz2xhZm5afS-ickm6Jd6zvdPKWJ6cC9M2uKeSFYHu75DZTsVb3WAXLCv6YVlL9VC4NLy4IcD8bQ9OQssmW-R6zUHeJuStxbj/s640/Image+7.png" width="416" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Продолжаем наращивать логическую сложность. Вполне комфортно и легко. Представляю как бы это было в кодах, давным давно бы уже начал делать декомпозицию(сейчас специально ничего не упрощаю)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8iCVX1XfqnSyUOIMAiUE3SmTnIcAolJAjN55zbsgOs12C058j7IzaIcm12gnCmVVkWF0_D51fI8WtSQJov8l697ERh139B2TjwDtjzYf8eFeFhG3sONQIhWwSGGh5aD0suCA03U1H-LBJ/s1600/Image+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="932" data-original-width="819" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8iCVX1XfqnSyUOIMAiUE3SmTnIcAolJAjN55zbsgOs12C058j7IzaIcm12gnCmVVkWF0_D51fI8WtSQJov8l697ERh139B2TjwDtjzYf8eFeFhG3sONQIhWwSGGh5aD0suCA03U1H-LBJ/s640/Image+8.png" width="561" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
и тесты всё усложняются и усложняются, однако, работать с ними в визуальном режиме вполне комфортно</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6sGKq752occWfpPvm_f1ZaRgXkErpSOnvie2imNS5WDxtwrfW2Hg64JK_UZEiVtpAvI9E8FcwMbEmn3VApJDlzwn1pXqB9GS9wb3s-yrvkRNa_Tn3psn6a4YXqSOATyo4Qq5D8DOzf5KW/s1600/Image+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="935" data-original-width="918" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6sGKq752occWfpPvm_f1ZaRgXkErpSOnvie2imNS5WDxtwrfW2Hg64JK_UZEiVtpAvI9E8FcwMbEmn3VApJDlzwn1pXqB9GS9wb3s-yrvkRNa_Tn3psn6a4YXqSOATyo4Qq5D8DOzf5KW/s640/Image+9.png" width="628" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
дальше - больше </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOK5M855CNaZv3KMsSwMdxGRaKIkvCcHlb_VG1yeiUZKEfjkFGO2rTnFhrNwolwTQnbQsRvmICMfKRRJnDZp6kCGwH6jDBIfaRNr9_kC9-5ScLxrQZoHASPqmyw3U9QVS9EwILyKhugVQG/s1600/Image+10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="852" data-original-width="701" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOK5M855CNaZv3KMsSwMdxGRaKIkvCcHlb_VG1yeiUZKEfjkFGO2rTnFhrNwolwTQnbQsRvmICMfKRRJnDZp6kCGwH6jDBIfaRNr9_kC9-5ScLxrQZoHASPqmyw3U9QVS9EwILyKhugVQG/s1600/Image+10.png" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="text-align: center;">Кстати, раньше до конца не понимал насколько правильна графическая структура Дракона, особенно, в изображении ветвлений. Это смещение вниз-вправо обеспечивает максимальную ясность восприятия логики, хотя, изначально кажется, что заполнение пространства таким образом не оптимально. Снимаю шляпу перед Владимиром Даниэлевичем. Очень верное решение он нашел в своё время. </span></div>
<br />
<br />
А это уже мои змейки(к Дракону ни какого отношения не имеют) но и в таком виде визуализация очень помогает.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0hob5Z1RKFiget8okHK0t-e0DGCdQnf4_lQLUSi-o0idAdfHlCyE7auGfKKXLgwC2HUjT5ekcSESxgzkCF27Tn5u5G8GZmK2o5ChVMbbeIuOFxBd4CzGBBshqtnGtHZCQLua4wmTWhYgi/s1600/Image+11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="840" data-original-width="587" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0hob5Z1RKFiget8okHK0t-e0DGCdQnf4_lQLUSi-o0idAdfHlCyE7auGfKKXLgwC2HUjT5ekcSESxgzkCF27Tn5u5G8GZmK2o5ChVMbbeIuOFxBd4CzGBBshqtnGtHZCQLua4wmTWhYgi/s1600/Image+11.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNtX7V5NgteNQh5oydX2kmBPtar13ZiCzB3TATdqNCMktOWy6slGSC7NtugEK_dbA1mJkJVL7G0nIBtQrUf2gUOuPtjQ8gpNUIWBzdidoKo8Zmj7cokBWoTFzhoD1LmMS_qyteFT7h-lFO/s1600/carlink_install.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="772" data-original-width="1344" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNtX7V5NgteNQh5oydX2kmBPtar13ZiCzB3TATdqNCMktOWy6slGSC7NtugEK_dbA1mJkJVL7G0nIBtQrUf2gUOuPtjQ8gpNUIWBzdidoKo8Zmj7cokBWoTFzhoD1LmMS_qyteFT7h-lFO/s400/carlink_install.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com1tag:blogger.com,1999:blog-934845823972795036.post-73091766629422960652017-06-15T02:10:00.000-07:002017-06-15T02:10:10.066-07:00Код из текста иконы.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Сделал более удобный способ ввода кода из текста иконы.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgguRs0HCy8Pb4QEE67CwV1-1gY4QBGJQEpTFF-G5VSRjjlEZ72mjrqmTFiVE-GWT85olgBF9oMuCNKuliqVOcKKmqtpFSbj11ACq-7W0fjuBq4zSwEOen0h8vfEEOCWtJGmq0WyG4_YKpW/s1600/%25D0%259A%25D0%25BE%25D0%25B4+%25D0%25B8%25D0%25B7+%25D1%2582%25D0%25B5%25D0%25BA%25D1%2581%25D1%2582%25D0%25B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="748" data-original-width="979" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgguRs0HCy8Pb4QEE67CwV1-1gY4QBGJQEpTFF-G5VSRjjlEZ72mjrqmTFiVE-GWT85olgBF9oMuCNKuliqVOcKKmqtpFSbj11ACq-7W0fjuBq4zSwEOen0h8vfEEOCWtJGmq0WyG4_YKpW/s400/%25D0%259A%25D0%25BE%25D0%25B4+%25D0%25B8%25D0%25B7+%25D1%2582%25D0%25B5%25D0%25BA%25D1%2581%25D1%2582%25D0%25B0.png" width="400" /></a></div>
<br />
<div style="text-align: center;">
А когда свернут, то не "отсвечивает" и не мешает.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY2oPCnoTaDWhuBQnS5Tu6ugzIbwgG65HNQ0UxIwcy_1BTUafXFQb93O2Fr_Ff6thq1u-LvQIfppuxHjScyIFMaViOjM1Dmfdd7jBIV7UkzeP6-Z8O28Rnf_QLbwSr6pwu_eyxxgF66_YR/s1600/%25D0%259A%25D0%25BE%25D0%25B4+%25D0%25B8%25D0%25B7+%25D1%2582%25D0%25B5%25D0%25BA%25D1%2581%25D1%2582%25D0%25B0-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="831" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY2oPCnoTaDWhuBQnS5Tu6ugzIbwgG65HNQ0UxIwcy_1BTUafXFQb93O2Fr_Ff6thq1u-LvQIfppuxHjScyIFMaViOjM1Dmfdd7jBIV7UkzeP6-Z8O28Rnf_QLbwSr6pwu_eyxxgF66_YR/s320/%25D0%259A%25D0%25BE%25D0%25B4+%25D0%25B8%25D0%25B7+%25D1%2582%25D0%25B5%25D0%25BA%25D1%2581%25D1%2582%25D0%25B0-2.png" width="320" /></a></div>
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-75562899498838306372017-05-27T13:36:00.000-07:002017-05-27T13:47:46.489-07:00Попробовал Драконген для подготовки скрипов к семинару.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Доволен более чем.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Myg8hYJ1xFo/0.jpg" src="https://www.youtube.com/embed/Myg8hYJ1xFo?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-29662390763070338652016-04-06T09:44:00.002-07:002016-04-06T23:49:40.356-07:00Эксперимент must go on... <div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: right;">
<i>"Если долго сидеть на берегу, то мимо обязательно проплывет тело очередного проекта."</i></div>
<div style="text-align: right;">
<i>(китайские разработчики) </i></div>
<br />
<br />
И жданно, и гадано случилось продолжение <a href="http://erv-program.blogspot.ru/2015/12/blog-post.html">проекта</a> (для одного вполне себе банка). Того самого, где я развлекался с визуализацией. За это время наш добрый, трудолюбивый заказчик приложил руку к переданным мной ему на добрую память кодам и малость покоцал их. Ну, как малость, прошелся таки добросовестно и основательно. К моему счастью, сильно не затрагивая основные алгоритмы. Если бы это сделал я сам, конечно же я выполнил бы эту работу через визуализацию, но при расставании с заказчиком я не мог передать ему дроконген в том плачевном виде в котором он существует до сих пор, поэтому, все вновь внесенные изменения пришли ко мне в виде обновленных текстов. <br />
<br />
Окинув взором всё это богатство я решил перестать выпендриваться и начать жить как все, то есть, послать к чёртовой бабушке эту визуальную хренотень. Уж больно геморно реверсить сделанные изменения в кодограмму, да и времени лишнего особо нет.<br />
<br />
Ну, что же, пацан сказал, пацан сделал. И вот, спустя несколько дней мучений, у меня всё опять оказалось в кодограмме. Знаете ли, привык. Знаете ли, душа не лежит жить по-старому.<br />
<br />
<br />
При этом пришлось доделать и донастроить <a href="http://erv-program.blogspot.ru/2014/10/blog-post_14.html#more">лифтвверх</a>, и сделать автогенерацию меток кода(code_mark). Теперь это реально работает. Все иконы проецируются в код, а код на иконы. То есть, можно работать и на нижнем уровне и на верхнем.<br />
<br />
Да, всё это стрёмно, но меня спасает большое количество автотестов, благодаря которым, можно чувствовать себя достаточно уверенно после многократной перегенерации проекта.<br />
<br />
В общем, попробуем ещё немного поиграться в визуализацию. Шоу маст гоу он.<br />
<br />
<br />
<b>З.Ы.</b> Кстати, пока был простой в проектной деятельности провел несколько семинаров внутри нашей конторы. Один по проекту, второй по своей любимой визуализации. Как пишут в газетах - "встретил живейший интерес публики", точнее, со стороны сослуживцев. Интерес в том смысле, что братия весьма позитивненько отзывалась о проделанной работе, что у нас не очень то принято. Так как вся моя проектная деятельность сплошь состояла из "весёлых картинок", то семинары подготовить не составило большого труда. В свою очередь, представленные материалы выглядели весьма привлекательно. Кажется, все всё поняли особо даже и не напрягаясь. И подарили несколько хороших идей по улучшению и развитию. Так же дорогие коллеги коллективным разумом родили новый <i>мем</i>, который мне кажется <i>концептуально важным</i> понятием. Этот мем - "<b>Визуальный комментарий</b>". Услышав это, до меня наконец-то дошло, почему я так долго упорствую в отстаивании рисования кодограмм ДраконГена в универсальном редакторе. Именно из-за возможности вставки Визуальных комментариев<b>.</b> Именно они дают большое преимущество для быстрого понимания сути алгоритма по сравнению с чистым ДРАКОНОМ и уж тем более по сравнению с обычным текстовым кодом.<br />
<br />
<br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-73392559602929949962016-02-19T21:13:00.002-08:002016-02-19T21:13:38.702-08:00<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both;">
Пробую применить ДраконГен для визуализации проекта на C# (<a href="http://opengaze.blogspot.ru/2016/02/itu-gaze-tracker.html">ITU GazeTracker</a>). </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgokQquaJ5n8DGfT8HwuQ47IGagoeTM9xEzcQpbeuTthiCqvxP5KsQmdcOkFDAxkv-yU7jirg2MnatB3iawn1Ozwm4f9w1QtGbu4DZ8nXuaVWf_UJEjfKm4BIQokhuYIO48AkpYckoS4GTj/s1600/Image+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgokQquaJ5n8DGfT8HwuQ47IGagoeTM9xEzcQpbeuTthiCqvxP5KsQmdcOkFDAxkv-yU7jirg2MnatB3iawn1Ozwm4f9w1QtGbu4DZ8nXuaVWf_UJEjfKm4BIQokhuYIO48AkpYckoS4GTj/s400/Image+2.png" width="400" /></a></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
В <a href="http://erv-program.blogspot.ru/2014/10/blog-post_8.html">спецификацию </a>добавил икону "Блок кода". Эта икона содержит часть текста с кодом, который напрямую вставляется в выходной файл. Существенное облегчение при "реверсе" и яснее становится <a href="http://erv-program.blogspot.ru/2014/09/blog-post_26.html">визуальная инкапсуляция</a>, там где она применена. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZk6hn60Ru0TCi-Wa31AWMTYulw_yDDuUvcC9MedHoiz16aq159KV27yMjTtotFX_qVSMQs2FgnU-aUxhlwWyQ_rkxKXuEDewX8XW8QyrM5ctQkyJ6Or2eyiw46zYWWyvG2T1wPkeiXBY/s1600/%25D0%25B1%25D0%25BB%25D0%25BE%25D0%25BA+%25D0%25BA%25D0%25BE%25D0%25B4%25D0%25B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZk6hn60Ru0TCi-Wa31AWMTYulw_yDDuUvcC9MedHoiz16aq159KV27yMjTtotFX_qVSMQs2FgnU-aUxhlwWyQ_rkxKXuEDewX8XW8QyrM5ctQkyJ6Or2eyiw46zYWWyvG2T1wPkeiXBY/s320/%25D0%25B1%25D0%25BB%25D0%25BE%25D0%25BA+%25D0%25BA%25D0%25BE%25D0%25B4%25D0%25B0.png" width="214" /></a></div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com2tag:blogger.com,1999:blog-934845823972795036.post-43526680750770573042015-12-11T06:49:00.001-08:002015-12-28T08:44:59.326-08:00Отличный проект<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<div class="mainheading" style="background-color: #cbd8de; box-sizing: border-box; color: #464c66; font-family: 'Helvetica Neue', 'Open Sans', Arial, sans-serif; margin: 20px; text-align: center;">
<h4>
<a href="http://www.archimatetool.com/"><span style="font-size: large;">The Free ArchiMate Modelling Tool</span></a></h4>
</div>
<div style="text-align: left;">
A free and open source modelling tool to create ArchiMate models and sketches. Used by hundreds of Enterprise Architects throughout the world.</div>
<br />
<br />
<div style="text-align: center;">
<a href="http://www.archimatetool.com/"><img alt="Archi" src="http://www.archimatetool.com/img/archi_laptop_sm.png" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
Опенсорс, Eclipse RCP - супер! Есть маленькое сомнение в производительности. Вот бы написать конвертер своих проектов из yEd в Archi, тогда бы сразу всё стало понятно.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
UPD1:<br />
Archi установился и запустился из исходников(из гита) в пол пинка(30 минут).<br />
<br />
UPD2:</div>
<div style="text-align: left;">
Конвертанул DrakonGen из yEd в Archi. Пока в черне так:<br />
<br />
<a name='more'></a><br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAivm77_5zhZiexr-k0Z7AVvwLKqykLk-dVeLRZmr44zYMkiwckoDUmU4aLZYpVM45-1osWHM0IN83dC1AcK4i-Fi-0mQWoGKvcw2c1PcV54O_ZPUlmZX6X4k83SSt40ktsN2P0rieIlRz/s1600/yEd2Archi.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="489" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAivm77_5zhZiexr-k0Z7AVvwLKqykLk-dVeLRZmr44zYMkiwckoDUmU4aLZYpVM45-1osWHM0IN83dC1AcK4i-Fi-0mQWoGKvcw2c1PcV54O_ZPUlmZX6X4k83SSt40ktsN2P0rieIlRz/s640/yEd2Archi.png" width="640" /></a></div>
<br /></div>
<div style="text-align: center;">
<div style="text-align: left;">
Производительность Archi похуже чем у yEd и управление не такое удобное. Но будем посмотреть дальше. Надо попробовать переделать Archi под DrakonGen.</div>
<div style="text-align: left;">
<br />
UPD3:<br />
<br />
Добавил в Archi свой элемент DrakonGenIf<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcCCfLg6d22uPnPNg2vGVHViuT4cFzotqRc4fvyTRBWBJSErZyHcW815qoU4HuBy7LLRfk2L8pwoJVUWEvOsHII34UT_MMweSl-EZ3nm8C9XXFj6qiKvDQyWGPwRlpxL4tk5eudQXTHEQM/s1600/DrakonArchi-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcCCfLg6d22uPnPNg2vGVHViuT4cFzotqRc4fvyTRBWBJSErZyHcW815qoU4HuBy7LLRfk2L8pwoJVUWEvOsHII34UT_MMweSl-EZ3nm8C9XXFj6qiKvDQyWGPwRlpxL4tk5eudQXTHEQM/s320/DrakonArchi-2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Не скажу что это легко, нужно создать пять классов и выполнить правку кода примерно в десяти местах, но это возможно:)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
UPD4: </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
В общем и целом разобрался что там и к чему: как устроены отношения, панель инструментов, отрисовка икон и проч. В принципе, плохонький редактор ДраконаГена можно сделать достаточно быстро, но вот нужно ли? Сложный вопрос. То, что графически он будет гораздо хуже yEd-а это очевидно, и довести его до приличного уровня ой как не просто. С другой стороны очень заманчиво всё в одном флаконе разместить, и механизм "исчисления икон", который, кажется, будет легко реализовать и кодогенерацию прямо отсюда и редактирование фалов с кодами и возможность встраивания в любой Eclipse RCP... Опять же, как-то неприлично "стибрить" у народа продукт и переделать под свои, прямо-перпендикулярные вещи... Одни вопросы.</div>
<br /></div>
</div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-91061430099024143502015-12-08T02:01:00.002-08:002015-12-28T08:48:09.741-08:00Финита ля ...<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Постскриптум к предыдущему <a href="http://erv-program.blogspot.ru/2015/10/blog-post.html#more">посту</a>.<br />
<br />
Проект сдан, по крайней мере, формально. На мой взгляд, реализован вполне успешно и сейчас самое время сделать предварительные выводы. Итак...<br />
<br />
<br />
<a name='more'></a><br /><br />
В общем и целом, можно резюмировать, что соображения относительно целесообразности использования подхода ДраконГен к визуализации коммерческого ай-ти проекта остаются теми же самыми что и для некоммерческого. Аргументы "за" - это легкость ведения проекта и отсутствие значительных когнитивных усилий на всех стадиях разработки: при проектировании, при принятии архитектурных решений, при написании кода, во время отладки, тестирования и доработки. Дополнительный плюс, которого не было в открытых проектах - более легкий процесс сдачи конечному потребителю. Во время проведения ПСИ(приемо сдаточных испытаний) в этом конкретном проекте, со стороны заказчика прозвучала такая фраза - Впервые "бизнеса"(по-русски предметники) поняли, как у нас всё устроено внутри. Так что, плюсы известные.<br />
Минусы те же что и для опенсорсного проекта, но здесь увеличение трудозатрат на визуализацию может сыграть важную роль в неприятии данного подхода. Ещё немаловажный фактор - возможное неприятие командой разработчиков непривычного, нестандартного подхода к разработке. <i>"Это всё конечно красиво, но главное, чтобы нас не заставили так делать".</i> Тем более, когда используются такие несовершенные инструменты, как те, которые были использованы мной. <br />
<br />
Подвести итог можно попытавшись ответить на вопрос: "Использовал бы я ДраконГен в новом проекте, буде оный случится?" Отвечу так: "И да, и нет". Если проект для себя, для души, то скорее - Да. Я буду использовать ДраконГен, невзирая на все значительные недостатки подобного подхода, тем более, альтернатив пока не вижу. Если проект коммерческий, то скорее всего - Нет. Зачем мне "лишний гемор", главное поскорее сделать и свалить на другой проект. Исключением может быть только ситуация, когда с заказчиком удалось найти взаимопонимание, как в данном конкретном случае и при неприменном условии, что внутренний "эффективный" менеджмент компании не будет мешать работе(данное условие , каким-то чудом, тоже удалось соблюсти). <br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-51301796008004566822015-10-18T05:52:00.004-07:002015-12-06T06:51:34.055-08:00Лебединая песТня.<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Давно мечтал об этом и вот наконец-то, сбылась "мечта идиота", я сделал свой кусок реального проекта(для одного весьма центрального банка одной весьма страны) используя визуализацию кода. Забавно, но, кажется, это последний мой проект в IT.<br />
<br />
Когда я показал картинки алгоритмов, Заказчик сказал - "я восхищен вашим подходом", (эх, при этом он не знает ещё о кодогенерации, и никогда не узнает). Коллеги-разработчики сказали - "главное, чтобы нас не заставили делать так-же". И это очень верно, это лишняя работа для них.<br />
<br />
Несколько картинок:<br />
<br />
<a name='more'></a><br /><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDWxSezjkTNdqlpVoLOpfPQMv1mt-MGPjTDaJZZObODa481eTy0cy59RRatHsXys-e1dDRqSiiVO08Vl2y9wZd4A4oQmls9i9AT9THYFv5N82fOUyW0Dfb9XTcCwcvafhuWDfhrOcQjrPP/s1600/Image+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDWxSezjkTNdqlpVoLOpfPQMv1mt-MGPjTDaJZZObODa481eTy0cy59RRatHsXys-e1dDRqSiiVO08Vl2y9wZd4A4oQmls9i9AT9THYFv5N82fOUyW0Dfb9XTcCwcvafhuWDfhrOcQjrPP/s320/Image+1.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
мне очень нравится, что всё в одном "флаконе"</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC_oaSA_Isj-0uPSJ5TrsNU6ezS-ABT09lKl9tzAq3G78MFlDurNLAMlOteSzw_8R0BE2s0dsYkeaJblj2WsuEygSK-e1-i8cNawEYON80i8p_e6wYo2mWlciEeRd5HXvFZbQtuauD6__N/s1600/Image+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC_oaSA_Isj-0uPSJ5TrsNU6ezS-ABT09lKl9tzAq3G78MFlDurNLAMlOteSzw_8R0BE2s0dsYkeaJblj2WsuEygSK-e1-i8cNawEYON80i8p_e6wYo2mWlciEeRd5HXvFZbQtuauD6__N/s320/Image+2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
от постановки задачи</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkYDyPr3tlDaYxIrw6b0DIZUgp3XFs6voNdUgwd20q8yDEsZ0LERQTas4PHYOqOnP6pZo8AXMdsG0zUW68phMooQOJakgSvUL6QkK78HM17A9zox2w8Y9YArOt0T5wm2KfPck8L7Lcg3D0/s1600/Image+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkYDyPr3tlDaYxIrw6b0DIZUgp3XFs6voNdUgwd20q8yDEsZ0LERQTas4PHYOqOnP6pZo8AXMdsG0zUW68phMooQOJakgSvUL6QkK78HM17A9zox2w8Y9YArOt0T5wm2KfPck8L7Lcg3D0/s320/Image+3.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
к архитектуре решения</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD6GZIZifr4UsOEjINdNE0C5mKfLJZqUyRrqvBF52bsVl3oTyevyqpWqDesyeaan9Fw7tzQoq4g7agguTTnnkYL-pE1BB0wUql3sZ2dsaFR5zG74N0JgGrjLEFYxHCR0mjqP5EUXFy4Y6s/s1600/Image+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD6GZIZifr4UsOEjINdNE0C5mKfLJZqUyRrqvBF52bsVl3oTyevyqpWqDesyeaan9Fw7tzQoq4g7agguTTnnkYL-pE1BB0wUql3sZ2dsaFR5zG74N0JgGrjLEFYxHCR0mjqP5EUXFy4Y6s/s320/Image+9.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
от диаграммы использования к верхнему уровню API</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCqyKRXLPAc0DNHrtqCKd1s2_qulYq1uhRSZjCNkuZqrFtjOhGrF0hinZZDAOjzRoKYGkt6VHpP8u6qKAtrazjNp4vagAfhFfxhw42lLYN0Pm4_K_OPiGTxGf3T_lOmTD6y7LVDoQHXTcl/s1600/Image+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCqyKRXLPAc0DNHrtqCKd1s2_qulYq1uhRSZjCNkuZqrFtjOhGrF0hinZZDAOjzRoKYGkt6VHpP8u6qKAtrazjNp4vagAfhFfxhw42lLYN0Pm4_K_OPiGTxGf3T_lOmTD6y7LVDoQHXTcl/s320/Image+4.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
и через алгоритмы вплоть до последней буквы кода.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7o5mgsh_EGRlFjqd4NMTMjHmjIO8U6k-Wy7C2agPdn6WuyNGTpkPIEOIGR4uvptU37d-ljlHXaHcDrFBVWoS1pivt5FBxeQRSL1IHaUTe-vNE9i85u1E4qjnZdxXhv6rETXuTiHy9nB0H/s1600/Image+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7o5mgsh_EGRlFjqd4NMTMjHmjIO8U6k-Wy7C2agPdn6WuyNGTpkPIEOIGR4uvptU37d-ljlHXaHcDrFBVWoS1pivt5FBxeQRSL1IHaUTe-vNE9i85u1E4qjnZdxXhv6rETXuTiHy9nB0H/s320/Image+8.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
тесты тоже тут</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI-yE9R_5i2o1IRJI-ZL2HpYDWhK0T8hIEwFomjk5K9kvcrFOi1e8AnVEYHFKdxCot4ISfMwkif9d3rL-ebFOhPn9amk1yZZhegOn83XtsEpY33pYpYFqtX5fecYTLN4r1Fnpt_hMsjxc4/s1600/Image+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI-yE9R_5i2o1IRJI-ZL2HpYDWhK0T8hIEwFomjk5K9kvcrFOi1e8AnVEYHFKdxCot4ISfMwkif9d3rL-ebFOhPn9amk1yZZhegOn83XtsEpY33pYpYFqtX5fecYTLN4r1Fnpt_hMsjxc4/s320/Image+7.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
причем в тестах содержится их визуальное объяснение </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeemeT6pWOLHCadGjry3qc-kSg3AeHqG5z5i01nkVp7xCY7XCTSk5GXJvwGPDzugZ5pu8d9LNJc02Q1B14436GoHslOBexhdb9-NVL1gq_lhsro8Ba10yq-rcWCgCGLtQsCetNRxa9XV8g/s1600/Image+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeemeT6pWOLHCadGjry3qc-kSg3AeHqG5z5i01nkVp7xCY7XCTSk5GXJvwGPDzugZ5pu8d9LNJc02Q1B14436GoHslOBexhdb9-NVL1gq_lhsro8Ba10yq-rcWCgCGLtQsCetNRxa9XV8g/s320/Image+6.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<span style="text-align: center;">ну и напоследок пример того, как некрасивое бывает всё-же удобным.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIsb30iYPaZV2JxM6Pjc2lcnMlgkMEmiGpA1e2VoapCIrvGIT4hDvcimUeq7zKXQvXMjAjk4MaPXJntKRbOMeiTejnDLLgYqEmRRO-PJaRv3qJTJ9yGvMyJYLBDbVIb6U_eZbpnbqmL6Nn/s1600/Image+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIsb30iYPaZV2JxM6Pjc2lcnMlgkMEmiGpA1e2VoapCIrvGIT4hDvcimUeq7zKXQvXMjAjk4MaPXJntKRbOMeiTejnDLLgYqEmRRO-PJaRv3qJTJ9yGvMyJYLBDbVIb6U_eZbpnbqmL6Nn/s320/Image+5.png" width="301" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
P.S. На Дракон это всё уже вообще не похоже, но удобство превыше всего)))</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
UPD:</div>
<br />
<div style="text-align: center;">
перерисовал всё поплотнее</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnTYgz53H1yumjCrkWg3nMOtoFmnv-2wHQ_YOel14D2iX4ymzv-R2HbTe6-K39QoAaerm_0fEFzZlNdV9MaMonwQ3qitsey6v0uSybzLeLDNqCT3i_UTnqvvdRPxn4oySTdmLh_XTOh7pD/s1600/Image+24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnTYgz53H1yumjCrkWg3nMOtoFmnv-2wHQ_YOel14D2iX4ymzv-R2HbTe6-K39QoAaerm_0fEFzZlNdV9MaMonwQ3qitsey6v0uSybzLeLDNqCT3i_UTnqvvdRPxn4oySTdmLh_XTOh7pD/s320/Image+24.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
ввел большое кол-во ссылочных связей, боялся, что "провода" будут мешать, но нет, читаемость кода только возросла. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5rCd8mdATTpW_wXXevOCSHOJAkDpzvhCIq-XjZrcSYhVgUHb_HLWcr0tvgub9UpTlLTTuRMeJLZHpnDuDDNXdLnyQj-aR0dDcE9x6sTlQKF7wakOIZs6Rx8gu7-tVGlPzkfGqGEkkjCJj/s1600/Image+26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5rCd8mdATTpW_wXXevOCSHOJAkDpzvhCIq-XjZrcSYhVgUHb_HLWcr0tvgub9UpTlLTTuRMeJLZHpnDuDDNXdLnyQj-aR0dDcE9x6sTlQKF7wakOIZs6Rx8gu7-tVGlPzkfGqGEkkjCJj/s320/Image+26.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
в некоторых местах, прямо как паутина. Степень готовности кода выделяю интенсивностью цвета, хотя, этот фактор не особо важен. Черной меткой отмечена процедура, которая, возможно, будет тормозить.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQaWho9uOtMnix-u4IuGSMNXkIwBaEClxW9YhU25ekLGEQL5d7ekvj-i_3wZWhyI2JN6OQaD_bJcxkpmisJvQ9k93EV0zYl4ErC6cYfOLgY_lcyZhjRaSObbYgb53RMh4k5f3PTiUHd5q6/s1600/Image+28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQaWho9uOtMnix-u4IuGSMNXkIwBaEClxW9YhU25ekLGEQL5d7ekvj-i_3wZWhyI2JN6OQaD_bJcxkpmisJvQ9k93EV0zYl4ErC6cYfOLgY_lcyZhjRaSObbYgb53RMh4k5f3PTiUHd5q6/s400/Image+28.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-47134711149373209892014-11-20T07:20:00.003-08:002014-11-21T23:09:14.805-08:00Страсти по редактору<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: right;">
<i>"Мышки плакали, кололись, но продолжали есть кактусы".</i></div>
<div style="text-align: right;">
(вообще-то, это анекдот, да только не в моём случае)</div>
<div style="text-align: right;">
<i><br /></i></div>
<br />
<br />
Специализированный дракон-редактор конечно же нужен, что уж там говорить. Пользоваться внешним, всё равно, что жить на съемной квартире, вроде всё удобно и хорошо, а чужое, это нельзя, сюда не ходи, лишний гвоздь не вбить. Однако, качественный редактор написать с нуля нереально. Пока смотрю в сторону проекта Eclipse-GEF, кажется, на его основе можно собрать более-менее стоящую вещь за приемлемый срок. Там много чего уже есть.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMxelHF_gHklmT4HkqMwgkdSWSrkb3mQgnGNA3jOtSgtsUM31JYq1fX1XGxhxmceDBpze2pvsDKSZGC-rbCdckiBYis0bAvyihn4K0Jx53xdcANvRUFHrnmGpQFZcFX_Ud3QQv2Fp6Iy8p/s1600/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMxelHF_gHklmT4HkqMwgkdSWSrkb3mQgnGNA3jOtSgtsUM31JYq1fX1XGxhxmceDBpze2pvsDKSZGC-rbCdckiBYis0bAvyihn4K0Jx53xdcANvRUFHrnmGpQFZcFX_Ud3QQv2Fp6Iy8p/s1600/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+-+1.png" height="305" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
Однако, допиливать придется основательно. Реализовать все иконки, это нетрудно, определиться с форматом фала данных(graphml или тот, который там сейчас есть), написать преобразование существующих форматов, это тоже не страшно, гораздо больше вопросов по реализации раскладки(layout). Радует только одно, что всю эту беду можно будет засунуть в конфекс и тем самым реализовать полный цикл разработки, соединив драконген с редактором кодограмм. Как раз после этого станет ясно, стоит ли на его основе делать полновесный редактор. Придумал хорошие названия: для встроенного в конфекс - "Графин", а для стандэлон версии - "Грифон". </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Итак, план следующий. Собираем плагин в конфекс на основе<a href="https://github.com/eclipse/gmf-runtime"> этих исходников</a>. Затем допиливаем драконовские иконы и пытаемся реализовать раскладку в стиле дракона, если не удается, то и черт с ним, все равно останется встроенный редактор, в принципе, похуже того, которым пользуюсь сейчас, но тоже ничего, зато будет интегрированный . Да, и на заметку - вот эти <a href="http://www.barnesandnoble.com/w/eclipse-modeling-project-richard-c-gronback/1116458330?ean=9780321534071">книжки</a> нам в помощь.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
21.11.2014<br />
<br />
Достал из сундука старые пробы GEF-а. Да там уже почти все редакторские закидоны были, может с той версии и стартовать?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhobaCeKPqGD0t6a1d5OG_tWB63yxPmmfyy2UZipey902FVULsuejrv8gvIAhAqpf3aBFA7tOmKXhz8Ra485pBjAZWaTCMsywsUcEPpY68jtp9OdCOOQwm4ZzG03Gn0RtlUWJk9i7nXUWys/s1600/Image+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhobaCeKPqGD0t6a1d5OG_tWB63yxPmmfyy2UZipey902FVULsuejrv8gvIAhAqpf3aBFA7tOmKXhz8Ra485pBjAZWaTCMsywsUcEPpY68jtp9OdCOOQwm4ZzG03Gn0RtlUWJk9i7nXUWys/s1600/Image+3.png" height="283" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Из существенных различий - не так красиво выглядит панель свойств, нет обозначения границ листа, не масштабируется картина колесиком мышки. Но зато уже есть начало раскладки икон. Тем более, всё собралось и запустилось на indigo. Тем более, всё в одном проекте. Там более, я его и делал. Да пошел он к чёрту этот прогресс, когда его нет. Назад в прошлое!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Немного помучившись восстановил дерево закладок проекта net.confex. Не помню было ли оно для редактора, если да, то это классно, сильно жизнь облегчит, если нет, не беда, будем рисовать новое. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5ItWXivAifSJWCuC_ZF5qMjY8vm2QYOhZVcCs6oH6OLZEUxGVR0LhRRffA7mO9G-_sMdhUY1nP1BqYbk3DLv1ZV1NjawL7xaYWC9e4DXJtvjAANeBvTOi7HNTkgLsYVrcMfKUbpr3K8H1/s1600/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5ItWXivAifSJWCuC_ZF5qMjY8vm2QYOhZVcCs6oH6OLZEUxGVR0LhRRffA7mO9G-_sMdhUY1nP1BqYbk3DLv1ZV1NjawL7xaYWC9e4DXJtvjAANeBvTOi7HNTkgLsYVrcMfKUbpr3K8H1/s1600/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+-+2.png" height="305" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
А, есть дерево закладок и для редактора, но оно не так тщательно заполнено. Ну, ладно, и на том спасибо. Самое прикольное, что редактор уже был влючен в проект, только не вошел в сборку. Вот же ж я голова садовая, всё позабыл за шесть лет... Самое плохое, что не оставил описаний, ни в блогах ни на сайте. Ай-яй-яй.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLEMZjJu3NK6u-2gKdBGyLke1oDuG-so1m4fXI1-rIgxjZRUx9wStQkle7ajtCfO8cpyZsx10tMNkrUm6cr888cuWPcwYe7alvfOQA6QCLr4ZIyCSZz7buMbM2b8UK5ozCclXvbj-iah8Z/s1600/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLEMZjJu3NK6u-2gKdBGyLke1oDuG-so1m4fXI1-rIgxjZRUx9wStQkle7ajtCfO8cpyZsx10tMNkrUm6cr888cuWPcwYe7alvfOQA6QCLr4ZIyCSZz7buMbM2b8UK5ozCclXvbj-iah8Z/s1600/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+-+3.png" height="305" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com2tag:blogger.com,1999:blog-934845823972795036.post-17159266931577710302014-11-15T20:37:00.000-08:002015-12-04T08:49:14.982-08:00Принципы<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: right;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: right;">
<i>"Не могу поступаться принципами"</i></div>
<div style="text-align: right;">
<i>(Нина Андреева)</i></div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: right;">
<i><br /></i></div>
<h3 style="text-align: center;">
Мои Принципы визуального программирования.</h3>
<br />
Решил собрать на одну страничку всё, чем не могу поступаться:<br />
<br />
<a href="http://erv-program.blogspot.ru/2014/10/blog-post_6.html" target="_blank">Принцип Красоты</a> - Красота и эстетический вид кодограммы имеют приоритет над качеством и функциональной полнотой получаемого из неё кода. Это наиглавнейший принцип.<br />
<br />
<a href="http://erv-program.blogspot.ru/2014/09/blog-post_26.html" target="_blank">Принцип Визуальной инкапсуляции</a> - Отображаться должны только важные моменты.<br />
<br />
<a href="http://erv-program.blogspot.ru/2014/10/2.html" target="_blank">Принцип Полёта</a> - Легкое масштабирование картинки, возможность удобно перемещаться от общего к частному дает полноту и связанность восприятия. <br />
<br />
<a href="http://erv-program.blogspot.ru/2014/10/blog-post_51.html" target="_blank">Принцип Импровизации</a> - Спецификации не догма, всё должно подчиняться и подстраиваться для удовлетворения принципа Красоты, но нельзя нарушать строгие правила.<br />
<br />
<a href="http://erv-program.blogspot.ru/2014/09/blog-post_30.html" target="_blank">Принцип Алгоритмической инвариантности</a> - Алгоритм не может зависеть от конкретной реализации получаемого кода.<br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-86724033642699620282014-11-14T21:21:00.000-08:002014-11-14T22:30:30.404-08:00Бочка дёгтя в ложке мёда<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: right;">
<div style="text-align: left;">
<i>(15.11.2014)</i></div>
<i><br /></i>
<i>"Вот казалось бы, всё есть, а счастья нет"</i><br />
<i>(народная идиома)</i></div>
<br />
<br />
Как известно, отрицательный результат - тоже результат. Но для человека не достигшего успеха, это является слабым утешением, так как и дураку ясно, что ложных путей тысячи, а плодотворных тропок раз-два и обчёлся. Я как могу пытаюсь продвинуться в визуализации, в том далеко несовершенном виде, в котором её понимаю, однако, есть смутное опасение, что ничего путного не выйдет. Решил все подобные сомнения, все трудности с которыми сталкиваюсь, собирать здесь и наполнить эту "бочку дегтя" до краев, а ложка мёда в ней на дне есть. И ложечка эта заключается в том, - что уже не возникает подсознательного желания забросить работу на верхнем уровне, уровне кодограмм и опять спуститься в адову кочегарку текстового кодирования.<br />
<br />
- Итак, первый черпак дёгтя. После того, как какой-либо силуэт в кодограмме достигает значительного размера, возникает трудность с его восприятием.<br />
<br />
Совершенно очевидно, что это вовсе не проблема, - нужно использовать старую, добрую декомпозицию. Вопрос только какую? Разбивать на более мелкие силуэты, или выделять блоки визуально?<br />
<br />
На картинке внизу с тремя верхними силуэтами работать легко и приятно, с нижним очень тяжело и мне приходится заставлять себя его модифицировать. Впрочем, оно и понятно, когда преступно нарушается "Принцип красоты" ничего хорошего не жди.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6hcCuurOFtXXWshM4sOBk9lkIm6sfjiZb0k5O7dnMbzM4QS7I88ZLCT4eEgMseSFaKY18h3AsL6le-nr3YIN-hjREqr-tiX51GWh0fQUSAZZUzkGWOjwxwpknmONzA5Bscig3sChcC5WF/s1600/%D0%91%D0%BE%D1%87%D0%BA%D0%B0+%D0%B4%D0%B5%D0%B3%D1%82%D1%8F+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6hcCuurOFtXXWshM4sOBk9lkIm6sfjiZb0k5O7dnMbzM4QS7I88ZLCT4eEgMseSFaKY18h3AsL6le-nr3YIN-hjREqr-tiX51GWh0fQUSAZZUzkGWOjwxwpknmONzA5Bscig3sChcC5WF/s1600/%D0%91%D0%BE%D1%87%D0%BA%D0%B0+%D0%B4%D0%B5%D0%B3%D1%82%D1%8F+-+1.png" height="260" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
- Вторая трудность. Очень хочется использовать готовые иконки, да так и делаю, но в них не всегда находится один и тот же код. Приходится каждый раз перепроверять, что напрягает. Пожалуй, настало время ввести ещё один принцип - Принцип соответствия содержания и формы в рамках одного контекста. Вопрос в том, что является контекстом? Кодограмма или силуэт? Хорошо бы оформить этот принцип в строгое правило и выполнять проверку его соблюдения. Ведь если задуматься, то фактически набор кодирующих икон это слова(или буквы) предметного языка. А должны быть ещё ветви, кусочки последовательностей, то есть предложения этого языка. Очень напоминает forth. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
- Ещё вспомнил. Огромный ковш дёгтя - это рефакторинг. Очень сложно его делать в кодограмме. Обычно, чтобы просто переименовать(самый простейший вид рефакторинга) все переменные или имена методов, приходится открывать graphml в текстовом редакторе и производить контекстную замену. В принципе, может наплевать на нижний уровень вовсе? <br />
<br />
- Многие мелкие ошибки отлавливаются в момент компиляции кода на нижнем уровне, приходится их исправления переносить ручками наверх. Правда, для того чтобы закрыть эту проблему я потратил много усилий на реверскодинг(не путать с реверсинженирингом), однако, пока на практике не использовал. К слову сказать, эта проблема не является существенной и не вызывает особых трудностей.<br />
<br />
<br />
<div class="separator" style="clear: both;">
Пока всё, буду добавлять...лять...лять... </div>
<div>
<br /></div>
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-37175838225253467572014-11-12T00:50:00.000-08:002014-11-15T02:25:13.855-08:00Исчисление икон<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Чувствую, как-то мне неудобно работать в кодограмме и что-то мешает перестраивать логику легко и непринужденно, как оно задумывалось в идеале) </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWI1fkjkTF58MeyTclEmRKmeT_nhdda-5LdpBNqDiMfMXuKLCFNvhQs_K5Hw_QjCkXCR5koWYO1R1EvHENuuHlEoFClRYaFADwVYQEW69cDbF28M0H1k4r0brF3AkfFsWd0jxzB9C4p7uV/s1600/%D0%98%D0%B4%D0%B5%D0%B8+%D0%92%D1%82%D0%BE%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9+%D0%BA%D0%BE%D0%B4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWI1fkjkTF58MeyTclEmRKmeT_nhdda-5LdpBNqDiMfMXuKLCFNvhQs_K5Hw_QjCkXCR5koWYO1R1EvHENuuHlEoFClRYaFADwVYQEW69cDbF28M0H1k4r0brF3AkfFsWd0jxzB9C4p7uV/s400/%D0%98%D0%B4%D0%B5%D0%B8+%D0%92%D1%82%D0%BE%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9+%D0%BA%D0%BE%D0%B4.png" width="400" /></a></div>
<br />
Решил выделить "чистую" логику от второстепенной. Для начала отметил розовым всю "охранную" логику, всякие проверки, которых в идеале, если пользователь или генератор кода не ошибаются, быть не дожно. Честно говоря, немного прифигел, когда увидел явственно, насколько его много.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwm0Y8W52rV9a4XbWfO99pu2UxBZSIvA1a9LGq9r9zCgY4u8EdYs1CS6MMpFORGAQidO-3TdGOPEfKyyQxEHzKS5FCKbm5pYj4yIFXffV1w4qiij1mlcOqq1aY7Rn7Xut6ejwn-X4B94FB/s1600/%D0%98%D0%B4%D0%B5%D0%B8+%D0%A1%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D1%82%D1%8C+%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwm0Y8W52rV9a4XbWfO99pu2UxBZSIvA1a9LGq9r9zCgY4u8EdYs1CS6MMpFORGAQidO-3TdGOPEfKyyQxEHzKS5FCKbm5pYj4yIFXffV1w4qiij1mlcOqq1aY7Rn7Xut6ejwn-X4B94FB/s400/%D0%98%D0%B4%D0%B5%D0%B8+%D0%A1%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D1%82%D1%8C+%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
В принципе, в тех.процесс можно ввести стадию проверки (стадия "исчисления икон") и тогда в основном коде можно не заморачиваться, но ещё лучше - использовать специально разработанный иструментарий для построения дракон-схем. )) </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Однако, эта "краснуха" существенна только для схемы самого драконгена, а для рабочих схем не так существенна... </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Хотя и ясно как инструменталку сделать но не буду. Хочется уже к корабликам вернуться. </div>
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-35428846460840025662014-11-09T12:27:00.001-08:002014-11-18T08:22:16.226-08:00Найти лицо.<div dir="ltr" style="text-align: left;" trbidi="on">
(<i>обновлено </i>18.11.2014)<br />
<br />
<div style="text-align: right;">
<i>"Можно потерять лицо, морду - никогда"</i></div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: right;">
<i><br /></i></div>
Для некоторых нет ничего страшнее, чем потерять лицо. Действительно, ну как можно жить без хоть сколь нибудь приличной физиономии, да хоть какая плохая харя, но она должна быть, иначе, что ж это за дела! Задумался и я о том, какой пользовательский интерфейс(ака "морду") слепить для драконов моих. С разгона кинулся было по-бырому сбацать приложение на eсlipce-rcp, да потом тормознул, когда вспомнил какой это недетский гемор и тоска зелёная. Начал чесать репу как же быть и вдруг вспомнил о старой позабытой-позаброшенной разработке - Confex, основная идея которого, собственно, в том и заключается, что все трудности по созданию rcp приложения должны быть скрыты глубоко в ... внутри, а на поверхности одни простые и легкие скрипты. И вот сижу я, изучаю понаделанное много-много лет назад и тихо офигеваю, сколько же идей похоронено в этом конфексе, и сколько же всего там было понапридумано, понапихано. Сейчас даже вспомнить трудно, не то что воспроизвести. На новом эклипсе не всё заработало, но зачем мне все эти 3D, работа с базой, всякие графики, графы, xmind-ы и составные документы. Мне кроме простых формочек ничего и не нужно. Так что буду реанимировать покойничка.<br />
<br />
На реанимацию ушел целый день. Откатился на эклипс indigo, т.к. в новых слишком изменен механизм rcp, а вот версию java поднял до 1.7 из-за кое-каких улучшений в ней. Вроде бы почти всё даже работает, но если и нет, можно будет починить, докрутить. Приятно, что старый труд не пропал совсем и опять востребован.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiamTcfFVa46YzUkUkruXy0lVck5UXrMXva-tZgrLRkGLmaGMo209M8_BtNRLKCA9BU7KE01QjOxzBLRYIsSSWJ7_HRUz0P0Pvn5jdBcq1-juWGm2afvzly0mvFIS6PfyqvSbpU5zP2Ii4d/s1600/Image+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiamTcfFVa46YzUkUkruXy0lVck5UXrMXva-tZgrLRkGLmaGMo209M8_BtNRLKCA9BU7KE01QjOxzBLRYIsSSWJ7_HRUz0P0Pvn5jdBcq1-juWGm2afvzly0mvFIS6PfyqvSbpU5zP2Ii4d/s1600/Image+1.png" height="283" width="400" /></a></div>
<br />
<br />
<br />
18.11.2014<br />
<br />
Отредактировал конфексный файл. Сделал чтобы все драконы и ДраконГена и SRS запускались из одного интерфейса. Так удобно. Нашел несколько ошибочек в конфексе, ну да фиг с ними, "на скорость не влияют".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg21ytvU-8cQI26J2jVdq7jYndhOLgNE8cwSInSMpqVzM3Rqco_Djpd9E-VbGv_ZV8MSaC2AtAGVsyJD-3X-Q7SDE9vwKwjvmV2KnhfhcJalAylwr8yoMe2yh0CODH9H70BURTkDVDWxkW3/s1600/Image+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg21ytvU-8cQI26J2jVdq7jYndhOLgNE8cwSInSMpqVzM3Rqco_Djpd9E-VbGv_ZV8MSaC2AtAGVsyJD-3X-Q7SDE9vwKwjvmV2KnhfhcJalAylwr8yoMe2yh0CODH9H70BURTkDVDWxkW3/s1600/Image+2.png" height="305" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-39979116265731243702014-11-05T05:57:00.002-08:002014-11-05T05:57:30.165-08:00Управление реверсом<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
05.11.2014<br />
<br />
В основном реверс закончен, нужно хорошенько оттестировать. Можно ещё поработать над иконой "Полка"(её налогом в Дракон-Джас) но, наверное, пока не буду. Подумалось, что интересно сделать две вещи:<br />
<br />
- управление реверсом<br />
- аспекты<br />
<br />
Управление реверсом, это команды в виде специальных комментариев в коде, которые задают каким образом выполняется процесс перевода кода в кодограмму. Дело в том, что если раскрывать все методы(процедуры) и каждый их оператор в отдельности, по получаются здоровенные структуры, противоречащие Принципу визуальной инкапсуляции.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyh_iXj1CkbkPU8xCI2FJrG4_7u2x7FwROB-FEI3zas6uG3KT_OIHowCn7LWKhs69Th7c9yGOn3eIRsSfSRiQO6PZKMsqPjyPxLBDdWxlajinQmmDgIvrXn8UTS8kXKIsZ3evHgKU5sOBl/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyh_iXj1CkbkPU8xCI2FJrG4_7u2x7FwROB-FEI3zas6uG3KT_OIHowCn7LWKhs69Th7c9yGOn3eIRsSfSRiQO6PZKMsqPjyPxLBDdWxlajinQmmDgIvrXn8UTS8kXKIsZ3evHgKU5sOBl/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+15.png" height="87" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Основной класс реверса.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Зачем нам эта кишка, когда интересуют только определённые, конкретные участки. </div>
<br />
Для того чтобы избежать подобного положения дел, думаю ввести управление реверсом на уровне анализируемого исходного файла: "Свернуть все","Развернуть все", "Сворачивать однотипные". На уровне группы процедур: "Сворачивать содержимое","Развернуть содержимое", "Сворачивать однотипные", "Не сворачивать однотипные". На уровне процедуры: "Свернуть содержимое","Развернуть содержимое", "Сворачивать однотипные", "Не сворачивать однотипные".<br />
<br />
(пока не реализовано)<br />
<br />
<br />
Аспекты.<br />
<br />
Необходимо визуально выделять различные функциональные аспекты, например, цветом.<br />
Одно дело иметь такую картину<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj4YSfu7c8b6Wjnsj9Y9vK-4u3BN5VpyCnEHlFRHjZptWLM6NeVRQf88YRWTOoLFvSBXiZxISnsmYVetEjkQHZ2D2-v7Amyt2DVbB7quQoEUYufbuxDBXBeG0jtjuhmEQWiQiaWeCTg77o/s1600/%D0%90%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%8B+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj4YSfu7c8b6Wjnsj9Y9vK-4u3BN5VpyCnEHlFRHjZptWLM6NeVRQf88YRWTOoLFvSBXiZxISnsmYVetEjkQHZ2D2-v7Amyt2DVbB7quQoEUYufbuxDBXBeG0jtjuhmEQWiQiaWeCTg77o/s1600/%D0%90%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%8B+-+1.png" height="251" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Другое дело, когда различные аспекты выделяются</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis0nYzj4nQ6uLwhEbDvlhnuzA5TS9vFvpscoCShyphenhyphen5fIvSxrWuESlLQgkwi2m7Z3sL6f1UmJz4H6Mx3gKMZ6heKAyMoQklp_29kfEJLH9kCzPE3foYQtQL6jL6e4stzAvNooxBAW8eKdMXW/s1600/%D0%90%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%8B+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis0nYzj4nQ6uLwhEbDvlhnuzA5TS9vFvpscoCShyphenhyphen5fIvSxrWuESlLQgkwi2m7Z3sL6f1UmJz4H6Mx3gKMZ6heKAyMoQklp_29kfEJLH9kCzPE3foYQtQL6jL6e4stzAvNooxBAW8eKdMXW/s1600/%D0%90%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%8B+-+2.png" height="281" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Управляющие коментарии для аспектов: </div>
<div class="separator" style="clear: both; text-align: left;">
//<DG2J aspect_begin="ИМЯ АСПЕКТА"/> - начало зоны аспекта с именем</div>
<div class="separator" style="clear: both; text-align: left;">
//<DG2J aspect_end="ИМЯ АСПЕКТА"/> - конец зоны аспекта с именем . Пока жестко прописано два аспекта "ASPECTS" и "DRAKON". </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Работа начата, но до конца пока не доведена... Ужасно утомило программирование на нижнем уровне. Хочется скорее закончить реверс и навсегда перебраться на верхний уровень... На этом и сосредоточусь. Чёрт с ним, с управлением реверсом и аспектами. </div>
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-38818943806032894262014-10-28T23:05:00.000-07:002014-11-17T08:57:17.368-08:00ДраконАкт<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
17.11.2014</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Ещё немного в сторону ушел от магистрального направления. Сделал микро дракон-язык ДраконАкт (DrakonAct) который пока состоит всего из трех икон "Лифт вниз", "Лифт вверх", "Документ" и позволит управлять запуском "лифта" вверх и вниз. Иконки выглядят не достаточно красиво, но пока не закончу реверс(который висит над душой как камень) менять ничего не буду. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Так выглядит главная командная кодограмма, обработка которой инициирует процессы кодогенерации(лифт вниз) или реверсинжениринга(лифт вверх)</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR4fpx4ZNTUy5lvUPsDrcLLz4vbA9OlO1RMxAEFeP1N5yWXq63NgCo-HaTEnkIKARE3NPe-t59pOUVcEQVY8sZ57l3rMZ8NkEIX8qRjzdzhuDUESokpoqPAMjn6yITT0MrDSVxinTrQ5S0/s1600/DrakonAct+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR4fpx4ZNTUy5lvUPsDrcLLz4vbA9OlO1RMxAEFeP1N5yWXq63NgCo-HaTEnkIKARE3NPe-t59pOUVcEQVY8sZ57l3rMZ8NkEIX8qRjzdzhuDUESokpoqPAMjn6yITT0MrDSVxinTrQ5S0/s1600/DrakonAct+-+1.png" height="281" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both;">
Сам класс DrakonAct, собственно, достаточно простой, но всё-же решил оформить его в виде кодограммы. Что интересно, многие части взяты из других кодограмм и для меня они легко узнаваемы. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg400SlMkW0IyB04IAFA8sIYf6WKH4WvCEtc4djPNHvl0Lx3SCswsKzN4gfhrtv8OBTneZGQGA-4fjTEDtp13sm1cDJ_4EEflnbX16608Bgu8KweK6hwzD2fvL_VYJ9nTL_EzwEEWmKtLkI/s1600/DrakonAct+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg400SlMkW0IyB04IAFA8sIYf6WKH4WvCEtc4djPNHvl0Lx3SCswsKzN4gfhrtv8OBTneZGQGA-4fjTEDtp13sm1cDJ_4EEflnbX16608Bgu8KweK6hwzD2fvL_VYJ9nTL_EzwEEWmKtLkI/s1600/DrakonAct+-+2.png" height="280" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both;">
Из одной кодограммы может получиться несколько документов, это определятся внутри неё. Пунктирные стрелочки не имеют логического значения и только для облегченного чтения кодограммы.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBZE5y-alV2smGCxFmsRQ_cKQ-F309eWoQ_MZDJOcxHDpYXPMnBah85GkpJpYl8tIO_KaqcWVskG0t8qqIo847xdL0UUpPkUeNVHal0FT2lYRNkCNaS70VUeRIHBCGxF19exZkl0RMuXJ/s1600/DrakonAct+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBZE5y-alV2smGCxFmsRQ_cKQ-F309eWoQ_MZDJOcxHDpYXPMnBah85GkpJpYl8tIO_KaqcWVskG0t8qqIo847xdL0UUpPkUeNVHal0FT2lYRNkCNaS70VUeRIHBCGxF19exZkl0RMuXJ/s1600/DrakonAct+-+3.png" height="307" width="400" /></a></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Жизнь показала, что реально не ошибся потратив немного времени на ДраконАкт. Управлять сборками стало легче и главное - приятнее.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYfk9NhGTdOSLFYdZ3I-E90DYHlTIjBiTzYn8tAyxn-WAabNFmWTR2KGulW8ZmHnLtseecbBXlPWU_saVmGUOVZU4hvqvEVDbKYbIcSEwPMUiqCk-akOey1o3L6w4gPnRxUT1ptLblwvDf/s1600/DrakonAct+-+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYfk9NhGTdOSLFYdZ3I-E90DYHlTIjBiTzYn8tAyxn-WAabNFmWTR2KGulW8ZmHnLtseecbBXlPWU_saVmGUOVZU4hvqvEVDbKYbIcSEwPMUiqCk-akOey1o3L6w4gPnRxUT1ptLblwvDf/s1600/DrakonAct+-+4.png" height="173" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Если этот микроязык развить, добавив логику, проверку выходных документов, реализовать последовательность обхода Точек Сборки, то можно сделать интересную вещь. Но это, если руки дойдут.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
30.10.2014</div>
<div>
<br />
Добавил икону "Начать активность" наличие которой в кодограмме позволяет задать последовательность обхода точек сборки, легко включать и выключать их в процесс сборки(выполнения).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig6he6s6ZXAQc5NqFK7GX91bCNziaJ6gAGkYwp2rRCSeuVSmvtMid3yQ6TcuELvUaAt5TIql3b2rLx1zFq8qvmFvkbEV2L14czrFN3SvQwFfk4f5foHHqXSZoW59aiqZrhM6o3hQKCZMWu/s1600/DrakonAct+-+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig6he6s6ZXAQc5NqFK7GX91bCNziaJ6gAGkYwp2rRCSeuVSmvtMid3yQ6TcuELvUaAt5TIql3b2rLx1zFq8qvmFvkbEV2L14czrFN3SvQwFfk4f5foHHqXSZoW59aiqZrhM6o3hQKCZMWu/s1600/DrakonAct+-+7.png" height="137" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Выходы из этой иконы должны указывать на иконы "Точка Сборки" с такими же именами как в активностях.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheN7vbsv9TpQ0Dd4rg0wdHkn5V4e9HxzTXcg-ahDgKYC3rFhwnaF9G2jKKCsY6I9GxrjCJcYlTMKY4rVlcGS0p59yCygXA0ye98LACcGx857p0a0ZtPtTLwvbD-9X87WAsB8Xk3e_Aem0_/s1600/DrakonAct+-+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheN7vbsv9TpQ0Dd4rg0wdHkn5V4e9HxzTXcg-ahDgKYC3rFhwnaF9G2jKKCsY6I9GxrjCJcYlTMKY4rVlcGS0p59yCygXA0ye98LACcGx857p0a0ZtPtTLwvbD-9X87WAsB8Xk3e_Aem0_/s1600/DrakonAct+-+4.png" height="248" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
То есть, теперь всей этой оравой тестов, кодогенерации, реверсинженирингов стало управлять гораздо легче и проще.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrRN78G-0NHZgR6ES1r2vrkOxTyydjhb-0SCRzGK9KfqExtVJOv5mW1AdiGPq1Xr0CkskDtOiKAhNK2Jq-_kaCdLEYqbGq3Epjneafvs1o-WhW9lSZQbQxe-hHDljD3YMUgw6_vxFd6Sbm/s1600/DrakonAct+-+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrRN78G-0NHZgR6ES1r2vrkOxTyydjhb-0SCRzGK9KfqExtVJOv5mW1AdiGPq1Xr0CkskDtOiKAhNK2Jq-_kaCdLEYqbGq3Epjneafvs1o-WhW9lSZQbQxe-hHDljD3YMUgw6_vxFd6Sbm/s1600/DrakonAct+-+5.png" height="221" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Что характерно, всю эту новую функциональность добавил редактируя кодограмму. Постепенно появляются навыки визуального программирования. Пришлось и "вниз" опуститься для небольшой отладочки, но совсем ненадолго.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2spsiOxNRZpCuezcfg8xzwtyr0grLm1T7B6h8eqGrNWGSBFtN2LCCAf1-xLWck1HscXRzooYfdbO-_4QB4CKdW_x2v7iHzcZKNi9Ic1eVMXtBs0yh57Q4dfMwhzglCfa6DcdbDySnFY6H/s1600/DrakonAct+-+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2spsiOxNRZpCuezcfg8xzwtyr0grLm1T7B6h8eqGrNWGSBFtN2LCCAf1-xLWck1HscXRzooYfdbO-_4QB4CKdW_x2v7iHzcZKNi9Ic1eVMXtBs0yh57Q4dfMwhzglCfa6DcdbDySnFY6H/s1600/DrakonAct+-+6.png" height="237" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
О, а так то красивее, когда сразу видно где реверс а где генерация</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_5OjGSWy9smli2-gCpKl4Vy0kBYHqBl1ISgVMoo23dFoEWSOa1Q991UmHOv25u44kWZtCQY-w0LX6pQqv5Bf6GBRdHA-Im61TwWvsgDOWNBX9ehRgWkX6oja-5UFUJ_2h9Xj2koaTKUw2/s1600/DrakonAct+-+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_5OjGSWy9smli2-gCpKl4Vy0kBYHqBl1ISgVMoo23dFoEWSOa1Q991UmHOv25u44kWZtCQY-w0LX6pQqv5Bf6GBRdHA-Im61TwWvsgDOWNBX9ehRgWkX6oja-5UFUJ_2h9Xj2koaTKUw2/s1600/DrakonAct+-+8.png" height="262" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Реально сейчас работаю с такой кодограммой при тестировании реверса. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPLTo8lVwfIhzKwNBrFvWexOiFbWP9bAaiZvNB3pRsOeeg7SWsIq7LROsHtCcjapN1697MD7Q-oKrYJop5nuyg8HozSwruOHBXOlojvp8bOJ1R6l9kpMHTlmzR-NOU54jO7fWCO-3VCi1t/s1600/DrakonAct+-+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPLTo8lVwfIhzKwNBrFvWexOiFbWP9bAaiZvNB3pRsOeeg7SWsIq7LROsHtCcjapN1697MD7Q-oKrYJop5nuyg8HozSwruOHBXOlojvp8bOJ1R6l9kpMHTlmzR-NOU54jO7fWCO-3VCi1t/s1600/DrakonAct+-+9.png" height="258" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
17.11.2014</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Добавил возможность использования иконы "Начало активности" в кодограмме для простоты управления сборками. До этого можно было пользоваться только в кодограмме активностей.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_7HjQP1movajZzoHSmqaCtYQDiCX2_XhSsIXpy22xMm1tb-GzLQuKMzB6UKimI8q2vA_vVMy_mb5sYi_umsUVXhhGvs5xhevoh4TJJAooMcvp514M-Ykzld0Lfn0GTBXjW5QMFJoNjSwq/s1600/%D0%94%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%90%D0%BA%D1%82+-+%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D0%BE+%D0%B0%D0%BA%D1%82+%D0%B2+%D0%94%D0%B6%D0%B0%D1%81+%D0%BA%D0%BE%D0%B4%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_7HjQP1movajZzoHSmqaCtYQDiCX2_XhSsIXpy22xMm1tb-GzLQuKMzB6UKimI8q2vA_vVMy_mb5sYi_umsUVXhhGvs5xhevoh4TJJAooMcvp514M-Ykzld0Lfn0GTBXjW5QMFJoNjSwq/s1600/%D0%94%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%90%D0%BA%D1%82+-+%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D0%BE+%D0%B0%D0%BA%D1%82+%D0%B2+%D0%94%D0%B6%D0%B0%D1%81+%D0%BA%D0%BE%D0%B4%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B5.png" height="235" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-27011017711549912702014-10-24T18:00:00.000-07:002014-11-14T06:59:13.249-08:00Принцип Лифта<div dir="ltr" style="text-align: left;" trbidi="on">
(обновлено 14.11.2014)<br />
<br />
<div style="text-align: right;">
<i>"Лифт, он тебе не нипель и не диод, он ездит </i><i>туды-сюды,</i></div>
<div style="text-align: right;">
<i> </i><i>и доставляет всем. И вверх доставляет и вниз..." </i></div>
<div style="text-align: right;">
<i>(</i>из разговора дракон-джаз программистов<i>)</i></div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: left;">
Итак, на горизонте вырисовывается трехуровневая архитектура. На верху - мир идеального, возвышенного, мир диаграмм и графов. Внизу, приземленная реальность, конкретика кодов и сред разработки. Между ними - промежуточный слой(ДраконГен), тот что доставляет коды. Пока что все сформулированные <a href="http://erv-program.blogspot.ru/2014/10/blog-post_57.html" target="_blank">принципы</a> построения системы относились только к верхнему уровню, но пора установить рамки приличия и для среднего. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Сейчас ДраконГен работает наполовину - осуществляет кодогенерацию сверху вниз. Можно себе представить, как бы поминали строителей жильцы многоэтажки, когда бы лифт у них работал только на спуск, а вверх, на четырнадцатый этаж им приходилось карабкаться пешком, со всеми своими сумками-корзинками. В общем-то примерно так и обстоят дела в Дракон-Джазе сейчас. Коды снизу наверх таскаю лично я, лично ручками. Не скажу, что это сильно легче чем бабушке взобраться на последний этаж. Надо с этим что-то делать. Ну, хотя бы, начать перевозить особо толстых граждан и тех с которыми внизу что-то всё время случается. Пришло время организовать реверскодинг. Т.е. создать такой процесс, который часть кода будет переносить снизу вверх автоматически вместе со всеми изменениями сделанными внизу.</div>
<div style="text-align: left;">
<br />
<br />
<a name='more'></a><br />
<br />
На первый взгляд, кажется, что это не очень сложно сделать если использовать маркеры кода.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<DG2J code_marker="имя узла:уникальный признак"></div>
<div style="text-align: left;">
...</div>
<div style="text-align: left;">
Синхронизуемый код</div>
<div style="text-align: left;">
...</div>
<div style="text-align: left;">
</DG2J> </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Например, на верхнем уровне есть такой кусочек кода:</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPKmmltWjn_CGmyg1v1HsHBA4zKg-ho2N6GVys-WMXCl9T6KhpbXnuPKGAaTqRXqlGDOba66PAZ_X8VgurTGvJqpcgneCOd9bva10RedFl8kFTgtANHoOB0wNu8lzMBCnG2Janef_biSqE/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPKmmltWjn_CGmyg1v1HsHBA4zKg-ho2N6GVys-WMXCl9T6KhpbXnuPKGAaTqRXqlGDOba66PAZ_X8VgurTGvJqpcgneCOd9bva10RedFl8kFTgtANHoOB0wNu8lzMBCnG2Janef_biSqE/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+1.png" height="196" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
вводим маркер кода</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSYa7qCmiccohYUGOCmqwoofbK2qw2sdHOzN3sUysU3qCHa61fOWU-NzKOi0FpZtUFtVufMp_ba7Xdih15mi_ldOqy-_hyxoIVjv1vY7jZe8_oLPc3EeUNpbeJGwBTxCLHsyim5GQ7wmB/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSYa7qCmiccohYUGOCmqwoofbK2qw2sdHOzN3sUysU3qCHa61fOWU-NzKOi0FpZtUFtVufMp_ba7Xdih15mi_ldOqy-_hyxoIVjv1vY7jZe8_oLPc3EeUNpbeJGwBTxCLHsyim5GQ7wmB/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+2.png" height="188" width="400" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
теперь код выглядит так</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_VGCs8GIO6Cl7bAkKO5apYjJCmNmTdYQN1f7o703Xh6HV8jwS3-C1tzqdRB2p8XqpLBtij8ZVZ2Rrvy4KCn0-zGriWRvJNpV2xZbFIO63xj5vfUoLSNZhKLk-YcN3IutiOHPFiaCF8_MB/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_VGCs8GIO6Cl7bAkKO5apYjJCmNmTdYQN1f7o703Xh6HV8jwS3-C1tzqdRB2p8XqpLBtij8ZVZ2Rrvy4KCn0-zGriWRvJNpV2xZbFIO63xj5vfUoLSNZhKLk-YcN3IutiOHPFiaCF8_MB/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+3.png" height="97" width="400" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Если мы запустим процесс реверскодинга, то внесенные в текст программы изменения будут подняты "наверх". Тут важно отследить возможные нарушения уникальности маркеров и это нужно сделать перед реверскодингом.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Ну, а до реверсинжиниринга дело тоже когда-то дойдет(может быть)).<br />
<br />
<br />
19.10.2014<br />
<br />
После того как написал и реализовал алгоритм "<a href="http://erv-program.blogspot.ru/2014/10/blog-post_18.html" target="_blank">Замена маркированного кода</a>" удалось выполнить реверскодинг для тестового класса Test. Конечно, правильнее было бы не писать такой алгоритм, а воспользоваться стандартной обработкой XML. Но было интересно попробовать Дракон-Джаз в работе. Выяснилась интересная деталь, Оказывается, визуального языка Дракон мало! Нужны вспомогательные средства визуализации, как при работе с алгоритмом "<a href="http://erv-program.blogspot.ru/2014/10/blog-post_18.html" target="_blank">Замена маркированного кода</a>". Потому, что с первого раза написал этот алгоритм с ошибками и только после того, как разрисовал структуру маркеров и данных, все получилось с первого раза.<br />
<br />
Изменения в коде<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDmqnrWozcMnUR3p9CVIK0cS1UiGXl6zl-hYujLcJHhrNVi3zd68Wn_5I16iGrd9WY4B9iH6-OP1y6iot-gtMtksyaW1kO4RnuUWmaBKAsjxqEA3dSZH4uh278Sowemk6uxfA-m5MSf_A/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDmqnrWozcMnUR3p9CVIK0cS1UiGXl6zl-hYujLcJHhrNVi3zd68Wn_5I16iGrd9WY4B9iH6-OP1y6iot-gtMtksyaW1kO4RnuUWmaBKAsjxqEA3dSZH4uh278Sowemk6uxfA-m5MSf_A/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+4.png" height="163" width="320" /></a></div>
<br /></div>
<div style="text-align: left;">
после реверскодинга отобразились в кодограмме<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUREjdm6VqKA_kyzHEN-dJqNxsrsQ-seHx302dxJ6WCuRUxWuDGOcdL-CUPFkDhu3S-tEzyFZZNWl1XNGbmUOY09oTNkegJVYzzF9hkl7utDlSq5HApKqXXadj-AJJquyOgZFBn8KaGBK3/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUREjdm6VqKA_kyzHEN-dJqNxsrsQ-seHx302dxJ6WCuRUxWuDGOcdL-CUPFkDhu3S-tEzyFZZNWl1XNGbmUOY09oTNkegJVYzzF9hkl7utDlSq5HApKqXXadj-AJJquyOgZFBn8KaGBK3/s1600/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF+%D0%9B%D0%B8%D1%84%D1%82%D0%B0+-+5.png" height="238" width="400" /></a></div>
<br />
Интересно, что при копировании участков кодограммы через буфер обмена в новую схему маркеры не переносятся. В пределах одной кодограммы всё переносится корректно. </div>
<div style="text-align: left;">
<br />
<br />
<br />
20.10.2014 Реверсинжениринг<br />
<br />
Показал одному коллеге кодограмму Дракон-Джаза, тот посмотрел, спросил, как я её построил и когда услышал что ручками, изобразил на физиономии полное разочарование и унылый скепсис. Ах, ты зараза такая! Вам разжевать всё надо, да ещё в рот положить...<br />
<br />
Однако сел я за "грузовой лифт". Первый результат обнадеживает, но пока до успеха далеко.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSKJ3KSGdklIi8vsl3xdP4J7oqokC688PbB96n9-e5ld45GGJ5Rh-tl7ty_UMjMR6R-wfyf5SEt80eFJNxhDJ-JWvSuJyQwR9ilnAa_hyphenhyphenNDi-MMe2SZurtuFOjQS3TqHJu-hZZROYmER4k/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSKJ3KSGdklIi8vsl3xdP4J7oqokC688PbB96n9-e5ld45GGJ5Rh-tl7ty_UMjMR6R-wfyf5SEt80eFJNxhDJ-JWvSuJyQwR9ilnAa_hyphenhyphenNDi-MMe2SZurtuFOjQS3TqHJu-hZZROYmER4k/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+1.png" height="175" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Чёта ржу, сижу весь запутался в проводах :)))</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8B-NFtaTmF9qyy4z5NKrzuuuKYuPMgYdd4HKhkzEqrvHheMsSLUoeGFopmQVJim4-52v4xKRrpGM5BAz8A5-LGeF-qkGFfoLEdbx4Wk1gU5mGsvbe9SDYhnp0aKEEQaS6-wos06lPzmKd/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8B-NFtaTmF9qyy4z5NKrzuuuKYuPMgYdd4HKhkzEqrvHheMsSLUoeGFopmQVJim4-52v4xKRrpGM5BAz8A5-LGeF-qkGFfoLEdbx4Wk1gU5mGsvbe9SDYhnp0aKEEQaS6-wos06lPzmKd/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+2.png" height="337" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
21.10.2014 Уф, ну малость подразобрался с проводами</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoUQq1VIklb4dYocve1c4leCobUTFaizbi-kOXs0YPCDkjOFkURm-TXAwk0jLlMNGDJiHn9Mq68HyiX3ju2K5UfEu2oTjmN7NvLNWTaWvrIM21-e1JzAHt2UG4IO15uRUuY2Xo2Qkt4ijF/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoUQq1VIklb4dYocve1c4leCobUTFaizbi-kOXs0YPCDkjOFkURm-TXAwk0jLlMNGDJiHn9Mq68HyiX3ju2K5UfEu2oTjmN7NvLNWTaWvrIM21-e1JzAHt2UG4IO15uRUuY2Xo2Qkt4ijF/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+2.png" height="400" width="298" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
хотя нарисовано неверно, должно быть так:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyKadY_lnmXigHt7EYZlWwTJz7r3r4Y8m1JBRGxcZQF3giBs-AtXjNjmhj63V2lg8lVtHXAkxXbOPxOwJ2fIn0PIzpKMjJvzXYEdUaHqLi6njWQpc36v5W7wjCygZwl_45ZOSEDD8PZWop/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyKadY_lnmXigHt7EYZlWwTJz7r3r4Y8m1JBRGxcZQF3giBs-AtXjNjmhj63V2lg8lVtHXAkxXbOPxOwJ2fIn0PIzpKMjJvzXYEdUaHqLi6njWQpc36v5W7wjCygZwl_45ZOSEDD8PZWop/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+3.png" height="400" width="366" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
22.10.2014 Да, конечно подзастрял я на реверсе. Ну да ладно, кажется дело хорошее. Интересно рассматривать кодограммы. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi93zf-o8ugAC5VNSR3aQjOEBoB28TIcAl_zkeciIFRzvFuxnJoCr0y4zysGK1XXYwVDI5SZRrQpQtAEgBbS6iZ8Gkd9lLg2Fwej9Oa5TdEDN4suTfWvqpBBxYTLDS8URShCx604vqddPmO/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi93zf-o8ugAC5VNSR3aQjOEBoB28TIcAl_zkeciIFRzvFuxnJoCr0y4zysGK1XXYwVDI5SZRrQpQtAEgBbS6iZ8Gkd9lLg2Fwej9Oa5TdEDN4suTfWvqpBBxYTLDS8URShCx604vqddPmO/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+4.png" height="158" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
кодограмма реверинжениринга(lift up)</div>
<div class="separator" style="clear: both; text-align: right;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Сразу многое становится нагляднее</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEignvnKmd_BGwW5SficZcvsTbeU7BLT2HAm4neBoBsPrr1MWgc4cRHS7qwwMYBXDuQaGQ4_Ofv3EM42YSxu69LHT5R_ypO9g9fZo_z15nhJt78DTrmRO48N-FxebCAxcPX3aB0Bhufs8LyN/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEignvnKmd_BGwW5SficZcvsTbeU7BLT2HAm4neBoBsPrr1MWgc4cRHS7qwwMYBXDuQaGQ4_Ofv3EM42YSxu69LHT5R_ypO9g9fZo_z15nhJt78DTrmRO48N-FxebCAxcPX3aB0Bhufs8LyN/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+5.png" height="158" width="400" /></a></div>
<br />
А это кодограмма обратного процесса кодогенератора(lift-down), само собой выглядит абсолютно не так как в ручном исполнении, но пока здесь кроме действий и решений ничего нет.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi70Z3C91T59X9h19tXkROp4GotcZ58iC7XLcL7Eojy5X2s5SQEN4kYds7ZvYbfFAahQKjNJ9c8_CpNboYzcw_9hP_J49N0Uw3__izegKtOW5A_T33oPp3Btramp-ToUae7_wrzMG14I3Kd/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi70Z3C91T59X9h19tXkROp4GotcZ58iC7XLcL7Eojy5X2s5SQEN4kYds7ZvYbfFAahQKjNJ9c8_CpNboYzcw_9hP_J49N0Uw3__izegKtOW5A_T33oPp3Btramp-ToUae7_wrzMG14I3Kd/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+6.png" height="400" width="312" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
"рукописный" оригинал выглядит так:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjauJDSmoijJrZp5hPHtQL7yJZiI5smiJ36CITH-LDAx4nU3TB5Tte9nx1UwFRxdgUr1f-VhHtWrKrqKLFljjSLSK8Z9AQ_HzON_OUmbmtZIbahi94c9YHF4-gzhU97Of5dNDnJzwF5VHon/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjauJDSmoijJrZp5hPHtQL7yJZiI5smiJ36CITH-LDAx4nU3TB5Tte9nx1UwFRxdgUr1f-VhHtWrKrqKLFljjSLSK8Z9AQ_HzON_OUmbmtZIbahi94c9YHF4-gzhU97Of5dNDnJzwF5VHon/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+7.png" height="125" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
24.10.2014 </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Ещё немного в реверсе продвинулся. Сделал реврсинжениринг Драконгену. Можно сравнить, как выглядит рукописный и автоматически воссозданный ваианты.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsPl5JJmidpMtGMvM-COjCHQ9SUgA9_g9l_xqEMAonJraWrkBWIoYGDy5HuCGHQNOHyQi9HUV7g1JQBr8rIsOG4qLpnEMeyNqVLDJ9hZvaHFFrRaRp3KUILihGRiQOPZSlo5_ek_9Bd6Ye/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsPl5JJmidpMtGMvM-COjCHQ9SUgA9_g9l_xqEMAonJraWrkBWIoYGDy5HuCGHQNOHyQi9HUV7g1JQBr8rIsOG4qLpnEMeyNqVLDJ9hZvaHFFrRaRp3KUILihGRiQOPZSlo5_ek_9Bd6Ye/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+9.png" height="387" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
это фрагмент рукописной кодограммы DrakonGen_а</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrUEWQwAn7hyHPOG1dm9RW9wCaBXs8_y6-K-q5aYP_und3FcEunLCwndlOlchIy1gu1z5yxQ2tVP-5qRaZydMF51fo5baLaRS73ca501UwtqnP-ctgN9UOvszu2K60T7vRxM0PYKkB5OPi/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrUEWQwAn7hyHPOG1dm9RW9wCaBXs8_y6-K-q5aYP_und3FcEunLCwndlOlchIy1gu1z5yxQ2tVP-5qRaZydMF51fo5baLaRS73ca501UwtqnP-ctgN9UOvszu2K60T7vRxM0PYKkB5OPi/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+8.png" height="355" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
а это "машинописный" вариант(ничего не подправлялось)</div>
<br />
Пока ещё не все иконы восстановлены правильно, можно поработать с цветом, но в принципе, довольно приемлемо получается кмк.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
29.10.2014</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Столкнулся с неприятностью в реверсе внутренних классов(классов определяемых внутри классов). Если перед определением внутреннего класса стоит процедура, то происходит пересечение. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhheZw5dkiJeG91Z-4E0bOVqs-SaIOQq3V6ztTyAc0DQ_I1HG5mcvbdI3OVj0CREbEjmx7dQC6dbOgnGSV09Bn0d5QbuQHa3LzzxMG5QDQAzfCAA9jpVUGnVq49dbCt1q0dFlKkewTeXbpW/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81+%D1%82%D1%80%D0%B0%D0%B1%D0%BB+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhheZw5dkiJeG91Z-4E0bOVqs-SaIOQq3V6ztTyAc0DQ_I1HG5mcvbdI3OVj0CREbEjmx7dQC6dbOgnGSV09Bn0d5QbuQHa3LzzxMG5QDQAzfCAA9jpVUGnVq49dbCt1q0dFlKkewTeXbpW/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81+%D1%82%D1%80%D0%B0%D0%B1%D0%BB+-+1.png" height="400" width="303" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Единственное решение, которое приходит в голову - принудительно перемещать все внутренние классы вверх.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Когда внутр классы выше процедур, то всё выглядит прилично</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLsRkN15nBpDlsOeZSQMX90V7uOFXwfRb4SUfQlbBF7xrXQ5trzbvVDFNxxXbhTySDybnPvXcnO7Ih3-OU2SoIldy8segU3wGg3OIZjl6p4FNs2t7DMGUhvQBLU8CzL-GppaqBHYPCS8i7/s1600/%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLsRkN15nBpDlsOeZSQMX90V7uOFXwfRb4SUfQlbBF7xrXQ5trzbvVDFNxxXbhTySDybnPvXcnO7Ih3-OU2SoIldy8segU3wGg3OIZjl6p4FNs2t7DMGUhvQBLU8CzL-GppaqBHYPCS8i7/s1600/%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B+-+1.png" height="371" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Ещё одна пэрэмога. Добавил обработку switch</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhHtwy0XVFJH7xPM7cw3MbDhpztEoXM03dWYfC30lSX5UBy9SElKfVttZtcg8ZP-yy9LEiWXD5kkYCXjGcI4ZXOP6rGS7eKb1xrbKAcN0x-_9vOMliUnL8N5m1IC13zebb8FFrK_Ju0oFt/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhHtwy0XVFJH7xPM7cw3MbDhpztEoXM03dWYfC30lSX5UBy9SElKfVttZtcg8ZP-yy9LEiWXD5kkYCXjGcI4ZXOP6rGS7eKb1xrbKAcN0x-_9vOMliUnL8N5m1IC13zebb8FFrK_Ju0oFt/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+10.png" height="340" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
И ещё пэрэмога, всяческие циклы:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJSoXjCzImE93lmXPuMm8pK7FLX6jUbbdRWwFR3tViSlyJm8yR7G5kibAWyfXmxnmnPlw69Rox8xB-tVBS-AXWh0gzYeOwTn_IkEeZBDCvMOowPD5DRXJGddMPZfp4qFzyV7I5dBUPwYp-/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJSoXjCzImE93lmXPuMm8pK7FLX6jUbbdRWwFR3tViSlyJm8yR7G5kibAWyfXmxnmnPlw69Rox8xB-tVBS-AXWh0gzYeOwTn_IkEeZBDCvMOowPD5DRXJGddMPZfp4qFzyV7I5dBUPwYp-/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+12.png" height="320" width="193" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxUHZSQs75-xDRxzk5J5OMHkW6wmRTImkGyXc2t4CScrPrpfMg-clnZvfj8mK0Y-0WaYKKkKlOAP_VqAZanb9h6vm5F0zG9f3CuPYIKkORksmBqINAOeNMhNf8QVLtMo3C5cH9Me-1f2V/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxUHZSQs75-xDRxzk5J5OMHkW6wmRTImkGyXc2t4CScrPrpfMg-clnZvfj8mK0Y-0WaYKKkKlOAP_VqAZanb9h6vm5F0zG9f3CuPYIKkORksmBqINAOeNMhNf8QVLtMo3C5cH9Me-1f2V/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+11.png" height="400" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
30.10.2014 </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Плюс try - catch</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9HNOu4mhALLflNTXCVjFEkL7I4yoa5bJZPMpB_ya314nmum9N9R0qzLgqL0klbF6u-kpwtPWNIMeiM518htZYGFRetQplqOhYJPGk6BMmb6s0LO9CD8BhfI2eSHM0WJIV-EPL1LELKcnx/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9HNOu4mhALLflNTXCVjFEkL7I4yoa5bJZPMpB_ya314nmum9N9R0qzLgqL0klbF6u-kpwtPWNIMeiM518htZYGFRetQplqOhYJPGk6BMmb6s0LO9CD8BhfI2eSHM0WJIV-EPL1LELKcnx/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+13.png" height="320" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Плюс вызов метода, плюс описание метода</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivrzYppuUOUZUVomEiba1VX_4GOPIaPdYJTMyw6qcshJunrmBwUkgTqRor5xc09XcNmkmUW2e74xWKd6FxpzVlPDwDOn2LGfV25tJToo4Ib8qdoBZQmWmnCETEv25-ylLM-hCCDn3AzfRJ/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivrzYppuUOUZUVomEiba1VX_4GOPIaPdYJTMyw6qcshJunrmBwUkgTqRor5xc09XcNmkmUW2e74xWKd6FxpzVlPDwDOn2LGfV25tJToo4Ib8qdoBZQmWmnCETEv25-ylLM-hCCDn3AzfRJ/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+14.png" height="400" width="387" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
05.11.2014 </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Подзадолбался немного со switch-case. Например, два case на один шампур насаживал целый день(с перерывами на жизнь), </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEissj_GDmzDu55-UMwHOvfKuLADaHz-SDwRGaTxX3hFbzPtySpE92b-hdzaBfSZ5AYOWTIamJU6h6ZuvYcdxJXN_Uh9BnCGbqqbEiC9RGVNqJCF8PAfvcjwOzf3-uRfr2wTZ_l951-0t8-1/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEissj_GDmzDu55-UMwHOvfKuLADaHz-SDwRGaTxX3hFbzPtySpE92b-hdzaBfSZ5AYOWTIamJU6h6ZuvYcdxJXN_Uh9BnCGbqqbEiC9RGVNqJCF8PAfvcjwOzf3-uRfr2wTZ_l951-0t8-1/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+16.png" height="230" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
там немного путанная логика получилась, а визуализировать её не могу, потому что для этого сначала нужно оформить аспекты. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
12.11.2014 </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
А вот не буду я наверное делать ни реверс ни кодогенерацию для вложенных классов. Во-первых, не совсем понятно как их правильно рисовать, то что выходит, не очень красиво и читаемо</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_XRd_mMvOv5zJQ-ehrtfK9-DqrNuTKJdLPaOMqEqVUIScFxG3xqLCkHMiYrJYdyGQ2EHHGokL4XHqYtLBcWoK2P-ietMj-11msgFsjYe-eI3XTQa32j5lYnB1goT_BGp3jjWxrGBnlD0/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3.%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_XRd_mMvOv5zJQ-ehrtfK9-DqrNuTKJdLPaOMqEqVUIScFxG3xqLCkHMiYrJYdyGQ2EHHGokL4XHqYtLBcWoK2P-ietMj-11msgFsjYe-eI3XTQa32j5lYnB1goT_BGp3jjWxrGBnlD0/s400/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3.%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B+-+1.png" width="225" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
а во-вторых, оно мне не нужно(пока). Так что, увы, в этом вопросе можно констатировать поражение. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Временно ограничимся простыми ситуациями. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2efbf79FtkqDPY3HXjJxYp7cDl-86Z2qcIpncrx3G_JL9IyEE0IFRLC_tOHbZaHguvKozWvzGZUSOagwL8_H1Wtii6_FwYJaefl3MZ9vsjqU_pAewRdQ4FiILaV9F-1fSlyIzn5q5PGQI/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3.%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2efbf79FtkqDPY3HXjJxYp7cDl-86Z2qcIpncrx3G_JL9IyEE0IFRLC_tOHbZaHguvKozWvzGZUSOagwL8_H1Wtii6_FwYJaefl3MZ9vsjqU_pAewRdQ4FiILaV9F-1fSlyIzn5q5PGQI/s400/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3.%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B+-+2.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
14.11.2014 </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Всё. С реверсом покончил.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-36644194165353412092014-10-23T23:04:00.003-07:002014-10-29T03:38:46.415-07:00Текучее положение тел<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
24.10.2014<br />
<br />
Продолжаю заниматься реверсом. Медленно но дело движется.<br />
Почти всё хорошо с иконами "Вопрос"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhatKAflvhpoiYS5RxZnBDJoPhG9YROh2Q_nhDf9wVz_RCQ54BKRXZ5up_L31T53l6Ijjv5Pzbjvv8ULVstazNaUWrhjugAX5xwgc6F9Fds2YwF1dlnlWEbhYqNNEDlIm6u6BqEixf2pZgR/s1600/%D0%98%D1%84%D1%8B+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhatKAflvhpoiYS5RxZnBDJoPhG9YROh2Q_nhDf9wVz_RCQ54BKRXZ5up_L31T53l6Ijjv5Pzbjvv8ULVstazNaUWrhjugAX5xwgc6F9Fds2YwF1dlnlWEbhYqNNEDlIm6u6BqEixf2pZgR/s1600/%D0%98%D1%84%D1%8B+-+1.png" height="305" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: left;">
И даже ветки меняются местами. Всегда ветка "Да" идет вниз, но когда в "Нет" - пусто, то переставляем ветки местами, чтобы избежать двойных поворотов пустых проволок.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZX74EWaDu7BweVz0WMelQD9IQreGRlnmXFVvkZiwACYSdaFd1ybP3As4xdcCVXnvpCmaVGw49phlVFKPvbB_KogoT0F6XN65PvypnSmbHBmu7sXEaJ3ezIrYKktJmAAY6s8QC8zG3IS9z/s1600/%D0%98%D1%84%D1%8B+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZX74EWaDu7BweVz0WMelQD9IQreGRlnmXFVvkZiwACYSdaFd1ybP3As4xdcCVXnvpCmaVGw49phlVFKPvbB_KogoT0F6XN65PvypnSmbHBmu7sXEaJ3ezIrYKktJmAAY6s8QC8zG3IS9z/s1600/%D0%98%D1%84%D1%8B+-+2.png" height="400" width="333" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Буду считать реверс законченным, когда сам механизм реверсинжениринга будет запускаться из своей кодограммы. Пока до этого далеко. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Пошел на организационный риск. Попытался поговорить с одним из самых понимающих топов, объяснить, чем занимаюсь во время простоев между проектами, потому что правда всё равно рано или поздно всплывет и лучше управлять этим процессом. Может от этого разговора выйдет польза, но скорее всего только вред. Топы они такие топы, даже самые понимающие, даже не из числа "эффэктивных мэнэджэров". Вроде как бы понял. Вроде как бы увиденное понравилось, но сколько я не убеждал, что ни какой практической выгоды из этой работы выйти не может, всё равно было очевидно, что в голове у него застрал вопрос - как из этого извлечь прибыль. В общем, ладно. К жизни, эти организационные дела не относятся(они относятся к её имитации :)). </div>
<br />
Продолжаю безумствовать, в том смысле что новые идеи появляются. Что если управлять процессами кодогенерации из самих кодограмм. Т.е. не делать пользовательского интерфейса в привчном виде, а оставаться в пределах верхнего, графического уровня. Вроде бы этому ничего не мешает и в принципе, сейчас так и происходит. Но нужно расширять граф-язык.<br />
<br />
С коментами в используемом ASTParser Java 1.5 подстава. Приходится искать обходные пути <a href="https://code.google.com/p/javaparser/issues/detail?id=9" target="_blank">ссылка</a><br />
<br />
Нашел небольшую ошибочку в japa.parser.ASTParser. Нужно проверять comments на null<br />
<br />
<br />
In japa.parser.ASTParser class you need to check comments on null.<br />
<br />
void reset(InputStream in, String encoding) {<br />
ReInit(in, encoding);<br />
//token_source.clearComments();<br />
if(comments != null) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>comments.clear();<br />
}<br />
}<br />
<div>
<br /></div>
<br />
<br />
<br />
<div class="separator" style="clear: both;">
Ещё немного в реверсе продвинулся. Разобрался с коментариями. Сделал реврсинжениринг Драконгену, Можно сравнить, как выглядит рукописный и автоматически воссозданный ваианты.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsPl5JJmidpMtGMvM-COjCHQ9SUgA9_g9l_xqEMAonJraWrkBWIoYGDy5HuCGHQNOHyQi9HUV7g1JQBr8rIsOG4qLpnEMeyNqVLDJ9hZvaHFFrRaRp3KUILihGRiQOPZSlo5_ek_9Bd6Ye/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsPl5JJmidpMtGMvM-COjCHQ9SUgA9_g9l_xqEMAonJraWrkBWIoYGDy5HuCGHQNOHyQi9HUV7g1JQBr8rIsOG4qLpnEMeyNqVLDJ9hZvaHFFrRaRp3KUILihGRiQOPZSlo5_ek_9Bd6Ye/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+9.png" height="387" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
это фрагмент рукописной кодограммы DrakonGen_а</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrUEWQwAn7hyHPOG1dm9RW9wCaBXs8_y6-K-q5aYP_und3FcEunLCwndlOlchIy1gu1z5yxQ2tVP-5qRaZydMF51fo5baLaRS73ca501UwtqnP-ctgN9UOvszu2K60T7vRxM0PYKkB5OPi/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrUEWQwAn7hyHPOG1dm9RW9wCaBXs8_y6-K-q5aYP_und3FcEunLCwndlOlchIy1gu1z5yxQ2tVP-5qRaZydMF51fo5baLaRS73ca501UwtqnP-ctgN9UOvszu2K60T7vRxM0PYKkB5OPi/s1600/%D0%A0%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B8%D1%80%D0%B8%D0%BD%D0%B3+-+8.png" height="355" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
а это "машинописный" вариант(ничего не подправлялось)</div>
<br />
Пока ещё не все иконы восстановлены правильно, можно поработать с цветом, но в принципе, довольно приемлемо получается кмк.<br />
<div>
<br /></div>
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-1292715290665648902014-10-23T13:30:00.000-07:002016-02-19T21:03:17.750-08:00Спецификация(история изменений)<div dir="ltr" style="text-align: left;" trbidi="on">
<i><span style="color: red;">(обновляется. последнее изменение 20.02.2016, добавлена икона БЛОК КОДА )</span></i><br />
<br />
Пора уже перестать экспериментировать и попытаться зафиксировать
промежуточный результат. Попробовал прикинуть спецификацию элементов
языка и его правил. Спецификация, это конечно громко сказано, но как-то назвать это нужно. :) Итак.<br />
<br />
Спецификация визуального языка Дракон-Джас(предварительное название), первый черновой вариант.<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwY4_eAo5KCv1zp-w_YHawWjdO6B46gleWdq5ThdiaIjqKypk2MjcPpqCwSzZ5DRh4isme9edT65grQu0aM2wczVtrgndn3yj2zfgS4gvxDqKo1FpOBsZ6I8rd3cd9E5GB13rQ0MxYQ-Sn/s1600/%D0%A1%D0%BF%D0%B8%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+%D0%94%D1%80%D0%B0%D0%BA%D0%BE%D0%BD-%D0%94%D0%B6%D0%B0%D1%81%D1%81+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwY4_eAo5KCv1zp-w_YHawWjdO6B46gleWdq5ThdiaIjqKypk2MjcPpqCwSzZ5DRh4isme9edT65grQu0aM2wczVtrgndn3yj2zfgS4gvxDqKo1FpOBsZ6I8rd3cd9E5GB13rQ0MxYQ-Sn/s1600/%D0%A1%D0%BF%D0%B8%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+%D0%94%D1%80%D0%B0%D0%BA%D0%BE%D0%BD-%D0%94%D0%B6%D0%B0%D1%81%D1%81+-+1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
Структурной единицей языка является "Сборка"(аналог "Силуэта" в языке Дракон).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEsI7OCnm-IXffAvjtoOeP7ju3k-QZ5Zri6s-gDcZgv8Dm5N55HE5wI-BAR1QQFxolcg9w4bnw7ZXTwAyvCXwWLxof6fBxMy2rqBLlpVlTPHzKZ7yD2aPZ4EfQJt8tH_nnefrjhu2xdLCr/s1600/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEsI7OCnm-IXffAvjtoOeP7ju3k-QZ5Zri6s-gDcZgv8Dm5N55HE5wI-BAR1QQFxolcg9w4bnw7ZXTwAyvCXwWLxof6fBxMy2rqBLlpVlTPHzKZ7yD2aPZ4EfQJt8tH_nnefrjhu2xdLCr/s1600/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0+-+1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Минимальная сборка состоит из икон "Начало сборки", "Начало процедуры", "Конец процедуры", "Конец сборки"</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAEo4_Usy_dheBX-l-Z2gqA1-5vn1QGrd7eTX6SGBD9zC4-GbYc3KMO0_3gDepUjMRH8-Odcd8IeCX5xlQoE8I51lMQ4YeCNP3NbXNdiNlm7GTNIzweLbkBwvwKr4BpMMOGnp_MfiJteow/s1600/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAEo4_Usy_dheBX-l-Z2gqA1-5vn1QGrd7eTX6SGBD9zC4-GbYc3KMO0_3gDepUjMRH8-Odcd8IeCX5xlQoE8I51lMQ4YeCNP3NbXNdiNlm7GTNIzweLbkBwvwKr4BpMMOGnp_MfiJteow/s1600/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0+-+2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Дракон-Джас является направленным графом.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Правило обхода. Обход совершается сверху вниз и слева направо. </div>
<div class="separator" style="clear: both; text-align: left;">
Правило контура. Все контуры, образуемые ветвлением в иконах "Вопрос" и "Переключатель" должны заканчиваться в соответствующем каждой из икон терминаторе.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7QCqeSejKdIDWzWIKCdzMzDgFs14wjIn8PhW1sOhWiacduea1GhSynhqYMLn7Z6MbhFADK3yk_6jXb2RTHaC_Ksu0Da9hnleavDvxsIwJ-PQG61BwLBwKC8nLk-CLk9C29pwE7pWQKxv0/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7QCqeSejKdIDWzWIKCdzMzDgFs14wjIn8PhW1sOhWiacduea1GhSynhqYMLn7Z6MbhFADK3yk_6jXb2RTHaC_Ksu0Da9hnleavDvxsIwJ-PQG61BwLBwKC8nLk-CLk9C29pwE7pWQKxv0/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Если используется икона "Возврат" или "Возврат с результатом" выходящее из неё ребро должно быть пунктирным и серого цвета(#dfdfdf).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQq0al-5fSffyhaqg4sTlPm_PMPLfRZRs409xbx8lLFrur_uETnW4C1_2A-ER7MTE8dWc5FE9d8WAQegdQ__MTlAUCfFPMT07mDhEYXwq5JDLM02ZobaGPFIMA28nleTD6tfiqNXx2KVoZ/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQq0al-5fSffyhaqg4sTlPm_PMPLfRZRs409xbx8lLFrur_uETnW4C1_2A-ER7MTE8dWc5FE9d8WAQegdQ__MTlAUCfFPMT07mDhEYXwq5JDLM02ZobaGPFIMA28nleTD6tfiqNXx2KVoZ/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+2.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Нельзя убирать "лишние" терминаторы. Например для такой схемки:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQsWcdzYQz255g65A2Zf3_Ry4_bikfYpgMJtLEbbHU9nt0sOc-UCvJxqOLVf3bR_c_11G8hDnNBM0L8XAIPebC83LL_QJmnbfAhouz3o4RY7jr6zu1HkdsKNi3dV_BGH1sNQqJ0VjKeZZ_/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQsWcdzYQz255g65A2Zf3_Ry4_bikfYpgMJtLEbbHU9nt0sOc-UCvJxqOLVf3bR_c_11G8hDnNBM0L8XAIPebC83LL_QJmnbfAhouz3o4RY7jr6zu1HkdsKNi3dV_BGH1sNQqJ0VjKeZZ_/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+3.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
так делать а-та-та! Будет ошибка.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvM35ZGf7XSNioFs7xA_meZoA6OeLTnEc7t8MXsJ8T97wxZYpMhNOlFHOWIWrpzTVkCg1vyhmKY-vcmJwNnikaCdu99sI3KWXB5xGKKSK8a3sZd-xYOR4FAqtmm9S2pcTLJv7bZaJNFvtb/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvM35ZGf7XSNioFs7xA_meZoA6OeLTnEc7t8MXsJ8T97wxZYpMhNOlFHOWIWrpzTVkCg1vyhmKY-vcmJwNnikaCdu99sI3KWXB5xGKKSK8a3sZd-xYOR4FAqtmm9S2pcTLJv7bZaJNFvtb/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+4.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
а так можно. Если просто совместить терминаторы и линии. </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZbFXEPmh8A6tdBlklAgwYLaWL8I3CDsn2kOhpMHoCRStP3lEeq64ZWEdiiob0ujAyxgK-VTRjiCIh8iUrSEhz7JjB3KUPxduCisxy4S3ukexg4chvPKkHZdiynGUjol5WSQ6YCs3Mb1H3/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZbFXEPmh8A6tdBlklAgwYLaWL8I3CDsn2kOhpMHoCRStP3lEeq64ZWEdiiob0ujAyxgK-VTRjiCIh8iUrSEhz7JjB3KUPxduCisxy4S3ukexg4chvPKkHZdiynGUjol5WSQ6YCs3Mb1H3/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+5.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Теперь поименно, поиконно.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Точка сборки"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-_omfv50PMssp9LzVX4b5swp3RMCEjPYDNSMlauMkstYTM2Q6TiqEgMW12jaTbp9lxtrioqhyphenhyphenpCYSEjScrPxRLI5KcO0AE-sRfip1uo3Hc8ZAiocO6YsJa6C_dJgR7Bqzla7uIPNcTp4f/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-_omfv50PMssp9LzVX4b5swp3RMCEjPYDNSMlauMkstYTM2Q6TiqEgMW12jaTbp9lxtrioqhyphenhyphenpCYSEjScrPxRLI5KcO0AE-sRfip1uo3Hc8ZAiocO6YsJa6C_dJgR7Bqzla7uIPNcTp4f/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+1.png" width="360" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Начало сборки"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAssJti2DTj42-zZGfPyQ7s8Bkk9JsCQDsDMAhiptN7nP8fn3gTUrKfK4EuJCD7dngqvA19OSSg2Ulv9pQMga3TYp3rfYzr0ntRvOPKszvZvFG23079TsSvbkxNO883KdQIuG22iMzEQ-8/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAssJti2DTj42-zZGfPyQ7s8Bkk9JsCQDsDMAhiptN7nP8fn3gTUrKfK4EuJCD7dngqvA19OSSg2Ulv9pQMga3TYp3rfYzr0ntRvOPKszvZvFG23079TsSvbkxNO883KdQIuG22iMzEQ-8/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+2.png" width="350" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Запись в файл"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKOB_m8G7ggJmGTCsilLnsI2iwL1Ys4LzohpV5axnbOARy9ryjf7TGGkIyrWyJe12xPzAYBs6l4Q_lXohXXp_C-RWpixOJP0o-zsUo0asI6Dwws4YZOb1tI2X1cLkEC9hMBINTOTjsMdQA/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKOB_m8G7ggJmGTCsilLnsI2iwL1Ys4LzohpV5axnbOARy9ryjf7TGGkIyrWyJe12xPzAYBs6l4Q_lXohXXp_C-RWpixOJP0o-zsUo0asI6Dwws4YZOb1tI2X1cLkEC9hMBINTOTjsMdQA/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+3.png" width="358" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Начало процедуры"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDkCgiRCN0fKI7aL1P-XS7zBAyhwGzaYDb3PeUtLnt5vi8Lq83SxRb6PPGMOL9RJmjzrn7VpvbNW0IUccHYRT1By064MRLYPf9p-GOrm8nXBjcUUhvzHjjQU3rsywsN4g1ssmQojb2jxsd/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDkCgiRCN0fKI7aL1P-XS7zBAyhwGzaYDb3PeUtLnt5vi8Lq83SxRb6PPGMOL9RJmjzrn7VpvbNW0IUccHYRT1By064MRLYPf9p-GOrm8nXBjcUUhvzHjjQU3rsywsN4g1ssmQojb2jxsd/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+4.png" width="322" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Конец сборки"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiILFnNlAEm1w3DIrmwaY4FGBdwbuFckJW_AhNcyr59I1YMj3fyqidwKAPkjB4VLegKtvg1ybOYPv0yq98jvV6Qjtxf5h4JWDzSLBEXWlClOoGoWfXs0w9xAFk6SlVu6wux_LuHyt86lg2V/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiILFnNlAEm1w3DIrmwaY4FGBdwbuFckJW_AhNcyr59I1YMj3fyqidwKAPkjB4VLegKtvg1ybOYPv0yq98jvV6Qjtxf5h4JWDzSLBEXWlClOoGoWfXs0w9xAFk6SlVu6wux_LuHyt86lg2V/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+5.png" width="361" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Действие"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4P6rlF3NrgD8TRHOtq6sqLCxGYKmGjw_LR3xfCs7rlajZPZmTeC-DvUZcnhLKHUNXCN1Y2Gy44kd7onnpkwUTVEKGWz2mYFUfmdi6XdY2jZYjZvnbsAoTzO5-cMw4ouJulM8oPc89nX51/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4P6rlF3NrgD8TRHOtq6sqLCxGYKmGjw_LR3xfCs7rlajZPZmTeC-DvUZcnhLKHUNXCN1Y2Gy44kd7onnpkwUTVEKGWz2mYFUfmdi6XdY2jZYjZvnbsAoTzO5-cMw4ouJulM8oPc89nX51/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+6.png" width="390" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Вопрос"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZvTymV7KwK6rmOqHOQvjIE6XSyx9UeBYhPrPS8GHvLAJUJQqJl7oy-Q8UON92SkQrdH5KNyNKCnlGchdw2vedeE6PhiMgYJ-wt_wq0ekXhSF1SNrhyphenhyphenZvFeO8thc1DbzTTzCN5GnTSvDwE/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZvTymV7KwK6rmOqHOQvjIE6XSyx9UeBYhPrPS8GHvLAJUJQqJl7oy-Q8UON92SkQrdH5KNyNKCnlGchdw2vedeE6PhiMgYJ-wt_wq0ekXhSF1SNrhyphenhyphenZvFeO8thc1DbzTTzCN5GnTSvDwE/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+7.png" width="321" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Переключатель"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGA2KFzjEbBcf2zxfmIcSXkQdb-XiOAHeuPQoIAjdfLEDG5xjTXq_1FVFdj04OrUoS1Y55GyoXbPoUFkamxfoHUnDKbMPkMVYXI9Ml_Jm1SEJyfIHg2BtHQANx3yjDOiO6EqIrCDFHgoed/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGA2KFzjEbBcf2zxfmIcSXkQdb-XiOAHeuPQoIAjdfLEDG5xjTXq_1FVFdj04OrUoS1Y55GyoXbPoUFkamxfoHUnDKbMPkMVYXI9Ml_Jm1SEJyfIHg2BtHQANx3yjDOiO6EqIrCDFHgoed/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+8.png" width="346" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Вариант"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg9-3AwxZGWHcz3-JfB_VJXVoEzk4KwVFtNPq6GIyO3VmMjhFZjFeEH1fOhcMBiz29XSzRitn0xm1jlpOV0nrCYuN7CWdOtmSq1IrQ7akF7lpGtty8_3O6Xx_WhKm4ZG-e9T6X6Smpv5j4/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg9-3AwxZGWHcz3-JfB_VJXVoEzk4KwVFtNPq6GIyO3VmMjhFZjFeEH1fOhcMBiz29XSzRitn0xm1jlpOV0nrCYuN7CWdOtmSq1IrQ7akF7lpGtty8_3O6Xx_WhKm4ZG-e9T6X6Smpv5j4/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+9.png" width="350" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Терминатор"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPY_r8FJMRJmmNV-Uo7mQg1cP3H1GZ3qYsC4BMNfcWIBwqR6Dp4sDBfe8Mg_hQlR50cSBZyMGgKZQLTIELkSQAwRpjPElgwOIAKU5VaiNfUEHzmPX7rj_6W-j7ZBl3YOv-JWtFNlDzwIly/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPY_r8FJMRJmmNV-Uo7mQg1cP3H1GZ3qYsC4BMNfcWIBwqR6Dp4sDBfe8Mg_hQlR50cSBZyMGgKZQLTIELkSQAwRpjPElgwOIAKU5VaiNfUEHzmPX7rj_6W-j7ZBl3YOv-JWtFNlDzwIly/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+10.png" width="325" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Код реализации"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRCmcPgQojy4tCwjFWSFUJVzByuf_GA5bRwn_O5JrFPWcGTLUdM9LCQKgzbb9QgmBSN9FIouBmIZSY9o2v7leu-C5j_-b_RPGt-7OTYQPPAMJxE5g3i_Na0l-B6sdfME2aShyphenhyphenDuR-wSmkb/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRCmcPgQojy4tCwjFWSFUJVzByuf_GA5bRwn_O5JrFPWcGTLUdM9LCQKgzbb9QgmBSN9FIouBmIZSY9o2v7leu-C5j_-b_RPGt-7OTYQPPAMJxE5g3i_Na0l-B6sdfME2aShyphenhyphenDuR-wSmkb/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+11.png" width="387" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Начало цикла", "Конец цикла"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigPoxou69uK17HDV2kHjYYS2xRXVEr0jmOLbTl2zqLNknbF0katJgCnsmla9L4f5vDrhfRuDEZjE_tnknfyNxhjWF7N9P9w731wfM_u0o1phF-Gb7-AYryr-bYmIiKWrX7Kd1IjKktcMj2/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+13-14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigPoxou69uK17HDV2kHjYYS2xRXVEr0jmOLbTl2zqLNknbF0katJgCnsmla9L4f5vDrhfRuDEZjE_tnknfyNxhjWF7N9P9w731wfM_u0o1phF-Gb7-AYryr-bYmIiKWrX7Kd1IjKktcMj2/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+13-14.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Вставка"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzh_LkHh3V3UYXvjQph4GMftBpyc1L1opPrsQsq6AK2ZGlvFl5Eo02uk9Uc_thQgcIZMRwrT8iPy5pbJhlrWleGItFCg6w1Gmo7e5ypCqWrduObwFYLlyYeLygUX-M7u2Uc63SqKQevZYX/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzh_LkHh3V3UYXvjQph4GMftBpyc1L1opPrsQsq6AK2ZGlvFl5Eo02uk9Uc_thQgcIZMRwrT8iPy5pbJhlrWleGItFCg6w1Gmo7e5ypCqWrduObwFYLlyYeLygUX-M7u2Uc63SqKQevZYX/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+15.png" width="387" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Полка"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5nf2Nfugp5I0QodgimZV_44HxXjegxnZ9w4FQ5u_q8WZAtpoYVfI9RGe8ZCWfWczpKmw2uGWwKhtFOi1R9DPf68IJy5KFILyLR1KVgmTtXSzHnC3lE1JLta6SfvUHc9isUkYHnkZjVrO/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5nf2Nfugp5I0QodgimZV_44HxXjegxnZ9w4FQ5u_q8WZAtpoYVfI9RGe8ZCWfWczpKmw2uGWwKhtFOi1R9DPf68IJy5KFILyLR1KVgmTtXSzHnC3lE1JLta6SfvUHc9isUkYHnkZjVrO/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+16.png" width="387" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Присвоение функции"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtflGFmV3cVz4-I5k-d1UFxwWP7PRh-ezRsrJ4SzfNgU11IqLQ-IPejUIoww4Dx6ytQ574UxujaxLH5BGWIz06lIguZHoA2a-UidmTGCMQArqHnv7Pm1IGKfcjBQIzrk_sonImh4RiYdN9/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtflGFmV3cVz4-I5k-d1UFxwWP7PRh-ezRsrJ4SzfNgU11IqLQ-IPejUIoww4Dx6ytQ574UxujaxLH5BGWIz06lIguZHoA2a-UidmTGCMQArqHnv7Pm1IGKfcjBQIzrk_sonImh4RiYdN9/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+17.png" width="387" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Вывод"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO5Bwgd-tJUbp6N0TXbzVTrA57b0ebPFJx79yR8xoHovo6yYHk6_NVVLFMWLiIU3EI5dgpGHdCIGv-nDpzVHaUXdJzNAKW9YzNajV01rA9DVDj75jSxPp2MK9bf_u2_i38OsrVx1mdD9YF/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO5Bwgd-tJUbp6N0TXbzVTrA57b0ebPFJx79yR8xoHovo6yYHk6_NVVLFMWLiIU3EI5dgpGHdCIGv-nDpzVHaUXdJzNAKW9YzNajV01rA9DVDj75jSxPp2MK9bf_u2_i38OsrVx1mdD9YF/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+18.png" width="392" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Конец процедуры"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzIx4wtip4jSMJfM4OEWNYn9N5BzBpYDCJSijyRnX1RGEqWyGdE7xcjFMIH1xr3YytWUMkeAPLR3Pe6du2vg1XYf98F2tOBTCENEyhYDoXN8MRGvKdJnCLWBssnGqYTTLiPiMgUgMK-nOh/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzIx4wtip4jSMJfM4OEWNYn9N5BzBpYDCJSijyRnX1RGEqWyGdE7xcjFMIH1xr3YytWUMkeAPLR3Pe6du2vg1XYf98F2tOBTCENEyhYDoXN8MRGvKdJnCLWBssnGqYTTLiPiMgUgMK-nOh/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+19.png" width="376" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Конец с результатом"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKnx8iMVX9_hp18-0KiUtyjCPvL0mBpzw0pp4vtBuIzkzodHf6hSheZ2bKt9Wz4KgGnvLvcFhOUbfacNS2JYx1VYCZvdjFUv24LlfcSQ3VDOYoV8V-lnTggqByrQUv9LfvT99WZWVYSj6E/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKnx8iMVX9_hp18-0KiUtyjCPvL0mBpzw0pp4vtBuIzkzodHf6hSheZ2bKt9Wz4KgGnvLvcFhOUbfacNS2JYx1VYCZvdjFUv24LlfcSQ3VDOYoV8V-lnTggqByrQUv9LfvT99WZWVYSj6E/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+20.png" width="383" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Возврат"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0G_Hr3v-9p78xa2KndfOOnG4lpKZklZ91iR3vm_hdhTmpUnxUBt_ekwP5n4u23Q4yKl_Qaes9QAdmtgYXUKXKHLS7ndb_EJp5OlkhjWy7UbzyyPTMDJYzOKPoyE6aCZ6YBDOu5IOdQPJm/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0G_Hr3v-9p78xa2KndfOOnG4lpKZklZ91iR3vm_hdhTmpUnxUBt_ekwP5n4u23Q4yKl_Qaes9QAdmtgYXUKXKHLS7ndb_EJp5OlkhjWy7UbzyyPTMDJYzOKPoyE6aCZ6YBDOu5IOdQPJm/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+21.png" width="353" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
"Возврат с результатом"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU-WHvjDNNdw6T0d0qRwvEh3z7OplR4LNB4chPe8eVl5IBm-W-geMpDQ46Q8JseOOqshjaC8Vbp9FmG_3h2IRD6VhXIm_FsgkJRkoIKAc7nGyKfawZQeMdca49AchJtXNGa34rkq4fGp1g/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU-WHvjDNNdw6T0d0qRwvEh3z7OplR4LNB4chPe8eVl5IBm-W-geMpDQ46Q8JseOOqshjaC8Vbp9FmG_3h2IRD6VhXIm_FsgkJRkoIKAc7nGyKfawZQeMdca49AchJtXNGa34rkq4fGp1g/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+22.png" width="351" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 style="text-align: left;">
Правила языка Дракон-Джас.</h3>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Попробуем сформулировать <b>строгие правила выходов </b>из икон. Надо отметить, что выполнение строгих правил не гарантирует того, что сгенеренный код правильно откомпилируется на нижнем уровне. Они только гарантируют, что парсер кодогенератора отработает правильно, т.к. он работает по этим правилам.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Запишем правила в графическом виде, в котором запись получается очень компактной и наглядной. Небесным цветом обозначается икона из которой выходы, а белым все допустимые иконы. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisWNPi3Caj_A94kQrAO3czvtIB7fSQ_okw8IqIra3HOFKWwiF2X9lb76q1CDslIjUpMqtVQuYZrcK7brmM6koxbPcFpCl_rKvVpBowezuaqOocbyGwhXdaSSAKMEriNY0IEUKYj37A11LZ/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%92%D1%8B%D1%85%D0%BE%D0%B4%D0%BE%D0%B2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisWNPi3Caj_A94kQrAO3czvtIB7fSQ_okw8IqIra3HOFKWwiF2X9lb76q1CDslIjUpMqtVQuYZrcK7brmM6koxbPcFpCl_rKvVpBowezuaqOocbyGwhXdaSSAKMEriNY0IEUKYj37A11LZ/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%92%D1%8B%D1%85%D0%BE%D0%B4%D0%BE%D0%B2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Часть икон объединены в группы как однотипные, это очень сильно сокращает количество картинок. Наличие группы в правиле означает - "один из группы". Расшифровка групп иконок:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuB43uzZq2gW_F9ihj13ZHlS3AsSnjTYTlnP2P6Do58uJajVM4QPrRxXnxH1GFU5G8eZc08D6ul1JkTZ-HtG7gUtzBz0_xVmVTlc56HtTRLieqlCspDt8XtHgRP27LMBQ7ihA9ebJopHeR/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B0+%D0%B3%D1%80%D1%83%D0%BF%D0%BF.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuB43uzZq2gW_F9ihj13ZHlS3AsSnjTYTlnP2P6Do58uJajVM4QPrRxXnxH1GFU5G8eZc08D6ul1JkTZ-HtG7gUtzBz0_xVmVTlc56HtTRLieqlCspDt8XtHgRP27LMBQ7ihA9ebJopHeR/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B0+%D0%B3%D1%80%D1%83%D0%BF%D0%BF.png" width="248" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLaBqnkClgc4OoCHyY78NtkCByYXpXEEHhq2NRlm3jwhxYsUVgDUfF5tP27LjEpjkOaj8fat4YHXzWmzOChttoJqvkEX2rm4vGDfPEkzrYEzPTNqqqevgd8VdwqjB8e_ETuJalzT7LQz6U/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+A.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLaBqnkClgc4OoCHyY78NtkCByYXpXEEHhq2NRlm3jwhxYsUVgDUfF5tP27LjEpjkOaj8fat4YHXzWmzOChttoJqvkEX2rm4vGDfPEkzrYEzPTNqqqevgd8VdwqjB8e_ETuJalzT7LQz6U/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+A.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOLl3Cem4vGNFmWGt7DykfUykUzs-p3ShuIwivW7qNCIAXvOCSW1MPf5L6CaZuFUPgvbH34Vgt6rrxk1z9M7l1pAySmpRMqV6F1HeGjwCXbNuq1Y6R_nDaEBtY79YLKPrLF-jUfpFwX6Mz/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOLl3Cem4vGNFmWGt7DykfUykUzs-p3ShuIwivW7qNCIAXvOCSW1MPf5L6CaZuFUPgvbH34Vgt6rrxk1z9M7l1pAySmpRMqV6F1HeGjwCXbNuq1Y6R_nDaEBtY79YLKPrLF-jUfpFwX6Mz/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+B.png" width="310" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDWz9lQ4KsukECAZyIU6LXMf8uz4yRFmmN4wqC8YHRIjDgez1OUr898ojQyxLOb_Ux1pKNxSWzDdP1zppSCO2uibCfONwY6sCOy_XQAJ3QnYImLPdQfLQzKanpX2XlXDj5z_sQgRFYqepa/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+C.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDWz9lQ4KsukECAZyIU6LXMf8uz4yRFmmN4wqC8YHRIjDgez1OUr898ojQyxLOb_Ux1pKNxSWzDdP1zppSCO2uibCfONwY6sCOy_XQAJ3QnYImLPdQfLQzKanpX2XlXDj5z_sQgRFYqepa/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+C.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOVtEFhyS8ZEetgfGLP5l1xluCqh_U2Cgmzzgv0-0GbGOJidDDQawiijDvlqxc9oiB3bBdwr3z1811kruA2361j68QK1Kmv1xhBbjaWjRpVbBiebFYsSbQzTTl_J1vCQWYuU9vuBP-KTrt/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+E.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOVtEFhyS8ZEetgfGLP5l1xluCqh_U2Cgmzzgv0-0GbGOJidDDQawiijDvlqxc9oiB3bBdwr3z1811kruA2361j68QK1Kmv1xhBbjaWjRpVbBiebFYsSbQzTTl_J1vCQWYuU9vuBP-KTrt/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+E.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMlUrPywvU3zD2fzJfklqVaHJ5u2ERn5xauHGUFMHh8A63FFjNbga8-9K0jpvqrAiZByk5mWLTn-GAJia64diwGhDEMtoS1-qqFWvre21PYKSDLkDRS33GJ93W9RNsk1EJiv6Y7aswllXD/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+G.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMlUrPywvU3zD2fzJfklqVaHJ5u2ERn5xauHGUFMHh8A63FFjNbga8-9K0jpvqrAiZByk5mWLTn-GAJia64diwGhDEMtoS1-qqFWvre21PYKSDLkDRS33GJ93W9RNsk1EJiv6Y7aswllXD/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+G.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(пока далеко не все)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Из <a href="http://%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B2%D0%BE%D0%B2%D1%81%D0%B5%20%D0%BD%D0%B5%20%D0%BE%D0%B7%D0%BD%D0%B0%D1%87%D0%B0%D0%B5%D1%82%20%D0%B1%D1%83%D0%BA%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5%20%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B5%D0%B9.%20%D0%91%D0%B5%D0%B7%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%20%D0%BD%D1%83%D0%B6%D0%BD%D0%BE%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D1%82%D1%8C%20%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%82%D1%80%D0%BE%D0%B3%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%2C%20%D0%BD%D0%B5%D1%81%D0%BE%D0%B1%D0%BB%D1%8E%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D1%85%2C%20%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D0%B4%D0%B5%D1%82%20%D0%BA%20%D0%BD%D0%B5%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%D1%87%D1%82%D0%BE-%D0%BB%D0%B8%D0%B1%D0%BE%20%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C.%20%D0%9D%D0%B0%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%2C%20%D0%BD%D0%B0%D1%80%D1%83%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%81%D1%82%D1%80%D0%BE%D0%B3%D0%B8%D1%85%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%20%D0%B2%20%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8%20%D0%94%D1%80%D0%B0%D0%BA%D0%BE%D0%BD-%D0%94%D0%B6%D0%B0%D1%81%20%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D0%B4%D0%B5%D1%82%20%D0%BA%20%D0%BE%D1%82%D0%BA%D0%BB%D0%BE%D0%BD%D0%B5%D0%BD%D0%B8%D1%8E%20%D0%BE%D1%82%20%D0%B8%D0%B4%D0%B5%D0%B8%20%D0%B7%D0%B0%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%B2%20%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B5%20%D0%BF%D0%B0%D1%80%D1%81%D0%B5%D1%80%D0%B0%20%D0%B8%20%D0%B2%20%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B5%20%D0%B1%D1%83%D0%B4%D0%B5%D1%82%20%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%20%D0%BD%D0%B5%D0%B2%D0%B5%D1%80%D0%BD%D1%8B%D0%B9%20%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82./" target="_blank">принципа Импровизации</a> следует следующее: выполнение спецификации вовсе не означает буквальное следование ей. Безусловно нужно выполнять только строгие правила, несоблюдение которых, приведет к невозможности что-либо делать. Нарушение строгих правил в спецификации Дракон-Джас приведет к отклонению от идеи заложенной в алгоритме парсера и в результате будет получен неверный результат.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
***</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Ещё подумалось, что самое интересное это вовсе не спецификация, не правила визуального языка, а <b>принципы на которых строится работа с ним. </b> Как можно их загнать в спецификацию языка я не знаю. Хотя..., почему не знаю? Знаю. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Нужно писать спецификацию не на язык а на систему Дракон-Джаз в состав которой входит язык Дракон-Джас, как небольшая и не самая важная её часть. Как-то так.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
11.10.2014 Выкинул иконы ПОЛКА и ВОЗВРАТ ФУНКЦИИ за полной их ненадобностью и составного характера. Тем более они с успехом заменяются на две иконы ДЕЙСТВИЕ.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
12.10.2014 Добавил проверку правил Сборка-1, Сборка-2, Действие. Получились такие своеобразные UnitTests.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Правила</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEyTScbH-Nc3ss0cWKxt6ipMROFfOwHK4LSFLjshuIIUetTT2MvsT85DGtN4ZWLqg1Vh8GyAUAbMzRs9JexPX2N4XtG2q5WJsI_FnIBd0lNzKYsVh4IjjdvVHlk2rxwFlYr1kopieoUcc7/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-1+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEyTScbH-Nc3ss0cWKxt6ipMROFfOwHK4LSFLjshuIIUetTT2MvsT85DGtN4ZWLqg1Vh8GyAUAbMzRs9JexPX2N4XtG2q5WJsI_FnIBd0lNzKYsVh4IjjdvVHlk2rxwFlYr1kopieoUcc7/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-1+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Проверка </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2RCyGQdc846oCTEnhtIylwqupdhbsNeULYR7r-dXGl3pHBoOKtCuLfJwYlmeGrQ9IN26sKf9nG47NrAyoU25dSWQt93F9NyAGR6tU1jACs2RRPWNOeE7lfuirfJ9wtH36_B99TpG0hGv/s1600/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-1+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2RCyGQdc846oCTEnhtIylwqupdhbsNeULYR7r-dXGl3pHBoOKtCuLfJwYlmeGrQ9IN26sKf9nG47NrAyoU25dSWQt93F9NyAGR6tU1jACs2RRPWNOeE7lfuirfJ9wtH36_B99TpG0hGv/s1600/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-1+%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-2.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Правило </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYfgJSg0lSRnpZhSZK8EcWPz_RC7Gqq09KKEUNuztMPPTTw8zt0fUXenMkxuEgy24VVDA4ePr1QviC0iYBNg6nKLLFhQj8QqdKjh907JF-x5w_Z5yPIpZQNnou3m5FxyMfd9MCydXwRHmN/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYfgJSg0lSRnpZhSZK8EcWPz_RC7Gqq09KKEUNuztMPPTTw8zt0fUXenMkxuEgy24VVDA4ePr1QviC0iYBNg6nKLLFhQj8QqdKjh907JF-x5w_Z5yPIpZQNnou3m5FxyMfd9MCydXwRHmN/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Проверка "правила Действие"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRKJ77xM7gltNZXmNmq4dBPkYbqcXl5mALCzIBVFgEhKwsVpqxSCtvOav2hjRpD8zE8EX9SLtG6LIx1HznWs1o0npF0fQCtjO1hvCR_OZ2hKKSbymkAZbvHCHfvmGzjD2W3s3RaxAk2JiT/s1600/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRKJ77xM7gltNZXmNmq4dBPkYbqcXl5mALCzIBVFgEhKwsVpqxSCtvOav2hjRpD8zE8EX9SLtG6LIx1HznWs1o0npF0fQCtjO1hvCR_OZ2hKKSbymkAZbvHCHfvmGzjD2W3s3RaxAk2JiT/s1600/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5.png" width="395" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
23.04.2014 Добавил новую структура для для Сборки</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEgqnLOLGcUw9n72hKBR6v5FAHuydHoFQi0d5ZIlxIaphc38UkTmZWcOv2eMwf8X0Dco9jUxK7IhXGcqFfsXuW3bC4fxFankWWSyluR1NASZfO96-FNioV1vVsy5ayVyrdUOa9wZGSoaKJ/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F+%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEgqnLOLGcUw9n72hKBR6v5FAHuydHoFQi0d5ZIlxIaphc38UkTmZWcOv2eMwf8X0Dco9jUxK7IhXGcqFfsXuW3bC4fxFankWWSyluR1NASZfO96-FNioV1vVsy5ayVyrdUOa9wZGSoaKJ/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F+%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0.png" width="396" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Соответственно добавляется икона "Часть сборки"</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2xVHFb_sDOnkOeIEzH1TT4EHlLj0cg8MDAanCShyphenhyphenXBWDdzDJ9u0M_bK3M_oCNMm3jciwcnFebkbTiWAhO34ZMnzu4F3-c_E6xM_km64bJ99USdKV9ChlRZufeCQU8X6vuSEcOE1mXj8-m/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2xVHFb_sDOnkOeIEzH1TT4EHlLj0cg8MDAanCShyphenhyphenXBWDdzDJ9u0M_bK3M_oCNMm3jciwcnFebkbTiWAhO34ZMnzu4F3-c_E6xM_km64bJ99USdKV9ChlRZufeCQU8X6vuSEcOE1mXj8-m/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8.png" width="278" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Добавляется соответствующее строгое правило</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNI12Dl3pgM7shcMo1z2Qmt2ty5YKHF09-z34sxqpd-q58m0D40KPtvSCPGz7wffoTCoyVPl7CEPupxY1XAhm6_1-L5d6sy6e5rNLMH6Zcfg125AP6cwNMbIZahYkKIPZdNj0K5mdlY_I4/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNI12Dl3pgM7shcMo1z2Qmt2ty5YKHF09-z34sxqpd-q58m0D40KPtvSCPGz7wffoTCoyVPl7CEPupxY1XAhm6_1-L5d6sy6e5rNLMH6Zcfg125AP6cwNMbIZahYkKIPZdNj0K5mdlY_I4/s1600/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+-+%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
А ёще нужно модифицировать некоторые старые строгие правила: "Правило Сборки-1"</div>
<div class="separator" style="clear: both; text-align: left;">
и "Правило Сборки-2"</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 style="text-align: left;">
Правило Прямоугольников</h3>
<div class="separator" style="clear: both; text-align: left;">
Силуэты на кодограмме нужно размещать так, чтобы их можно было обвести прямоугольником не задевающим другие силуэты. Это не строгое правило.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Здесь "Правило Прямоугольников" соблюдается.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWaeOrwPX97VMnfC-VtQ2_-NbZ-k-K2fDoot3y82pZv_9WM8s7W8pLOcReIqhuTPIelByi7ZRyYVhA8bOxxMJWyxyagzyPzYjq-sHz0Xm3gShfTYsLQjSSkF2ARquJnAGcUT7WbguiAMY3/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BE%D0%B2+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWaeOrwPX97VMnfC-VtQ2_-NbZ-k-K2fDoot3y82pZv_9WM8s7W8pLOcReIqhuTPIelByi7ZRyYVhA8bOxxMJWyxyagzyPzYjq-sHz0Xm3gShfTYsLQjSSkF2ARquJnAGcUT7WbguiAMY3/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BE%D0%B2+-+1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
а здесь нарушено</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdJpCoS-k3WuEw5tVyyX-16U-wENQNg_Q2j132UYToSWDoPOCwHixTPQqaxEHAmwqdWGzKNNJvqlXDgsVQg9ARz-6DXyfOYNlpXLlNRBdCl3R5_ffpTJNVv16pVd9eh-K2RloSVuRq-2wR/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BE%D0%B2+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdJpCoS-k3WuEw5tVyyX-16U-wENQNg_Q2j132UYToSWDoPOCwHixTPQqaxEHAmwqdWGzKNNJvqlXDgsVQg9ARz-6DXyfOYNlpXLlNRBdCl3R5_ffpTJNVv16pVd9eh-K2RloSVuRq-2wR/s1600/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE+%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BE%D0%B2+-+2.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
20.02.2016</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Добавил икону "Блок кода". Эта икона содержит часть текста с кодом, который напрямую вставляется в выходной файл. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZk6hn60Ru0TCi-Wa31AWMTYulw_yDDuUvcC9MedHoiz16aq159KV27yMjTtotFX_qVSMQs2FgnU-aUxhlwWyQ_rkxKXuEDewX8XW8QyrM5ctQkyJ6Or2eyiw46zYWWyvG2T1wPkeiXBY/s1600/%25D0%25B1%25D0%25BB%25D0%25BE%25D0%25BA+%25D0%25BA%25D0%25BE%25D0%25B4%25D0%25B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZk6hn60Ru0TCi-Wa31AWMTYulw_yDDuUvcC9MedHoiz16aq159KV27yMjTtotFX_qVSMQs2FgnU-aUxhlwWyQ_rkxKXuEDewX8XW8QyrM5ctQkyJ6Or2eyiw46zYWWyvG2T1wPkeiXBY/s320/%25D0%25B1%25D0%25BB%25D0%25BE%25D0%25BA+%25D0%25BA%25D0%25BE%25D0%25B4%25D0%25B0.png" width="214" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-70831642857436620162014-10-18T04:06:00.000-07:002014-10-28T22:02:40.298-07:00Превратим недостатки в достоинства<div dir="ltr" style="text-align: left;" trbidi="on">
(26.10.2014)<br />
<br />
<br />
Казалось бы, разделение работы с визуальной компонентой и кодом является большим недостатком рассматриваемого подхода, да так оно, в общем-то, и есть, спорить не будем. Но... но с другой стороны, в этом можно найти большие достоинства. Например рассморим алгоритм "Замена маркированного кода". Постановка задачи может быть выполнена в произвольном формате.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzR72BxocO4kbJWeyZfBu55erAHQvLEKP7ymlQJPRxlqxWFCz0f1gjA5VG3jqq90Wcz_sL_SeLSaIfR87gZs6QEVBywcst4u5PrpJw08tnaV44MeabpIvFwBOqQpq2zpYD-0rrU4pflj38/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzR72BxocO4kbJWeyZfBu55erAHQvLEKP7ymlQJPRxlqxWFCz0f1gjA5VG3jqq90Wcz_sL_SeLSaIfR87gZs6QEVBywcst4u5PrpJw08tnaV44MeabpIvFwBOqQpq2zpYD-0rrU4pflj38/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-0.png" height="400" width="301" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
В визуальной среде и формулируется задача и приводится её решение.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br /><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG59wbLLoDkjWGNp2NXlY__P9GZSCLXmRR8Od-e9LY0sdiEFlFLUA1Vyc067cyukMpyler84woYXoHzk09HRhCFvteGEq6psGT6cX9321GEd5xz-9qBDXJ4-SnnqUqqr5Nppm67la_jVoC/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG59wbLLoDkjWGNp2NXlY__P9GZSCLXmRR8Od-e9LY0sdiEFlFLUA1Vyc067cyukMpyler84woYXoHzk09HRhCFvteGEq6psGT6cX9321GEd5xz-9qBDXJ4-SnnqUqqr5Nppm67la_jVoC/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-1.png" height="213" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Постановка задачи</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-zkAvTArBXdiLhjgZ3pAuhFcUhCEIEBOpFuGrlHu-NBPYt3yX5O32Lz44cIg-X9UopferOVm-6sgucCBPLY-0OsdQU8mB2FSxy7DjjH9LUadl0gHC66Wfobs9llvgImenpFArCqt2-fIg/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-zkAvTArBXdiLhjgZ3pAuhFcUhCEIEBOpFuGrlHu-NBPYt3yX5O32Lz44cIg-X9UopferOVm-6sgucCBPLY-0OsdQU8mB2FSxy7DjjH9LUadl0gHC66Wfobs9llvgImenpFArCqt2-fIg/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-2.png" height="326" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Решение с объяснением</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Причём, т.к. это кодограмма, то фактически это не только алгоритмическое решение, но и вариант реализации (в частности на Java). </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Эх, гулять, так гулять. Вот взял и вставил всю эту красоту прямо в сборку.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9VOg3KHesM0nd5EmmYYEVYUtdMaam4F8qTWDAttrUcjwacObNtV1SRdxotqUbLHh7r48OMbovUYHvUrwXsiYAipZ69wREycNQBZrKlhWfIyWtAvbQ5E98zNZNup0auWIRu9ZFqMMS3L41/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9VOg3KHesM0nd5EmmYYEVYUtdMaam4F8qTWDAttrUcjwacObNtV1SRdxotqUbLHh7r48OMbovUYHvUrwXsiYAipZ69wREycNQBZrKlhWfIyWtAvbQ5E98zNZNup0auWIRu9ZFqMMS3L41/s1600/%D0%9D%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8+%D1%8D%D1%82%D0%BE+%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B0+-3.png" height="177" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Не знаю как вам, а мне очень удобно и эстетически приятно так работать. Скептики же могут продолжать стирать кончики пальцев о клавиатуру забивая километровые тексты программ в свои замечательные IDE. :) Шутка. Мне тоже приходится их забивать, при этом ещё выполнять двойную работу, так что, казалось бы, мне должно быть гораздо хуже, но почему-то это не так. :)</div>
<br />
22.10.2014 Мне на заметку. Картинка над которой будет интересно поразмыслить на досуге<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAA9rVR4NoH1at9B-5MBQ43tX4qDA3kXD0oej1paUWbfZ0Tpc97kWC7Xeb3wpgpwuI6zKjCVO0R3FRr2x6Z9DhrM-ehLgqe7ISeRWKwsNSXhO-VwKzvDaZ34-m1Wmf-2-1Mye1BDAicgT8/s1600/001+ev.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAA9rVR4NoH1at9B-5MBQ43tX4qDA3kXD0oej1paUWbfZ0Tpc97kWC7Xeb3wpgpwuI6zKjCVO0R3FRr2x6Z9DhrM-ehLgqe7ISeRWKwsNSXhO-VwKzvDaZ34-m1Wmf-2-1Mye1BDAicgT8/s1600/001+ev.gif" height="186" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Гены, кодирующие белок</div>
<br />
<a href="http://humbio.ru/humbio/molevol/000ef696.htm" target="_blank">из этой статьи</a><br />
<br />
26.10.2014 Еще одна "фишка" - маленький рисунок в кодограммк ДраконГена, помогает быстро понять какую часть силуэта обрабатывает данная часть кода.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7SCYZHvFWSdCoES11z-Nj5okrGYUcPJZVFtV6unrmYJ444CHNws8cq_7uJ3n3Yfeh4BWlLeKHYrjuhsQGj40VXxrC13PRaluw9qhorQf1gUXiP6VatAUjANjqB4hzcoDkksEPTmvn7iYK/s1600/%D0%A1%D0%B8%D0%BB%D1%83%D1%8D%D1%82%D0%B8%D0%BA+-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7SCYZHvFWSdCoES11z-Nj5okrGYUcPJZVFtV6unrmYJ444CHNws8cq_7uJ3n3Yfeh4BWlLeKHYrjuhsQGj40VXxrC13PRaluw9qhorQf1gUXiP6VatAUjANjqB4hzcoDkksEPTmvn7iYK/s1600/%D0%A1%D0%B8%D0%BB%D1%83%D1%8D%D1%82%D0%B8%D0%BA+-1.png" height="400" width="383" /></a></div>
<br />
<br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-24872782491574007612014-10-17T21:01:00.002-07:002014-10-28T22:03:11.392-07:00Ещё кое-какие импровизации<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Экран. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Это полупрозрачный прямоугольник со скругленными углами, который накладывается поверх законченного фрагмента кодограммы. При клике мышкой в область экрана выделится он, а не иконки расположенные ниже. Если честно, то не больно-то и нужна эта защита, но прикольно:). Второе и более важное предназначение Экрана - выделение цветом областей, отвечающих за одну и ту же функциональность.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Например, здесь выделены две области из разных классов относящиеся к реверскодингу.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij0fTGlJ-g9l9AhEYLgsaJs0qmdwviqfjtM1SdGyLXuqFHctxOVY_RzDyt7jPqDsTzeI7QUoU-rphjtG4w3KC-JH_uQAsSISYNj-EJuX-KynhsG4YcH9GmoIsAQKg1nUAMG0lE9ojBpH5A/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij0fTGlJ-g9l9AhEYLgsaJs0qmdwviqfjtM1SdGyLXuqFHctxOVY_RzDyt7jPqDsTzeI7QUoU-rphjtG4w3KC-JH_uQAsSISYNj-EJuX-KynhsG4YcH9GmoIsAQKg1nUAMG0lE9ojBpH5A/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-1.png" height="295" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: left;">
для сравнения та же область кодограммы без Экранов. Картинка гораздо скучнее и менее читаема.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhImQ4Zvtm8xSN6Ni0X1oodhwYJ_WqjlLNwpaSPqdue9uUgYUGCYsVfoF9qeqjU5vIduWO4niJz5QYPA7wAwzIxAxrzfgVuUnSc6uR5Ij7tgocG3_d3MLBe7y9mw6yfU3UCsizIyq6Ayzp9/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhImQ4Zvtm8xSN6Ni0X1oodhwYJ_WqjlLNwpaSPqdue9uUgYUGCYsVfoF9qeqjU5vIduWO4niJz5QYPA7wAwzIxAxrzfgVuUnSc6uR5Ij7tgocG3_d3MLBe7y9mw6yfU3UCsizIyq6Ayzp9/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-2.png" height="291" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
А если ещё взять за правило подписывать эти экранные области, указывая тем самым функциональность, к которой они относятся, так и вовсе полезная штука выходит.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Hz29I5Av6ySWBrb5F6VGkhimWDwwDFXnq258iHh4OuRjxF1P-nnPYP300yozBLpUmudqG49hiz8ubp0x6Vda4xEqXKAzjWzClCdgappB_4xbURXdY1r2Zzte4cGVemBdmipSS_9IcYza/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Hz29I5Av6ySWBrb5F6VGkhimWDwwDFXnq258iHh4OuRjxF1P-nnPYP300yozBLpUmudqG49hiz8ubp0x6Vda4xEqXKAzjWzClCdgappB_4xbURXdY1r2Zzte4cGVemBdmipSS_9IcYza/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-+3.png" height="320" width="295" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both;">
Обработка исключений(Exceptions). </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Пока обозначил обработку исключений как на рисунке внизу. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtgLmwiYosaniuQHM3vKIkGJ_ol1g6n9qXlmItGfDsxzfTSX5_n1sAfOatgWmOd77PJPW9TKYkrKLyBgSL99K1dB9e2n_V8FR79hvJ2X6UQn7TsjWXZ-22JsrMm7AOWjcxO3VlLeMuccwZ/s1600/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0+%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtgLmwiYosaniuQHM3vKIkGJ_ol1g6n9qXlmItGfDsxzfTSX5_n1sAfOatgWmOd77PJPW9TKYkrKLyBgSL99K1dB9e2n_V8FR79hvJ2X6UQn7TsjWXZ-22JsrMm7AOWjcxO3VlLeMuccwZ/s1600/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0+%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B9.png" height="400" width="216" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
В принципе, картину не портят, и не слишком нарушают <a href="http://erv-program.blogspot.ru/2014/10/blog-post_6.html" target="_blank">принцип красоты</a>, но зато сильно нарушают <a href="http://erv-program.blogspot.ru/2014/09/blog-post_30.html" target="_blank">принцип алгоритмической инвариантности</a>, т.к. если этот же алгоритм реализовать на языке не обрабатывающем исключения, то это лишние, бесполезные, а значит, мешающие, вредные иконы. Даже пока не знаю как с этим быть, налицо противоречие философического плана... Для одной реальности - надо изображать, для другой не надо. В общем, оставим пока на откуп жизни, "<i>пусть жизнь рассудит, пусть жизнь накажет</i>"</div>
<div>
<br /></div>
</div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-43526788330149844122014-10-17T02:39:00.000-07:002014-12-01T22:40:37.891-08:00Интересные ссылки по теме...<div dir="ltr" style="text-align: left;" trbidi="on">
<i><span class="genmed">(обновляется)</span></i><br />
<br />
<br />
<span class="genmed">"Люди и дела - Краткий биографит-словарь"<br /><a href="http://forum.oberoncore.ru/download/file.php?id=3908">Рисунки A4 БиоГрафитСлов (тестовый, листы колонкой).pdf</a></span><br />
<br />
<br />
<a href="http://www.videoecology.com/" target="_blank">"<span class="rightTextHeader">Видеоэкология - это новое научное направление об экологии визуальной среды и красоте</span>".</a><br />
<br />
<a href="http://forum.oberoncore.ru/viewtopic.php?f=121&t=5227" target="_blank">Визуальная методология алгоритмизации и программирования</a><br />
<br />
<a href="http://www.bourabai.kz/einf/4gl.htm">4GL-Технологии. Основы визуального программирования</a><br />
<br />
<a href="http://dns.uls.cl/~ej/web_Elect_2012/Lect_Elect_2012/AW,.Eclipse.Modeling.Project.A.Domain-Specific.Language.Toolkit.(2009),.1Ed.[0321534077].pdf">A Domain-Specific LanguageToolkitRichard C. Gronback</a><br />
<br />
<br />
<a href="http://www.youtube.com/watch?v=aeCIpNgcVY4">GMF обучающий ролик</a><br />
<h1 style="color: navy; font-family: 'Bookman Old Style', 'Times New Roman', 'Comic Sans MS'; font-size: 22px; text-align: center;">
</h1>
<a href="http://www.youtube.com/watch?v=dbI1r7B-oaY">GMF tutorial video</a><br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-19176001961698888622014-10-09T19:38:00.001-07:002014-10-28T22:09:21.669-07:00Принцип Импровизаци<div dir="ltr" style="text-align: left;" trbidi="on">
<i>(обновлено 26.10.2014)</i><br />
<div style="text-align: right;">
<i><br /></i></div>
<div style="text-align: right;">
<i>"Берите себе столько суверенитета, сколько сможете унести."</i></div>
<div style="text-align: right;">
<i>(ЕБН)</i></div>
<br />
<br />
Выполнение спецификации вовсе не означает буквальное следование ей. Безусловно нужно выполнять только строгие правила, несоблюдение которых, приведет к невозможности что-либо делать. Например, нарушение строгих правил в спецификации Дракон-Джас приведет к отклонению от идеи заложенной в алгоритме парсера и в результате будет получен неверный результат.<br />
<br />
Кроме же соблюдения строгих правил возможно всё, например, полное изменение внешнего вида, цвета, формы икон и линий их связывающих. Главное, чтобы соблюдался <a href="http://erv-program.blogspot.ru/2014/10/blog-post_6.html" target="_blank">принцип Красоты</a>. Например, оказалось вполне удобным и разумным добавление новых не языковых элементов на кодограмму.<br />
<br />
<br />
<a name='more'></a><br /><br />
<span style="text-align: center;">Маленькие изображения служат ориентирами на большой "высоте", а зеленым цветом выделены иконы в которых происходит формирование реального результата. Эти два отклонения от спецификации языка приводят к удобству восприятия.</span><br />
<span style="text-align: center;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSvlcFExpqxsiKnsf_RmKsb3IgiV6xmLXhZjDrTZqWqYr_Lv4D2mxOaUtApYlTefahD68ixj5rWXuBpa31aa0F_jqOtFIXK2ZP9Mdc6q64b2DvhTBUr52bxA20oTMXR2K5hHJbDr4OjPw8/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSvlcFExpqxsiKnsf_RmKsb3IgiV6xmLXhZjDrTZqWqYr_Lv4D2mxOaUtApYlTefahD68ixj5rWXuBpa31aa0F_jqOtFIXK2ZP9Mdc6q64b2DvhTBUr52bxA20oTMXR2K5hHJbDr4OjPw8/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+1.png" height="291" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Вид с высоты "птичьего полёта".</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTCKAXPgoqR2roKNZ9m7NTTnZhKAQkFqimKGUpV91_ulSsCZUkpw6wEpoDC8CmW-_PnkVKsm7Uk2jtHYnNo4yD-fz6ZNBAVJYuIeH0ttZbJxx6z6lOtzALf5R-aG5H4zHrtRxZrsDtnKyN/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTCKAXPgoqR2roKNZ9m7NTTnZhKAQkFqimKGUpV91_ulSsCZUkpw6wEpoDC8CmW-_PnkVKsm7Uk2jtHYnNo4yD-fz6ZNBAVJYuIeH0ttZbJxx6z6lOtzALf5R-aG5H4zHrtRxZrsDtnKyN/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+2.png" height="272" width="320" /></a></div>
<br />
<br />
<b>Импровизация</b> - оставляет нам свободу самовыражения и позволяет соблюдать принцип Красоты в соответствии с нашими внутренними представлениями, но она не должна нарушать строгие правила спецификаций.<br />
<br />
Ещё пример следования Принципу Импровизации:<br />
<br />
Придумал обозначать иконки, которые в разработке, полуцветом. Кажется это очень здорово.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLHOqhjzLvITU0RTZeYy5WVfpKkjeT0A9gte02xS8GsBhcR0QVU5H4nowR8rnu8RuBGvsGT7-ywRdMpRiHWdaxVmx5LTLZaXbo0YxixLKfDNlcbfyRkEF-warptkTGp0pVykumz7UrcYVb/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLHOqhjzLvITU0RTZeYy5WVfpKkjeT0A9gte02xS8GsBhcR0QVU5H4nowR8rnu8RuBGvsGT7-ywRdMpRiHWdaxVmx5LTLZaXbo0YxixLKfDNlcbfyRkEF-warptkTGp0pVykumz7UrcYVb/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+3.png" height="252" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Ещё пример импровизации. Легко и просто можно на время исключить икону из рабочего процесса, например так: Простым смещением и переключением выхода мы на время отключили всю проверку типа.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK2kfP7MtJZnYVBAGTgXxdOhnWLA_FznsMn4sf1e2AzLofB943an22m464d-TH6Vuc8W_bOg96y3YM-HyJ_CLsSFLeZJrblGqDc9xNma30SPg3ZYGIAc84Q8C_t9o4nc-9d_L3iOXn0m9v/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+4+%D0%98%D0%BA%D0%BE%D0%BD%D0%B0+%D0%BD%D0%B5+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK2kfP7MtJZnYVBAGTgXxdOhnWLA_FznsMn4sf1e2AzLofB943an22m464d-TH6Vuc8W_bOg96y3YM-HyJ_CLsSFLeZJrblGqDc9xNma30SPg3ZYGIAc84Q8C_t9o4nc-9d_L3iOXn0m9v/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+4+%D0%98%D0%BA%D0%BE%D0%BD%D0%B0+%D0%BD%D0%B5+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82.png" height="320" width="306" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
можно было бы отключить проверку везде<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyht2j3-CFbsNWTwQT312_utNGMFK0oBJhDsG8QE1MiJ-BHC0LEhT3KkjrmDY95d36_YqjAAb61iq83E9CtyVGi3cpImSIFxcPqCwopUhHdj2ebN9ItphCeIWONdtIpxPQzXoGsqG5NgDk/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+5+%D0%98%D0%BA%D0%BE%D0%BD%D0%B0+%D0%BD%D0%B5+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyht2j3-CFbsNWTwQT312_utNGMFK0oBJhDsG8QE1MiJ-BHC0LEhT3KkjrmDY95d36_YqjAAb61iq83E9CtyVGi3cpImSIFxcPqCwopUhHdj2ebN9ItphCeIWONdtIpxPQzXoGsqG5NgDk/s1600/%D0%98%D0%BC%D0%BF%D1%80%D0%BE%D0%B2%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+-+5+%D0%98%D0%BA%D0%BE%D0%BD%D0%B0+%D0%BD%D0%B5+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82.png" height="240" width="320" /></a></div>
<div class="separator" style="clear: both;">
Экран. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Это полупрозрачный прямоугольник со скругленными углами, который накладывается поверх законченного фрагмента кодограммы. При клике мышкой в область экрана выделится он, а не иконки расположенные ниже. Если честно, то не больно-то и нужна эта защита, но прикольно:). Второе и более важное предназначение Экрана - выделение цветом областей, отвечающих за одну и ту же функциональность.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Например, здесь выделены две области из разных классов относящиеся к реверскодингу.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij0fTGlJ-g9l9AhEYLgsaJs0qmdwviqfjtM1SdGyLXuqFHctxOVY_RzDyt7jPqDsTzeI7QUoU-rphjtG4w3KC-JH_uQAsSISYNj-EJuX-KynhsG4YcH9GmoIsAQKg1nUAMG0lE9ojBpH5A/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij0fTGlJ-g9l9AhEYLgsaJs0qmdwviqfjtM1SdGyLXuqFHctxOVY_RzDyt7jPqDsTzeI7QUoU-rphjtG4w3KC-JH_uQAsSISYNj-EJuX-KynhsG4YcH9GmoIsAQKg1nUAMG0lE9ojBpH5A/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-1.png" height="295" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both;">
для сравнения та же область кодограммы без Экранов. Картинка гораздо скучнее и менее читаема.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhImQ4Zvtm8xSN6Ni0X1oodhwYJ_WqjlLNwpaSPqdue9uUgYUGCYsVfoF9qeqjU5vIduWO4niJz5QYPA7wAwzIxAxrzfgVuUnSc6uR5Ij7tgocG3_d3MLBe7y9mw6yfU3UCsizIyq6Ayzp9/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhImQ4Zvtm8xSN6Ni0X1oodhwYJ_WqjlLNwpaSPqdue9uUgYUGCYsVfoF9qeqjU5vIduWO4niJz5QYPA7wAwzIxAxrzfgVuUnSc6uR5Ij7tgocG3_d3MLBe7y9mw6yfU3UCsizIyq6Ayzp9/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-2.png" height="291" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both;">
А если ещё взять за правило подписывать эти экранные области, указывая тем самым функциональность, к которой они относятся, так и вовсе полезная штука выходит.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Hz29I5Av6ySWBrb5F6VGkhimWDwwDFXnq258iHh4OuRjxF1P-nnPYP300yozBLpUmudqG49hiz8ubp0x6Vda4xEqXKAzjWzClCdgappB_4xbURXdY1r2Zzte4cGVemBdmipSS_9IcYza/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Hz29I5Av6ySWBrb5F6VGkhimWDwwDFXnq258iHh4OuRjxF1P-nnPYP300yozBLpUmudqG49hiz8ubp0x6Vda4xEqXKAzjWzClCdgappB_4xbURXdY1r2Zzte4cGVemBdmipSS_9IcYza/s1600/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5+%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D1%8B+-+3.png" height="320" width="295" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both;">
Обработка исключений(Exceptions). </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Пока обозначил обработку исключений как на рисунке внизу. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtgLmwiYosaniuQHM3vKIkGJ_ol1g6n9qXlmItGfDsxzfTSX5_n1sAfOatgWmOd77PJPW9TKYkrKLyBgSL99K1dB9e2n_V8FR79hvJ2X6UQn7TsjWXZ-22JsrMm7AOWjcxO3VlLeMuccwZ/s1600/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0+%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtgLmwiYosaniuQHM3vKIkGJ_ol1g6n9qXlmItGfDsxzfTSX5_n1sAfOatgWmOd77PJPW9TKYkrKLyBgSL99K1dB9e2n_V8FR79hvJ2X6UQn7TsjWXZ-22JsrMm7AOWjcxO3VlLeMuccwZ/s1600/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0+%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B9.png" height="400" width="216" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
</div>
<br />
<div class="separator" style="-webkit-text-stroke-width: 0px; clear: both; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin: 0px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
В принципе, картину не портят, и не слишком нарушают <a href="http://erv-program.blogspot.ru/2014/10/blog-post_6.html" target="_blank">принцип красоты</a>, но зато сильно нарушают <a href="http://erv-program.blogspot.ru/2014/09/blog-post_30.html" target="_blank">принцип алгоритмической инвариантности</a>, т.к. если этот же алгоритм реализовать на языке не обрабатывающем исключения, то это лишние, бесполезные, а значит, мешающие, вредные иконы. Даже пока не знаю как с этим быть, налицо противоречие философического плана... Для одной реальности - надо изображать, для другой не надо. В общем, оставим пока на откуп жизни, "<i>пусть жизнь рассудит, пусть жизнь накажет</i>"</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
26.10.2014<br />
<br />
Еще одна "фишка" - маленький рисунок в кодограмме ДраконГена, помогает быстро понять какую часть силуэта обрабатывает данная часть кода.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7SCYZHvFWSdCoES11z-Nj5okrGYUcPJZVFtV6unrmYJ444CHNws8cq_7uJ3n3Yfeh4BWlLeKHYrjuhsQGj40VXxrC13PRaluw9qhorQf1gUXiP6VatAUjANjqB4hzcoDkksEPTmvn7iYK/s1600/%D0%A1%D0%B8%D0%BB%D1%83%D1%8D%D1%82%D0%B8%D0%BA+-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7SCYZHvFWSdCoES11z-Nj5okrGYUcPJZVFtV6unrmYJ444CHNws8cq_7uJ3n3Yfeh4BWlLeKHYrjuhsQGj40VXxrC13PRaluw9qhorQf1gUXiP6VatAUjANjqB4hzcoDkksEPTmvn7iYK/s1600/%D0%A1%D0%B8%D0%BB%D1%83%D1%8D%D1%82%D0%B8%D0%BA+-1.png" height="400" width="383" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0tag:blogger.com,1999:blog-934845823972795036.post-53622368881141027972014-10-09T03:22:00.000-07:002014-10-09T09:26:07.994-07:00Критика Дракона<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<a href="http://compiler.su/programmirovanie-bez-programmistov-eto-meditsina-bez-vrachej.php" target="_blank">Критика Дракона содержащая рациональные зерна</a><br />
<br />
Попытался ответить автору - не получилось.<br />
<br />
<i>Интересная критика и во многом обоснованная(если отбросить эмоциональную составляющую), хотя, для людей далёких от профессионального программирования в современном его виде, уверен - непонятная. На сегодняшний день мне видится, что Дракон, в том виде как он описан Владимиром Даниэлевичем, очень хорошо подходит для около аппаратного программирования(конечные автоматы, переходы по состояниям, отсутствие сложных данных). Насколько можно применить Дракон в программировании на языках высокого уровня, для меня лично большой вопрос, пытаюсь найти ответ на него. Структуры кода и данных вовсе не простая и немаловажная вещь, но и в алгоритмах случаются затыки(разумеется, если вы не гениальный программист, как автор сайта, а унылый говнокодер, как я)) ) Как приспособить Дракон к высокоуровневым языкам и возможно ли это в принципе, вот интересный вопрос. Интуитивно чувствую, что есть в Драконе (в каком-то его новом диалекте) потенциал полезности.)) </i><br />
<i><br /></i>
<i>А просто критиковать... смысла мало. Как говорил один мой знакомый шизофреник: "Критикуя - предлагай, предлагая - делай")))</i><br />
<br />
<br />
<br /></div>
Romanhttp://www.blogger.com/profile/00782225886743677979noreply@blogger.com0