четверг, 27 ноября 2014 г.

Установка GO и Go Workspace's2
Проблем на самом деле всего пара-тройка. Во-первых разворачивать/ставить надо строго в /usr/local/ Дальше в ~/.bashrc надо дописать две строчки export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/go И выполнить одну команду $ mkdir -p $GOPATH/src/github.com/user Вместо "user", естественно пишется Ваше имя. все проекты нужно складывать соотвественно в $GOPATH/src/github.com/user

пятница, 15 января 2010 г.

Афигенно афигенный google "GO"

После первой недели кодинга на Go, решил написать в блог. Вывалить все эмоции так сказать, коих накопилось немало. Язык, на первый взгляд, довольно сырой. Но это только на первый взгляд. Один net.Dial - такая конфетка, ммммм. Вообще, разработчики писали Go под лозунгом "сконнектим всё ко всему". Вы можете выполнить, скажем Copy для двух файлов, файла, сокета, файла... Copy копирует все из чего можно читать, во все, что может писать. И это круто. Разработчики предоставили мощнейшие интерфейсы. Все, что вне интерфейсов - не наше дело. По сути, можно рулить всем, зная как пишется Dial и Read или Write.

Напрочь отсутствуют хидеры. И правильно. В топку /usr/include

Компиляция. С "Go" можно поставить резонный вопрос - "где компиляция" ? Это компиляция ?! Это издевательство какое-то. Низзя чайку попить пока компилится. Компиляция любой хрени происходит за время одного чиха. По крайней мере, еще не писаны коды, которые бы долго компилились. Ждем действительно БОЛЬШИХ проектов. Да, пока "не рекомендуется" писать что-то большое на GO, но кого вы хотите этим остановить ? :)

Жалко что пока не хватает различных лайб, но это дело наживное.

пятница, 28 августа 2009 г.

Python сакс

Пусть меня пинают Питонисты (если поймают), но всё же отпостю первое впечатление от Python. Буду жестоко сравнивать с Ruby, в который я влюбился сразу после "руби за 25 минут".

При просмотре базовой документации, наткнулся на кучу стандартных либ. Отлично, если вы работаете аникейщиком. Для остальных хватит 1-5 лайб, наличие/отсутствие которых можно определить перед тем как писать скрипт на Ruby. В конце концов существует Perl с его CPAN'ом. Там дофига (дофигааааааааааааааааааа) модулей, но это не значит что Perl лучше.

Отступы.
Якобы способствуют красоте кода. ЯКОБЫ. На самом деле тот, кто не слышал про K&R может намутить ТАКОГО, что brainfuck позавидует.

Классы. Я готов смириться с идиотским синтаксисом и «вездесуваемым» self'ом. Но, какого черта каждой функции объекта надо передавать указатель на сам объект ? Вдумайтесь. ОК. Что с инкапсуляцией ? Ответ прост. Нет её !
Возьмем класс
class One
pass
Инитим
one = One()
А далее делаем то, что не позволяет делать ни один нормальный язык.
one.gopstop = «gopstop»
И это срабатывает ! Мы даже можем обратиться к этой переменной.
print(one.gopstop)
> «gopstop»
Вот такая вот «хренофишка». А я — то думал, как пишутся геттеры и сеттеры... :)

суббота, 22 августа 2009 г.

Ruby encoding

Продолжая писать бота для травиана, решил заточить под руби 1.9. Думал просто запустится... Черта-с два. Не совместим руби 1.9 с 1.8 :( Первое, что пришлось сделать, это добавить
# coding: utf-8
первой строчкой в каждый файло. Следующее, что меня убило, была ругань :
in `scan': incompatible encoding regexp match (UTF-8 regexp with
ASCII-8BIT string) (Encoding::CompatibilityError)

на строчку :
res = main_page.scan(/#{pr}:(.*?)<\/table>/m).to_s

Задолбал всех вопросами, однако ответа так и не получил. А решалось всё довольно просто
main_page.force_encoding "UTF-8"

Дальше выяснилось что [].to_s работает не так как в руби 1.8 Пришлось переписывать некоторое
количество строк.

Пытался собрать документашку из сырцов руби, ибо на оф. сайте. документашка почему-то для 1.8 :(,
однако ничего не получилось. rdoc сначала скушал всю память, затем убил все проги, а потом и сам
"Убито". Ладно, ничего, буду юзать ri...

воскресенье, 16 августа 2009 г.

Ruby рулит

Написал программу на Ruby строк эдак на тыщу. Под линуксом все работало, но у меня никак не доходили руки потестить ее под виндой. Я боялся, что моя программа работает только у меня. Тут обрадовал один поц. Пишет, значится, так и так, запустил... под виндой. Всё работает с пол-тычка. Я аж присел. Вот что значит НАСТОЯЩАЯ кросс-платформенность ! Жалко что про Ruby/Tk я такого сказать не могу...

четверг, 13 августа 2009 г.

RedFlag Linux

RedFlag. Тащусь. Братья китайцы знали что делали когда собирали дистр. Первый дистр который у меня заработал "из коробки". Тут всё. Можно сразу смотреть фильмы, гулять по инету или же пострелять в Nexuiz. Замечен один косяк - не переключалась раскладка. Фиксил добавлением/модификацией трех строчек (в секции "Input Device")
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:ctrl_shift_toggle"
...

Сегодня грохнулись Иксы. Не мог войти под юзером. По ходу дела выяснилось, что просто не было места на диске. Поубивал не нужные... фильмы. Запустилось. Выяснилось что полетели все настройки X'а и дрова. Решил восстановить. Хотя, честно говоря, не очень-то и надо было... И без Nexuiz люди живут :) Слил дрова. Нормально. Только не захотели из под икса
ставиться. Обломался после нажатия CTRL+SHIFT+F2..F3 Запустился под рутом при помощи доп строчки для ядра - init=/bin/bash Загрузилось, на напрочь отказалось что-либо компилить (так и не догнал - почему). Решил сделать проще. chmod a-x X :) Черта-с два. Шло на перезагрузку... Решил сделать еще проще. Закомментил последнюю строчку. в /etc/inittab

# Run xdm in runlevel 5
x:5:once:/etc/X11/prefdm -nodaemon

Загрузилось без иксов. Собрал дрова, поставил, подправил xorg.conf (поменял дефолтное разрешение и раскладку). Всё. можно работать...