Показаны сообщения с ярлыком Miscellaneous (Разное). Показать все сообщения
Показаны сообщения с ярлыком Miscellaneous (Разное). Показать все сообщения

четверг, сентября 6

быстрая вставка угловых кавычек в Firefox

Тут у друга возник вопрос, как в Firefox можно делать быструю вставку угловых кавычек в текст.

«В лоб» решения не подходят - слишком много клавиш нажимать надо, потому пойдём обходным путём - через «сторонние» плагины. В частности, через плагин BBCodeExtra, который я уже достаточно давно использую для быстрого форматирования текста на различных сайтах.

В данном плагине есть возможность добавления собственных команд, чем мы и воспользуемся.

  1. Заходим в настройки BBCodeExtra через контекстное меню
  2. Нажимаем кнопку «Добавить» и заполняем диалоговую форму так, как показано скриншоте ниже (Название пункта на ваше усмотрение ;) )
  3. сохраняем пользовательский тег
  4. Как воспользоваться. Выбираем слово, которое требуется обрамить в кавычки, и в контекстном меню кликаем нашу кнопку.
  5. В результате, выделенный текст обрамляется угловыми кавычками
  6. PROFIT


Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

четверг, апреля 19

Lotus Script. фичи

Обнаружился довольно интересный глюк в скрипте - метод Getdocumentbykey у NotesView "изменяет" значение передаваемого ключа, если ключ типа Variant (при строгой типизации такого не происходит).

пример:

Dim ses As New NotesSession
Dim view As NotesView
Dim doc As notesdocument
Dim num As Variant

Set view = ses.currentdatabase.Getview("XXX")
num = "50000001"
Print "1: " & num ' Выведет 50000001
num = clng(num)
Print "2: " & num ' Выведет 50000001
Set doc = view.Getdocumentbykey(num, True)
Print "3: " & num ' Выведет 134217728


Теперь немного видоизменим программный код, приведя к Long переменную:


Dim ses As New NotesSession
Dim view As NotesView
Dim doc As notesdocument
Dim num As Long

Set view = ses.currentdatabase.Getview("XXX")
num = 50000001
Print "1: " & num ' Выведет 50000001
num = clng(num)
Print "2: " & num ' Выведет 50000001
Set doc = view.Getdocumentbykey(num, True)
Print "3: " & num ' Выведет 50000001

А теперь изменим тип только в вызове метода getDocumentByKey:

Dim ses As New NotesSession
Dim view As NotesView
Dim doc As notesdocument
Dim num As Variant

Set view = ses.currentdatabase.Getview("XXX")
num = 50000001
Print "1: " & num ' Выведет 50000001
num = clng(num)
Print "2: " & num ' Выведет 50000001
Set doc = view.Getdocumentbykey(CLng(num), True)
Print "3: " & num ' Выведет 50000001

отсюда вывод: использовать тип Variant конечно удобно, но это как хождение по минному полю - путь короче, но не знаешь где рванёт ;)

ЗЫ: клиент Standard 8.5.3FP1



Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

понедельник, мая 30

gnome & глюки

Иногда полезно полностью "сносить" настройки какой-либо проги. Это заметил уже давно - ещё со времён "проживания" на винде.

Вот и сейчас, долго думал, отчего у меня глюки:
1) Rhythmbox не желает понимать ленты подкастов
2) Pidgin ругается на подключение к протоколу аськи (при этом, если зайти в кеды, то прекрасно подключается)
3) ещё по мелочи всякого "хлама"

В итоге, снёс полностью каталоги .gconf(d) и все глюки "как рукой сняло" :)

Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

суббота, марта 26

JSP и вывод таблиц с "отсутствующими" строками

написание поста навеяно следующим комментарием:
на практике часто возникает задача отображать данные в виде списка или таблицы, но случай, когда данных нет, требуется обрабатывать особо. Например, в случае с Java и JSTL код темплейта оказывается весьма тяжеловесным, и я, признаться, не встречал особенно выдающихся альтернатив

Приведу как минимум 2 примера, на вскидку, для решения вышеозвученной "проблемы".

Исходные данные:
<java>
Class Row{
private int id;
private String text;
... вырезанные getters & setters ...
}

List rows; // Количество элементов от 0 до n
</java>

Способ первый: "прямой" вывод данных с помощью смеси JSTL+HTML
<jsp>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<table>
 <thead>
  <tr>
   <th>id</th>
   <th>text</th>
  <tr>
 </thead>
 <tbody>
  <c:choose>
   <c:when test="${fn:length(rows)>0}">
    <c:forEach var="row" items="${rows}">
     <tr>
      <td>${row.id}</td>
      <td>${row.text}</td>
     </tr>
    </c:forEach>
   </c:when>
   <c:otherwise>
    <tr>
     <td colspan="2">Нет данных для вывода</td>
    </tr>
   </c:otherwise>
  </c:choose>
 </tbody>
</table>
</jsp>

