Недостатки SQL Explorer в Eclipse
Мои постоянные читатели, вероятно, помнят, что не так давно я перешёл с Microsoft SQL Server Management Studio на плагин SQL Explorer для Eclipse. Теперь я вижу некоторые недостатки этого продукта:
- У меня не получилось подключаться к серверам SQL Server непосредственно с использованием Windows Authentication, как это легко можно делать в Management Studio. Для подключения к серверам приходится создавать ODBC DSN. Хотя если изо дня в день используются одни и те же серверы это не доставляет особых неудобств.
- Не работает клавиша “Del”. Удалять куски текста приходится клавишей “Backspace”
- Не удаётся посмотреть текст view’шки
- Нельзя скопировать колонку из resultset и вставить её в Excel. Приходится делать экспорт в csv. Но как задать настройки экспорта по-умолчанию? Каждый раз при экспорте мне приходится выбирать кодировку win-1281, устанавливать три флажка и выбирать файл. Хотя файл использую один и тот же – это просто аналог буфера обмена.
- Настройки подключений к базам не сохраняются при перезупуске Eclipse. Приходится создавать подключения заново.
Может быть, эти проблемы легко решаются – не знаю. Больше пока никаких неудобств не замечено. Наоборот удобно совмещать в одном продукте и работу с SQL, и PowerDesigner.
Twitter в Emacs
Возможно, для кого-то это ещё новость, но в emacs можно читать и писать в twitter. Для этого есть различные скрипты. Я остановился на twitter.el. Поставил. Работает. Инструкция по установке есть здесь. Единственный минус, который я заметил – twitter.el автоматически не обновляет список сообщений? То есть, надо вручную обновлять? Думаю, что даже если это так, то проблема решаема – emacs могуч. А вот полезная статья по выбору и настройке скриптов для twitter в emacs.
Переход на 22нм-техпроцесс
Компания Intel на конференции Intel Developer Forum 2009 официально объявила о постепенном переходе на 22нм-техпроцесс, который планируется полностью завершить к 2012 году. Тенденции остались теми же, что и год назад – повышение производительности, снижение энергопотребления и тепловыделения, стремление к компактности за счёт создания всё большего числа SoC (System on Chip). CEO Intel не преминул напомнить всем, что закон Мура всё ещё действует, и компания приложит все усилия, чтобы и в дальнейшем следовать ему.
Кроме того, Intel активно развивает платформу Moblin, которая доросла уже до версии 2.1 и впервые стала доступна для мобильных телефонов (пока в большей степени для смартфонов)! Дизайн и идеология системы были основательно переработаны для лучшей работы на мобильных устройствах. Большая роль отводится виджетам и панельной системе навигации, которая позволяет легко переключаться между несколькими приложениями. Особый упор делается на высокую интеграцию с различными социальными сетями и онлайн-сервисами.
Источник “Компьютерра“
Ввод мета-команд в Emacs W32
Поставил себе на днях Emacs W32. Одна из проблем с которой я столкнулся после установки – невозможность ввода мета-команд клавишей Alt. Например, для запуска R через ESS необходимо ввести команду M-x R. Оказалось, что для ввода мета-команд можно использовать клавишу Esc. Но если при вводе мета-команд с клавишей Alt клавишу Alt необходимо удерживать, то при вводе мета-команд с помощью клавиши Esc необходимо нажать и отпустить Esc, а затем нажать на клавишу нужной команды. Ответ на этот вопрос я нашёл в Emacs FAQ – статья под названием “10.9 What if I don’t have a <Meta> key?”
Настройка русского языка в emacs
При начале работы с Emacs в Windows часто возникает проблема с кодировками (символы кириллицы отображаются некорректно).
Разберемся как настроить корректное отображение символов кириллицы в shell, который вызывается из EmacsW32. Я в emacs использую два shell – cygwin bash по умолчанию и cmd shell.
Напомню, что запуск shell’а по умолчанию осуществляется командой M-x shell. А запуск cmd shell – командой M-x cmd-shell.
Shell – это отдельный процесс. Поэтому, для корректного отображения символов кириллицы в shell в emacs необходимо использовать функцию set-buffer-process-coding-system.
Интерактивно изменить кодировки процессов в emacs можно с помощью команды C-x <Ret> p. Интерактивно удобно подбирать кодировку, которая будет корректно отображать кириллицу для данного процесса.
После того, как вы определили какая кодировка вам нужна можно внести изменения в файл инициализации. Привожу фрагмент своего файла ~/.emacs.d/init.el:
(defadvice shell (after my-shell-advice)
(set-buffer-process-coding-system 'utf-8 'undecided-unix))
(ad-activate 'shell)
(defadvice cmd-shell (after my-cmd-shell-advice)
(set-buffer-process-coding-system 'cp1251 'undecided-unix))
(ad-activate 'cmd-shell)
Теперь после перезапуска emacs и в cygwin bash, и в cmd символы кириллицы будут отображаться корректно.
PS. И напоследок привожу две полезные команды:
- M-x list-coding-system выводит список кодировок
- M-x describe-coding-system описание кодировки
Анализ строки в SQL Server
Возникла следующая задача. Есть таблица в СУБД Microsoft SQL Server, содержащая ~3000 записей. Одно из полей этой таблицы имеет тип varchar(255) и содержит набор текстовых выражений, заключённых в двойные кавычки и разделённых запятыми. Требуется подсчитать количество этих текстовых выражений для каждой записи таблицы.
Я решал задачу с помощью скрипта на T-SQL и с использованием курсоров.
Сначала объявил временную таблицу #t, содержащую уникальный идентификатор исследуемой таблицы и анализируемое поле
create table #t (Код char(24), ObrCou int, RepCou int)
insert into #t
select Код, 0, 0
from ...
Затем объявил курсор по исходной таблице
declare cur cursor for
select ...
Далее открываю курсор, делаю цикл и на каждом шаге подсчитываю количество текстовых выражений
open cur
declare @c1 char(24), @c2 varchar(255), @c3 varchar(255)
fetch next from cur into @c1, @c2, @c3
while @@FETCH_STATUS = 0
begin
declare @s varchar(255), @i int, @j int, @cou1 int, @cou2 int
set @s = @c2
set @cou1 = 0
while (charindex('"', @s) > 0) begin
set @i = charindex('"', @s)
if (@i > 0) begin
set @j = charindex('"', @s, @i + 1)
if (@j > 0) begin
if (@j > @i + 1) begin
set @cou1 = @cou1 + 1
end
set @s = right(@s, len(@s) - @j)
end
end
end
update #t set ObrCou = @cou1, RepCou = @cou2 where Код = @c1
fetch next from cur into @c1, @c2, @c3
end
close cur
deallocate cur
select Top 10 * from #t where RepCou <> 0
drop table #t
Количество текстовых выражений записывается в поле RepCou таблицы #t.
Рассмотренный вариант решения работает очень медленно и потому применим только для небольшого количества записей. Я так и не дождался обработки всей таблицы из 3000 записей.
Я пытался копировать анализируемый столбец в Excel. Но Excel у первого текстового выражения убирает двойные кавычки, а остальные оставляет.
Думаю, что для решения поставленной задачи нужно выгрузить исходную таблицу в CSV и дальше анализировать в AWK, R или в Python.
Минусы KNIME
Рассмотрим, какие минусы есть у программы KNIME:
- Невозможность работы с OLAP;
- Невозможность чтения данных из Excel;
- Невозможность создания узлов с переменным количеством входных потоков (например, узел, который будет суммировать числа, поступающие по всем входным потокам).
Скрипт для скрытия ненужных полей в таблицах в PowerDesigner
При анализе ER-диаграмм в PowerDesigner иногда возникает потребность для облегчения восприятия скрыть некоторые служебные поля в таблицах. Пусть все таблицы на диаграмме содержат одинаковый набор служебных полей – ID, ПометкаУдаления, Версия. Для их скрытия удобно использовать следующий VBScript:
Set myModel = ActiveModel
Set diag = ActiveDiagram
For each T in myModel.Tables
For each C in T.Columns
If C.name = "ID" or C.name = "ПометкаУдаления" or C.name = "Версия" _
then C.Displayed = false
Next
Next
Вопросы по emacs
Я новичок (newbie) в emacs. Хотя и пытался его осваивать когда-то давно. Сейчас в процессе освоения emacs у меня возникают некоторые проблемы, которые я не могу решить быстро с помощью поиска в интернет или в справке. Буду признателен за любую помощь по этим вопросам.
- Я использую emacs в Windows. Как вставить содержимое буфера обмена Windows в emacs?
- При использовании расширения ESS для интеграции emacs и R если R возвращает текст на русском языке, то они отображаются некорректно в emacs
- Как настроить просмотр PDF в emacs? Есть дополнение doc-view, но я его не смог настроить. Я понимаю, что emacs не самый удобный инструмент для просмотра PDF, но всё же интересно было бы настроить такубю возможность.
Основы R Language
Далее привожу список полезных с моей точки зрения команд в R
ls(), objects() – список используемых объектов
rm(<object_name>) – удалить объект object_name
c, seq, rep, gl – генерация последовательностей чисел
rnorm, rt – генерация случайных чисел с различными распределениями. rnorm – нормальное распределение; rt – распределение Стьюдента
matrix, array, dim – создание масива/матрицы. dim – задаёт размерности. array – создание массива, а matrix – создание матрицы (двумерного массива)
cbind, rbind – объединение матриц. cbind объединяет по столбцам, а rbind – по строкам
list, unlist – создание списка и преобразование списка в одномерный массив
data.frame – создание Data Frame (гибрид матрицы и списка)
nrow, ncol – количество рядов и колонок в Data Frame
edit – Excel-like editor for input data in the Data Frame
data() – список наборов данных (data sets), поставляемых вместе с R
cat – вывод результатов в консоль
file.choose() – диалоговое окно открытия файла в Windows
save.image() – сохранение workspace в файл
library(<package_name>) – загрузить пакет package_name (если этот пакет установлен в системе)


osya





