@Linda-chan

Тег программизм в блоге Linda-chan

Linda-chan

Оказалось, что даже при использовании WSF файлов модульность получается условной. На деле во время выполнения весь код как бы сливается в один большой скрипт, и для простых функций Private и Public теряют смысл. То же самое касается переменных и констант на верхнем уровне. Похоже, единственный способ заизолировать код – пихать всё в классы. Тоесть один файл – один класс. Плюс там же в файле «модуля» объявлять переменную и тут же присваивать ей объект этого класса. Объекты все создадутся при старте скрипта нормально, но, разумеется, придётся указывать переменную при вызове функций. Пичалька.

Linda-chan

Если у нас сокеты, скажем, в каком-нибудь Net::HTTP, и случается ошибка, то вот вот это:

$stderr.puts "Ошибка: #{ e.message }"

может кончиться этим:

incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)

Поэтому нужно делать так:

$stderr.puts "Ошибка: #{ e.message.force_encoding("windows-1251").encode("UTF-8") }"

Собственно, это результат мышления в стиле «двух кодировок» и «какой-такой UTF-16 я в линупсах привык к UTF-8 и доки не читаю».

Linda-chan

Я, конечно, ещё только начинаю осваивать Руби, но из всех языков с которыми я за последнее время познакомилась, именно Руби оставляет какое-то чувство комфорта при написании кода. Словно пишешь на VB7.

Linda-chan

И вообще, раз уж зашла речь, предлагать пользователю сходить на сайт и зарегистрировать приложение (тоесть самому ввести название, описание, callback-url) чтобы получить ключи (как это делает тот же Discogs тэггер в foobar2000) – это такой лихой костыль или типичный нормальный воркфлоу в мире OAuth?

Linda-chan

Поубивала бы авторов OAuth. Вот я зарегистрировала на том же Тумблере свою программу. Мне дали Consumer Key и Consumer Secret. При чём первый выводится в интерфейсе, а второй стыдливо прячется за ссылкой «Show Key». Название намекает, что это значение – штука секретная и не для посторонних глаз. А потом я пишу программку на Руби, которая должна выполняться на машине пользователя. Есть гем, который инкапсулирует API. В настройках кроме всего прочего нужно указать оба значения. Тоесть как ни шифруй этот самый секрет, для находчивого пользователя никаких секретов нет. В чём тогда смысл всех этих плясок с ключами? Как быть в итоге?

Linda-chan

tumblelogs.sort_by! do |tumblelog|
tumblelog["title"]
end

Не перестаю удивляться!

Linda-chan

[ file_contents ].pack("u")

И никаких сторонних утилит OO

Linda-chan

Extreme Python development.

Linda-chan

Bing Logger переписала на Руби. До этого было на VBScript только для Windows, а тут прямо кроссплатформенно всё.

Linda-chan

То, что у функций в Руби есть опциональные параметры с дефолтным значением, это, конечно, хорошо. А то, что нельзя пропустить один опциональный параметр и указать значения следующих вызовом вида «byaka(12, , 34)», это, конечно, очень плохо =_=

Linda-chan

Пилю модуль со строковыми функциями в стиле VB6. В качестве упражнения и безболезненного погружения. Сначала хотела стандартный класс переопределить, но потом решила не делать этого. Собственно, узнала кое-что новое про сами VB функции. Например, в Replace() есть параметр Start, который по идее только сообщает с какого символа начинать поиск и замену, а на деле (и это задокументировано!) срезает всё, что было до этого символа. Я прямо в шоке, всегда думала, что активно использую этот параметр, ан нет, видать, ни разу не использовала.

Linda-chan

То ли я невнимательно читала спецификацию syslog, то ли авторы класса Syslog в Руби, но ихние функции debug(), error() и прочие не соответствуют тому, что я вижу в своём syslog сервере. Тоесть отправляю error(), а оно появляется как Warning, falal() – как Error и так далее. Разве что только info() нормально выходит.

Linda-chan

VB вариант:

NextSunday = DateAdd("d", 7 - Weekday(Now, vbMonday), Now)

А как в вашем любимом ЯПе определить дату следующего воскресенья?

Linda-chan

Кажись разобралась с дубасом. Тот же WMI, вид сбоку.

Linda-chan

Короче, воюю я тут с дубасом™. пишу скриптики на машине с Windows, а на удалённой линукс-машине запускаю и смотрю, что происходит. Проблема в том, что я могу залогиниться по SSH на удалённую машину, но скрипты работать не будут – библиотека будет жаловаться, что дубас не доступен, исков не найдено. Каких-то переменных не хватает, короче. И что делать? Бегать от машины к машине? Я нашла выход. Запускаем терминал на удалённой машине, запускаем tmux и проверяем на каком-нибудь qdbus, работает ли всё. Отключаемся от tmux и закрываем терминал. Идём на рабочую машину, логинимся по SSH, подключаемся к сессии tmux и радуемся рабочему дубасу.

Linda-chan

АААА!!!

rayslava: что тебе копипастнуть? Я вообще без ошибок пишу.
Tenno-Seremel recommends: Иисус с нами!

via #okljr/#26

Linda-chan

Кажись всёже придётся учить Путон =_= Ну-с, к погружению!

Linda-chan

Кстати, а что там нынче с Паскалем? Язык умер? Больше не актуален? Никто на нём не пишет? Или где-то там скрывается бурлящее комьюнити, которое постоянно рождает новые программы?

Linda-chan

И снова. Некая либа с неким функционалом. Сначала одной функцией внутрь загоняется буфер с данными. Потом данные преобразуются, и второй функцией данные получаем назад. Функция принимает параметр, указывающий размер передаваемого буфера. А какой размер буфера? Стандартный метод с передачей буфера нулевой длины и получения требуемого размера не работает. Смотрим документацию и находим пример использования этих функций. Пример оформлен в виде функции, в которую размер выходного буфера передаётся через параметр. При этом нигде не написано, что размер данных останется прежним. Тоесть самими разработчиками либы предлагается УГАДАТЬ требуемый размер буфера. И ведь это не единичный случай =_=

Linda-chan

Первая программа под Линукс на FreeBasic. Посмотрим, как оно пойдёт дальше.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.