Способ второй: с помощью DisplayTag
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
<display:setProperty name="basic.empty.showtable" value="true"/>
<display:setProperty name="basic.msg.empty_list" value="Нет данных для вывода"/>
<display:table name="rows">
 <display:column property="id" />
 <display:column property="text" />
</display:table>



Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

понедельник, февраля 14

Все дни программиста/интернета в одном флаконе

По поводу такого праздника как день программиста существует масса домыслов. Потому что день программиста в году не один. Вообще-то, каждый рабочий день (особенно пятница) является днём программиста. Но всё же вот более-менее полный список подходящих дат, отмечаемых энтузиастами в разных странах.

14 февраля. День запуска компьютера ENIAC (1946)

4 апреля. День Сети. 4.04 можно прочитать как 404 - номер самой популярной в Интернет ошибки протокола HTTP ("Страница не найдена"). В католической церкви, кроме того, 4 апреля - день святого Исидора, неофициально считающегося покровителем компьютеров и Интернета. Исидор был, возможно, первым энциклопедистом в мире (20-томная Etymologiae).

7 апреля. Иногда празднуется, как День рождения Рунета. В этот день в 1994 г. был зарегистрирован российский домен ru.

22 апреля. Прежний советский код специальности "программист" был именно 2204 ("Программное обеспечение вычислительной техники и автоматизированных систем").

17 мая. Этот день Генеральная Ассамблея ООН утвердила как день информационного сообщества (2006). В настоящее время официально называется всемирным днём электросвязи и информационного общества.

19 июля. Неофициальная дата написания первой программы (1843). Написала её Ада Лавлейс (см. 10 декабря).

Последняя пятница июля. День системного администратора - придуманный американскими сисадминами неофициальный праздник.

Первая пятница сентября. Неофициальный "День компьютерщика", придуманный издательским домом "Компьютерра" (1996). С праздником связан ритуал "чистой пятницы" - то есть, удаления ненужных файлов.

256-й день года (13 сентября в обычные годы, 12 сентября в високосные). Официально объявлен днём программиста указом президента Д. Медведева (2009)

30 сентября. День интернета, известный только в России. Приурочен к 1-й "переписи" населения Рунета (1998, придумано IT Infoart Stars).

4 декабря. День регистрации изобретения цифровой электронной вычислительной машины в СССР (1948). Неофициальная дата рождения советской информатики.

10 декабря. День рождения Ады Лавлейс, первого программиста (точней, программистки) в мире (1810). Кстати, графиня Лавлейс была единственной дочерью "того самого" Байрона.

Таким образом, имеем минимум 0b1100 поводов выпить.)

©тыбрено тут

среда, сентября 8

а они всё прут и прут. о_О

Народ, скажите, что за хрень такая? При том, что я НИЧЕГО с этими сайтами не делаю - ни оптимизации, ни каких-либо изменений в контенте! на том, который под 2 тыщи % посещений вообще всего 4 html странички статичного текста...



суббота, августа 14

плюшки Windows 7: список "программы и компоненты"

В показываемом списке работает комбинация Ctrl+R, обновляющая список. удобно - не нужно закрывать и заново открывать, чтобы увидеть свежеустановленное ПО
Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

понедельник, июля 26

скорость загрузки сайта и Google ajaxlibs

Собственно, отказался от использования Google ajaxLibs, т.к. сайты его использующие, открывались достаточно долго. задержка загрузки порядка +3-4 секунды.
Перетащил всё на собственный CDN-сервер.
Думаю ещё попробовать CDN от Yandex - сравню скорость загрузки с ним.


Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

воскресенье, июня 13

Гимн России и гики

Забыли гимн России? Не беда!

Вариант для Windows CMD (в одну строку):
@echo off & (
for /l %z in (200,1,223) do
for /f "usebackq skip=3 tokens=2-10 delims=:." %a in (`nslookup 62.76.96.%z`) do echo %a %b %c %d %e %f %g %h %i|
findstr /RV "[0-9]") & echo on
Вариант для Unix/Linux:
dig -t ptr +short {200..225}.96.76.62.in-addr.arpa

пятница, июня 11

Светлое будущее копирайта

