У гэтым аглядзе ВПЗ зробім спробу развеяць павярхоўныя і несур'ёзныя адносіны да PyPy - хуткаснай рэалізацыі інтэрпрэтатара моў высокага ўзроўню. Таксама адзначым: новы рэдактар карт для геасэрвісу OpenStreetMap, новыя мастацкія і практычныя моманты ў 3D-рэдактары Blender і новыя прыемнасці ў графічнай абалонцы phpMyAdmin для баз дадзеных.
PyPy 2.0
Да вольнага праекту PyPy ў шматлікіх аматарў кампутарных тэхналогій да гэтага часу маецца нейкае жартаўлівае стаўленне. Мабыць, гэта з-за несур'ёзнай, на першы погляд, мэты распрацоўшчыкаў праекта напісаць на мове Python інтэрпрэтатар самой гэтай жа мовы Python. Таму, магчыма, многія лічаць, быццам PyPy - гэта проста такая хітрая хакерская штучка дзеля дэманстрацыі сваіх праграмісцкіх ўменняў.
Аднак PyPy - гэта сур'ёзная праца, якая развіваецца не адзін год, і якая мае як практычную, так і тэарэтычную каштоўнасць. На мінулым тыдні выйшла версія 2.0 гэтага праекта, і даўно пара пазбавіцца ад легкадумных адносін да PyPy.
Высокаўзроўневая мова праграмавання Python атрымала шырокае распаўсюджанне. Яна выкарыстоўваецца як ўбудаваная мова для прыкладанняў, але на ёй можна таксама ствараць гатовыя праграмы. Мова актыўна ўжываецца для вэб-распрацовак. Python адрознівае элегантнасць, прастата, кросплатформеннасць, свабодная ліцэнзія і іншыя вартасці.
Але, як і большасць інтэрпрэтаваных моў, Python не можа пахваліцца высокай прадукцыйнасцю. І вось адна з першасных мэтаў стварэння PyPy - гэта павышэнне прадукцыйнасць Python-праграм. На сайце праекта ёсць тэсты хуткасці, якія паказваюць, што некаторыя праграмы пад PyPy пачынаюць працаваць ледзь не ў 20 разоў хутчэй, чым на эталоннай рэалізацыі CPython. Праведзеныя ў хатніх умовах невялікія тэсты па запуску розных скрыптоў ў інтэрпрэтатару PyPy і стандартным Python таксама дэманструюць шматразовую перавагу ў хуткасці PyPy.
Хаця ў выпадку цяжкіх і складаных вэб-прыкладанняў назіраецца значна меншае паскарэнне. Мяркуючы па водгуках у Сетцы, у сярэднім складаныя вэб-прыкладанні паскараюцца ў 1,5-2 разы.
Паскарэнне дасягаецца дзякуючы задзейнічанню JIT-кампілятара для трансляцыі кода ў машынныя інструкцыі падчас выканання праграмы. Сам жа інтэрпрэтатар рэалізуе мову Python, выкарыстоўваючы іншую рэалізацыю мовы пад назвай RPython (Restricted Python). У адрозненне ад стандартнага Python, RPython з'яўляецца статычна тыпізаванай мовай дзеля больш эфектыўнай працы.
PyPy цалкам сумяшчальны з эталоннай рэалізацыяй CPython 2.7.3. Ён падтрымлівае большасць модуляў са стандартнай бібліятэкі гэтай мовы праграмавання. Але для бінарных пашырэнняў PyPy мае пакуль толькі пачатковую падтрымку API CPython з неабходнасцю перакампілявання гэтых модуляў. Падтрымліваюцца фрэймворкі Django, CherryPy, Pylons і іншыя.
Яшчэ адной цікавай асаблівасцю PyPy з'яўляецца выкарыстанне безстэкавага рэжыму Stackless замест стандартнай структуры стэка Python. Stackless - тэхналогія, якая ў свой час нават прэтэндавала на ўключэнне ў стандартнае ядро мовы, але была адвергнута за складанасць. З іншага боку Stackless дазваляе дадаць у праграмы "мікраструмені" ўнутры самога інтэрпрэтатара і тым самым значна палегчыць распрацоўку паралельных алгарытмаў, палепшыць структуру і чытальнасць кода праграм.
Але PyPy - гэта не толькі хуткі інтэрпрэтатар "Пітона". З дапамогай PyPy можна напісаць свой уласны інтэрпрэтатар любой мовы высокага ўзроўню. У выніку можна без працаёмкай работы атрымаць вельмі эфектыўны і хуткі інтэрпрэтатар з падтрымкай JIT-кампіляцыі.
Можна напісаць інтэрпрэтатар Ruby, PHP або нават інтэрпрэтатар для сваёй ўласнай якой-небудзь спецыялізаванай мовы праграмавання. Напрыклад, у Сетцы лёгка можна знайсці навучальныя кіраўніцтва аб тым, як хутка напісаць пры дапамозе PyPy інтэрпрэтатар brainfuck або таму падобнай праграмісцкай эзатэрыкі.
Стабільны выпуск PyPy маецца для Linux, Mac OS X, Windows. У версіі PyPy 2.0 пачалося тэставанне варыянту PyPy для платформы ARM. Выпуск для ARM пазіцыянуецца як азнаямленчы, так як версія для дадзенай платформы яшчэ не зусім стабільная і не падтрымлівае некаторыя магчымасці PyPy для платформы x86.
Новы рэдактар карт OSM
OpenStreetMap ("Адкрытая карта вуліц") - адзін з самых лёгкіх спосабаў паўдзельнічаць у карысным адкрытым праекце. OSM - гэта картаграфічны вэб-сэрвіс, прызначаны для масавага карыстальніка, у якім картаграфічныя дадзеныя збіраюцца самімі ж карыстальнікамі і даступныя ўсім па адкрытай ліцэнзіі. Нават я сам асабіста ўклаў свой сціплы, але неацэнны ўклад у картаграфію некаторых раёнаў Беларусі, якія зараз у OSM выглядаюць значна інфарматыўней, чым на Google Docs.
Сэрвіс пастаянна ўдасканальваецца ў плане вартасцяў. Напрыклад, да OSM праявіла ўвагу кампанія Microsoft, якая дазволіла выкарыстоўваць у якасці падкладак для рэдагавання карт свае спадарожнікавыя здымкі сэрвісу Bing. Гэтыя здымкі значна лепш за тых, што выкарыстоўваліся раней.
Ўдасканальваюцца і інструменты рэдагавання карт OSM. Самымі распаўсюджанымі рэдактарамі карт былі браўзэрныя версіі на аснове Adobe Flash. Але зараз з'явіўся новы браўзэрны рэдактар пад назвай ID, які створаны з выкарыстаннем тэхналогій HTML 5.
ID - вельмі прасценькі рэдактар, што прызначаны для пачатковых картографаў. Валодае простым інтэрфейсам. Ён дазваляе рэдагаваць і пазначаць асноўныя аб'екты OSM - дарогі, пачынаючы з аўтастрад і заканчваючы сцяжынкамі ў парках, будынкі і іх тыпы, і г.д. Распрацоўнікі рэдактара ID спадзяюцца, што яго прастата прыцягне новых энтузіястаў.
У плане хуткасці працы я б адзначыў, што рэдактары на аснове Adobe Flash ўсё ж такі робяць рэндэрынг карты больш плаўна, без рыўкоў. Хоць у дачыненні да тэхналогій HTML 5, якія выкарыстоўваюцца ў ID, многае залежыць ад самога браўзэра.
Рэдактар ID з'яўляецца ПЗ з цалкам адкрытым зыходным кодам і даступны на GitHub пад ультра-свабоднай ліцэнзіяй.
Blender 2.67
З новай версіяй праграмы для працы з 3D-графікай Blender 2.67, якая выйшла на мінулым тыдні, было цікава павазіцца. Таму што новая версія праграмы дэманструе не толькі новыя мастацкія прыёмы для трохмернай графікі, але і імкненне да іншых практычных прымяненняў 3D-тэхналогій.
Калі казаць пра мастацкія тэндэнцыях сучаснай 3D-графікі, то так званы фотарэалізм ўжо парадкам паднадакучыў, і фотарэалістычнасцю ў 3D-сцэнах зараз мала каго здзівіш. Наадварот, хочацца чаго-небудзь у стылі звычайных малюнкаў фарбамі або алоўкам.
У новай версіі Blender як раз з'явіўся не фотарэалістычны графічны рухавічок Freestyle, які дае мастакам набор інструментаў для стварэння 2D-малюнкаў з дадзеных 3D-сцэны, прыгатаваных у Blender. Першапачаткова Freestyle распрацоўваўся як асобная праграма ў асобным даследчым праекце. Але цяпер ён будзе інтэграваны ў Blender.
Інструмент валодае вялікімі магчымасцямі па выбары стылю малюнка з дапамогай налады геаметрыі, колеру, таўшчыні лініі і альфа-празрыстасці. У выніку з трохмерных сцэн можна атрымаць маляваныя мультфільмы, архітэктурныя візуалізацыі, чарцяжы, эскізы.
Хоць інтэрфейс Blender за апошні час ускладніўся, асноўныя прынцыпы яго працы засталіся ранейшымі, і без асаблівых праблем атрымалася паглядзець прыклады з магчымасцямі Freestyle. Гэтыя прыклады можна ўзяць непасрэдна са старонкі апісання тэхналогіі Freestyle. Пасля чаго загружаем у Blender прыклад праз галоўнае меню "Файл", знаходзім на панэлі кіравання закладку з абразком фотаапарата і для рэндэрынгу націскаем кнопку "Rend". Калі кампутар магутны, то цалкам можна стварыць і паглядзець анімацыю праз адпаведныя кнопкі "Anim" і "Play", і нават зрабіць відэаролік або аніміраваны gif.
Але ў сувязі з тым, што набліжаецца эра 3D-друкарак, з Blender можна і трэба знаёміцца не толькі мастакам і не толькі дзеля мастацкіх пытанняў. У гэтай версіі рэдактара дадалі інструменты, каб дапамагчы ў працэсе 3D-друку.
Новы адон у камплекце з Blender дае спецыяльныя метады праверкі трохмернай мадэлі на наяўнасць памылак, а таксама выводзіць розную неабходную статыстыку (аб'ём, плошча і г.д.). Таксама прадастаўляецца зручны ў адзін клік экспарт у фарматы, якія выкарыстоўвацца ў 3D-друкарках.
phpMyAdmin 4.0
І ў заключэнне трохі задавальненняў. У самым пачатку мая выйшла фінальная версія phpMyAdmin 4.0 - спецыяльнай праграмы, напісанай на PHP, якая прызначана для адміністравання і кіравання MySQL-серверамі праз Сетку ў браўзэры.
Базы дадзеных СКБД MySQL - гэта абавязковая частка сучаснага вэб-сайта, і, напрыклад, phpMyAdmin добра ведаюць нават тыя, хто забаўляўся стварэннем сайтаў з дапамогай лакальнага сервера "Дэнвер" для Windows. З базамі дадзеных MySQL працуюць праз кансоль, але HTML-інтэрфейс, які дае phpMyAdmin, робіць гэтую працу значна больш прыемнай.
З чацвёртай версіяй phpMyAdmin ў мінулае сыходзяць HTML-фрэймы, якія былі ці ледзь не візітнай карткай інтэрфейсу гэтага вэб-прыкладання. Панэль навігацыі цяпер прадстаўлена ў выглядзе дрэва. Патрабаваннем дадзенай версіі з'яўляецца абавязковае ўключэнне Javascript ў браўзэры. Таксама новы выгляд набыла і дакументацыя, у якой з'явіўся яшчэ і індэкс. Працуйце з задавальненнем!
Міхаіл АСТАПЧЫК
Горячие темы