- То есть как это: скопировать?
- Ну я не знаю, какими это кнопками это теперь делается...
- Дед, да не в кнопках дело, я просто не могу - у меня лимит в этом месяце кончился.
- Какой лимит?
- Обычный лимит, на копирование собственных текстовых файлов. Картинку вот эту - хочешь, залью?
- Да не нужна мне она, ты мне расписание своё скопируй.
- Чудак-человек, да не могу же! В этом месяце на картинки ещё осталось, а на тексты - уже всё.
- То есть картинку ты можешь скопировать, а текст - нет?
- Ну да.
- А в чём разница?
- В том что это - картинка, а это - текст.
- Но ведь и то, и то - файл?
- Файл.
- Ну и скопируй мне его!
- Не могу!
- Да почему?!
- Да говорю же, лимит на текстовики кончился!
- То есть только картинка?
- Ну слава богу - дошло.
- Вот понавыдумывали всякого...
- Можно подумать, раньше по другому было.
- А вот и было.
- И как же "было"?
- Любой файл можно было копировать. Сколько хочешь раз. Бесплатно.
- Что, и не свои файлы - тоже?
- Да не было такого - "не свои файлы". Все файлы, которые у тебя есть - твои!
- Ну ты даёшь, дед! То, что ты расписываешь - это ж даже не расширенная, это ж промышленная лицензия! Промышленная, понимаешь? Знаешь, каких она денег стоит?! И чтоб такое любому разрешали? Хорошь заливать-то...
- ...Хрен с тобой, не веришь - не надо. Значит говоришь, только картинку можно? Ну, засунь свой текст в графику, и сохрани как картинку, мне расписание это нужно очень.
- Ишь ты! Должно сработать... Дед, а ты - хитрый дед, ты в курсе?
- Станешь тут с вами... хитрым...

* * *


- Мам, приколись, а дед говорит, что раньше можно было копировать что угодно и сколько угодно раз!
- Ты его слушай больше. Он тебе ещё не такое понараскажет. Лучше принеси мне карточку мою, она там, на трюмо лежит.
- Прикупить чего решила?
- Да нет, у меня лицензия на готовку закончилась и отчисления правооблодателям рецепта яичницы сделать - плита не включается, и холодильник яйца не отдаёт.
- Сейчас принесу.
- Здорово всё-таки, что заплатить можно быстро и удобно! Что значит - прогресс! И как раньше люди жили?

источник

вторник, мая 4

авторизация в SSH без пароля (по ключу)

Если вам надоело каждый раз набирать пароль для того, чтобы зайти на сервер по SSH, или таких серверов много, а хочется иметь единый пароль для SSH - можно использовать ключи SSH.
Ключи SSH

В качестве метода авторизации по SSH можно использовать пару RSA ключей (публичный и секретный). Сначала пара ключей создается на компьютере, который будет использоваться для входа по SSH, затем публичная часть ключа копируется на сервера, к которым нужен доступ. Ключ может быть без пароля, но это не очень безопасно, зато удобно. Можно же зашифровать секретный ключ паролем, при соединении к серверам будет запрошен пароль, и вы сможете использовать один пароль для доступа ко всем серверам.
Генерация SSH ключей

В первую очередь, нужно создать пару ключей, если их ещё нет. По умолчанию ключи хранятся в домашней директории пользователя, /home/имя пользователя/.ssh/id_rsa и id_rsa.pub. Итак:

ssh-keygen
Enter file in which to save the key (/home/igosha/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):<Пароль(или ничего), Enter>
Enter same passphrase again: <Тот же пароль, Enter>
Your identification has been saved in /home/igosha/.ssh/id_rsa.
Your public key has been saved in /home/igosha/.ssh/id_rsa.pub.
The key fingerprint is:
92:12:4c:сс:c8:36:ec:f6:60:50:c4:82:2a:01:39:20 igosha@igosha

Пара ключей готова.
Установка SSH ключей на сервера

Теперь, когда у нас есть ключ:
- нужно создать на серверах, к которым мы собираемся подключаться с использованием этого ключа, папку /home/имя пользователя/.ssh. И, конечно, на сервере должен существовать пользователь с тем же именем, что и на локальной машине, где мы делали ключ.
- копируем файл /home/имя пользователя/.ssh/id_rsa.pub на сервер, в файл /home/имя пользователя/.ssh/authorized_keys2:
scp ~/.ssh/id_rsa.pub hostname_of_server:.ssh/authorized_keys2

Важно: если файл authorized_keys2 уже существует, то его нужно просто дописать:
cat ~/.ssh/id_rsa.pub | ssh hostname_of_server "cat >> .ssh/authorized_keys2"

Это позволит использовать несколько ключей для авторизации под одним пользователем, например, если вы хотите авторизоваться с разных машин с разными же ключами.
Проверка авторизации по SSH ключу

Пробуем зайти по SSH на сервер. Если для ключа был задан пароль, он будет запрошен, иначе вы сразу же подключитесь к удаленному серверу.


Источник статьи: http://www.igosha.com/archives/41


Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

среда, марта 17

Pidgin и смайлы из QIP

Надоело получать смайлы, которых нет в наборе и... поставил себе добавку, любезно собранную _zain

ЗЫ: пашет одинаково хорошо как под Linux, так и под Windows. хотя, другого и не ожидалось :)


Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

вторник, января 27

объяснительные...

Разбирая свой архив документов, наковырял свои первые объяснительные...

Объяснительная о потере данных в базе данных:
черновая работа (первый поход к руководителю)
 (698x270, 28Kb)
А это уже после похода к руководителю:
 (698x193, 28Kb)
---
А спустя месяц я писал объяснительную об опоздании на работу:
 (696x141, 17Kb)