<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Фишки &#8212; Можно Подумать</title>
	<atom:link href="https://testitquickly.com/category/%D1%84%D0%B8%D1%88%D0%BA%D0%B8/feed/" rel="self" type="application/rss+xml" />
	<link>https://testitquickly.com</link>
	<description>про тестирование ПО и всё такое прочее</description>
	<lastBuildDate>Sun, 25 Jan 2026 05:37:06 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://testitquickly.com/wp-content/uploads/2021/09/favicon_lupan-150x150.jpg</url>
	<title>Фишки &#8212; Можно Подумать</title>
	<link>https://testitquickly.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">202834616</site>	<item>
		<title>bystro.linux</title>
		<link>https://testitquickly.com/2022/03/18/bystro-linux/</link>
					<comments>https://testitquickly.com/2022/03/18/bystro-linux/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Fri, 18 Mar 2022 17:00:56 +0000</pubDate>
				<category><![CDATA[Документация]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Настройки]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[flatpak]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[omv]]></category>
		<category><![CDATA[Zim]]></category>
		<guid isPermaLink="false">https://testitquickly.com/?p=5780</guid>

					<description><![CDATA[«Вот по дороге едет „ЗиМ”, И им я буду задавим…» © ПНВС Война войной, а порядок в файлах держать надо. Представляю сам себе свой же открытый и ещё далеко не завершённый сборник рецептов/инструкций для последовательной настройки Debian/Manjaro c KDE — https://testitquickly.com/bystro.linux/ И даже есть https://testitquickly.com/bystro.linux.nas/ — про настройку NAS на основе OpenMediaVault. Всё собрано в… <span class="read-more"><a href="https://testitquickly.com/2022/03/18/bystro-linux/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p style="text-align: right;">«<em>Вот по дороге едет „ЗиМ”,<br />
И им я буду задавим…</em>»<br />
© ПНВС</p>
<p>Война войной, а порядок в файлах держать надо. Представляю сам себе свой же открытый и ещё далеко не завершённый сборник рецептов/инструкций для последовательной настройки Debian/Manjaro c KDE — <a href="https://testitquickly.com/bystro.linux/">https://testitquickly.com/bystro.linux/</a></p>
<p style="padding-left: 40px;">И даже есть <a href="https://testitquickly.com/bystro.linux.nas/">https://testitquickly.com/bystro.linux.nas/</a> — про настройку NAS на основе OpenMediaVault.</p>
<p>Всё собрано в <a href="https://zim-wiki.org/" rel="nofollow">Zim</a>, десктопном текстовом редакторе для локального сборника wiki pages на основе plain text файлов с markdown разметкой. Рекомендую.</p>
<p dir="auto">За десятилетия возни с Debian собрался txt-файл на 4 384 строк с рецептами и подсказками по установке и (почти полной) настройке устанавливаемой системы. Копи-паст из plain text в консоль идеален, и простые инструкции в нём воспринимаются отлично. А многошаговые последовательности воспринимаются сложно. И сразу всё плохо с иерархией, ссылками на разные места и с оформлением текста. Хочется локальную википедию. Но в то же время хочется plain text. И чтобы было доступно в том числе и из консоли.</p>
<p dir="auto">Zim — идеальная «настольная wiki». Хранит всё в текстовых файлах, которые можно читать/редактировать в любом окружении, и синхронизировать и бэкапить их можно как угодно — plain text же. Zim не только помогает упорядочить большие массивы знаний, он ещё помогает самому процессу мышления, как майндмапа. Он потребляет даже меньше ресурсов, чем Kate!</p>
<p dir="auto"><span id="more-5780"></span>Начал было закатывать всё это через LaTeX в pdf, но с консольными командами в LaTeX всё мерзОтно. Ординарные и даблкавычки там принудительно становятся фигурными, а тильда (~) в открытом виде вообще не используется. Копи-пастить команды из таких pdf в консоль нет смысла, бо в строку подставляются лишние и ошибочные символы. Кстати, ту же ерунду творит и WordPress.</p>
<h2 dir="auto"><strong>Что с этим можно делать</strong></h2>
<p dir="auto">Всё, что может быть необходимым или интересным, кроме коммерции или издевательства над джунами. Всё открыто, RTFM и погнали экспериментировать.</p>
<ol dir="auto">
<li></li>
</ol>
<p dir="auto"><em>Debian</em>: sudo apt-get install zim</p>
<p dir="auto"><em>Manjaro</em>: sudo pacman -S zim</p>
<p dir="auto">Можно поставить через flatpak или snap, но в нативной установке проще настроить внешнее оформление Zim (я подсел на тёмную тему).</p>
<ol dir="auto" start="2">
<li></li>
</ol>
<p dir="auto">Выкачать все файлы из <strong class="mr-2 flex-self-stretch"><a href="https://github.com/testitquickly/bystro.linux" data-pjax="#repo-content-pjax-container">bystro.linux</a></strong>.</p>
<p dir="auto">Открыть Zim<br />
> File<br />
> Open Another Notebook (Ctrl+O)<br />
> Add<br />
> [Browse]<br />
> Указать каталог с этими файлами.</p>
<p dir="auto">Подхватится файл notebook.zim — блокнот откроется.</p>
<ol dir="auto" start="3">
<li></li>
</ol>
<p dir="auto">Следовать инструкциям. Ссылки на них находятся в головном файле раздела про настройку Debian или про Manjaro.</p>
<p dir="auto">В индексе блокнота Zim невозможно упорядочить/сортировать страницы по своему хотению, а именовать их цифрами — безумно. Поэтому в головной файл раздела добавлены ссылки на каждую страницу/подстраницу, инструкции из которых следует (это не принципиально) последовательно выполнять.</p>
<ol dir="auto" start="4">
<li></li>
</ol>
<p dir="auto">Стилевое оформление страниц Zim настраивается отдельно. Инструкция по натягиванию на него тёмной темы см. на <a href="https://github.com/testitquickly/ru-Debian-KDE-Setup-Memo/wiki/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%82%D1%91%D0%BC%D0%BD%D0%BE%D0%B9-%D1%82%D0%B5%D0%BC%D1%8B-Zim">вики-странице</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2022/03/18/bystro-linux/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5780</post-id>	</item>
		<item>
		<title>Тонкая настройка «Sublime Text 3»</title>
		<link>https://testitquickly.com/2021/10/04/sublimitate-textuala/</link>
					<comments>https://testitquickly.com/2021/10/04/sublimitate-textuala/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Mon, 04 Oct 2021 02:22:29 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Документация]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Sublime Text]]></category>
		<guid isPermaLink="false">https://testitquickly.com/?p=4685</guid>

					<description><![CDATA[Понравился текстовый редактор Sublime Text. Раньше-то Eclipse был нашим всем, но на днях произошло неприятное: Eclipse падает всякий раз при копи/пэйст. Открыт соответствующий баг, решения пока нет, а между тем работать в Eclipse стало и решительно, и нерешительно невозможно. Вероятно, можно откатиться на более старые версии, но не факт, бо тогда и окружающие его пакеты… <span class="read-more"><a href="https://testitquickly.com/2021/10/04/sublimitate-textuala/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p></p>
<p>Понравился текстовый редактор <a href="https://ru.wikipedia.org/wiki/Sublime_Text">Sublime Text</a>.</p>
<p></p>
<p></p>
<p>Раньше-то <strong>Eclipse</strong> был нашим всем, но на днях произошло неприятное: Eclipse падает всякий раз при копи/пэйст. Открыт соответствующий <a href="https://bugs.openjdk.java.net/browse/JDK-8244794">баг</a>, решения пока нет, а между тем работать в Eclipse стало и решительно, и нерешительно невозможно. Вероятно, можно откатиться на более старые версии, но не факт, бо тогда и окружающие его пакеты тоже надо даунгрейдить, а это не тру.</p>
<p></p>
<p></p>
<p>Но под Linux есть много всяких IDE для разработки, даже есть почти нативное <a href="https://ru.wikipedia.org/wiki/KDevelop">KDevelop</a>. Из кроссплатформенных на слуху:</p>
<p></p>
<p></p>
<ul class="wp-block-list">
<li><strong>PyCharm</strong> от JetBrains — выглядит адекватно, но от него завыли кулеры и памяти поуменьшилось изрядно, при этом проект внутри ещё не создан. Нет.</li>
<li><strong>Atom</strong> от GitHub, которое сегодня тоже от Microsoft. Построен на электроне, а это нет!</li>
<li><strong>VS Code</strong> (он же Visual Studio Code) от Microsoft. Нет.</li>
<li><a href="https://ru.wikipedia.org/wiki/Sublime_Text"><strong>Sublime Text</strong></a> от кого-то из гугла (Джон Скиннер). Слово sublime переводится как «возвышенный, величественный, высокий, грандиозный».</li>
</ul>
<p></p>
<p></p>
<p>Тут и остановимся.</p>
<p></p>
<p></p>
<p><span id="more-4685"></span></p>
<p></p>
<p></p>
<p>В основе своей Sublime Text разочаровывающе примитивный и требуется время на его освоение и настройку, но это и хорошо. Можно подключать к простой основе только те расширения, которые понадобятся в работе, а это unix way. У него много <a href="https://www.sublimetext.com/docs/">документации</a> (unix way!)? Он в принципе хочет каких-то денег (not a unix way!), но не настойчиво да и не особо много, поэтому всё норм.</p>
<p></p>
<p></p>
<h3 class="wp-block-heading"><strong><span class="has-inline-color" style="color: #008000;">1</span></strong></h3>
<p>Установка Sublime Text в Debian</p>
<p></p>
<p></p>
<p>Следуем <a href="https://www.sublimetext.com/docs/linux_repositories.html">общей инструкции:</a></p>
<p></p>
<p></p>
<p>Install the GPG key:</p>
<p></p>
<p></p>
<pre class="wp-block-syntaxhighlighter-code">wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -</pre>
<p></p>
<p></p>
<p>Ensure apt is set up to work with https sources:</p>
<p></p>
<p></p>
<pre class="wp-block-syntaxhighlighter-code">sudo apt-get install apt-transport-https</pre>
<p></p>
<p></p>
<p>Select the Stable channel to use:</p>
<p></p>
<p></p>
<pre class="wp-block-syntaxhighlighter-code">echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list</pre>
<p></p>
<p></p>
<p>Update apt sources and install Sublime Text</p>
<p></p>
<p></p>
<pre class="wp-block-syntaxhighlighter-code">sudo apt-get update &amp;&amp; sudo apt-get install sublime-text</pre>
<p></p>
<p></p>
<h3 class="wp-block-heading"><strong><span class="has-inline-color" style="color: #008000;">1.1</span></strong></h3>
<p>Основная настройка Sublime Text</p>
<p></p>
<p></p>
<p>Для управления пакетами надо включить Package Control (<a href="https://packagecontrol.io/installation">инструкция</a>):</p>
<p></p>
<p></p>
<ul class="wp-block-list">
<li>Tools &gt; Install Package Control…</li>
</ul>
<p></p>
<p></p>
<h3 class="wp-block-heading"><mark class="has-inline-color" style="background-color: rgba(0,0,0,0); color: #008000;">1.2</mark></h3>
<p><strong>Расширение возможностей Sublime Text</strong></p>
<p></p>
<p></p>
<ul class="wp-block-list">
<li>Tools &gt; Command Palette… (<strong>Ctrl+Shift+P</strong>)</li>
<li>Начать набор команды «install» &gt; появятся подсказки &gt; Выбрать «Package Control: Install package»</li>
<li>начать набор названия пакета, который надо установить &gt; появятся подсказки &gt; выбрать нужный и даблклик или Enter.</li>
</ul>
<p></p>
<p></p>
<p>Последовательно установить</p>
<p></p>
<p></p>
<ol class="wp-block-list">
<li><a href="https://packagecontrol.io/packages/AdvancedNewFile">AdvancedNewFile</a></li>
<li><a href="https://packagecontrol.io/packages/Anaconda">Anaconda</a> — autocomplete</li>
<li><a href="https://packagecontrol.io/packages/All%20Autocomplete">All Autocomplete</a></li>
<li><a href="https://packagecontrol.io/packages/AutoFileName">AutoFileName</a></li>
<li><a href="https://packagecontrol.io/packages/Base16%20Color%20Schemes">Base16 Color Schemes</a> — стили подсветки кода; мне очень зашло «<em>base16-phd</em>»</li>
<li><a href="https://packagecontrol.io/packages/BracketHighlighter">Bracket​Highlighter</a></li>
<li><a href="https://packagecontrol.io/packages/DocBlockr">DocBlockr</a></li>
<li><a href="https://packagecontrol.io/packages/Emmet">Emmet</a> — шаблоны для верстальщиков</li>
<li><a href="https://packagecontrol.io/packages/Git">Git</a></li>
<li><a href="https://packagecontrol.io/packages/GitAutoCommit">GitAutoCommit</a></li>
<li><a href="https://packagecontrol.io/packages/GitGutter">GitGutter</a></li>
<li><a href="https://packagecontrol.io/packages/Markdown%20Extended">Markdown Extended</a></li>
<li><a href="https://packagecontrol.io/packages/SideBarEnhancements">SideBarEnhancements</a> — слева появляется сайдбар, там и отображаются файлы проекта (и вообще открытые), и появляются команды для управления файлами на ssd</li>
<li><a href="https://packagecontrol.io/packages/SublimeLinter">SublimeLinter</a> — затем плагины для линтеров по определённым правилам для определённых языков</li>
<li><a href="https://packagecontrol.io/packages/Terminus">Terminus</a> — более продвинутая консолька</li>
<li>по слову <em>Theme</em> можно выбрать иную тему оформления, нежели дефолтную Adaptive (<a href="https://www.positronx.io/best-sublime-text-3-themes/">кагбэ рейтинг тем</a>). Для установки темы надо знать её точное название.</li>
</ol>
<p></p>
<p></p>
<p>Restart <strong>Sublime Text</strong>.</p>
<p></p>
<p></p>
<h3 class="wp-block-heading"><strong><span class="has-inline-color" style="color: #008000;">1.3</span></strong></h3>
<p>Тонкая настройка</p>
<p></p>
<p></p>
<p>каждого плагина <strong>Sublime Text</strong> по-отдельности займет некоторое время, но оно того стоит. Ковыряние в файлах настроек и прописывание инструкций приносит ощущение полного контроля и управления. Unix way же!</p>
<p></p>
<p></p>
<p><strong><span class="has-inline-color" style="color: #008000;">1.3.0</span></strong></p>
<p>Базовые настройки</p>
<p></p>
<p></p>
<p>Preferences &gt; Settings</p>
<p></p>
<p></p>
<pre class="wp-block-code"><code>{
	// Общий размер шрифта редактора
	"font_size": 21,
	"word_wrap": true,
	// Set to a value other than 0 to force wrapping at that column rather than
	// the window width. See "wrap_width_style" for extra options.
	"wrap_width": 100,
	// Настройки отступов В КАЖДОМ ФАЙЛЕ
		// Ctrl + Shift + P (to activate the command palette)
		// Type "Indentation",
		// Choose "Indentation: Convert to Tabs"
	"detect_indentation": true,
	"tab_size": 4,
	"translate_tabs_to_spaces": false,
	// Тема оформления
	"theme": "Adaptive.sublime-theme",
	"ignored_packages":
	[
		"Vintage",
	],
	"color_scheme": "Packages/Base16 Color Schemes/Themes/base16-phd.tmTheme",
	"dark_theme": "Adaptive.sublime-theme",
	"light_theme": "Adaptive.sublime-theme",
}
</code></pre>
<p></p>
<p></p>
<h4 class="wp-block-heading"><strong><span class="has-inline-color" style="color: #008000;">1.3.1</span></strong></h4>
<p>Настройка темы</p>
<p></p>
<p></p>
<p>Пусть будет Adaptive.</p>
<p></p>
<p></p>
<p>Preferences &gt; Customize Theme</p>
<p></p>
<p></p>
<p>Откроется два файла, один нередактируемый (общие настройки), второй редактируемый, бо сугубо пользовательский. Идея в том, что из общего можно копировать строки настроек в пользовательский файл и всё будет норм.</p>
<p></p>
<p style="padding-left: 40px;">Иногда эти файлы открываются поодиночке.</p>
<p></p>
<p>Например, впишем это.</p>
<p></p>
<p></p>
<pre class="wp-block-code"><code>// Documentation at https://www.sublimetext.com/docs/themes.html
{
"variables":
	{
	"font_size_sm": 24,	// размер шрифта вкладки
	"font_size": 20,	// размер шрифта названия файла в Side bar
	"font_size_lg": 18,	// размер шрифта группы файлов в Side bar
	},
}
</code></pre>
<p></p>
<p></p>
<p><strong><span class="has-inline-color" style="color: #008000;">1.3.2</span></strong></p>
<p>Настройка Anaconda</p>
<p></p>
<p></p>
<p>В Anaconda встроен довольно строгий линтер, он считает неправильными почти все строки любого кода (и он, конечно, прав), помечая их белыми прямоугольниками. Эту функциональность лучше передать отдельному плагину, бо лучше использовать линтер под свой язык программирования и строго под выбранные юзером правила правописания, которые под тот же Python бывают очень разные. Поэтому</p>
<p></p>
<p></p>
<p>Preferences &gt; Package Settings &gt; Anaconda &gt; Setting — User</p>
<p></p>
<p></p>
<p>Этот файл пуст, можно прописать там и отключение линтера анаконды, и путь к рабочей версии Python:</p>
<p></p>
<p></p>
<pre class="wp-block-code"><code>{
    "settings": {
        "python_interpreter": "/usr/bin/python3",
        "anaconda_linting": false
    }
}</code></pre>
<p></p>
<p></p>
<p>Позже можно будет использовать возможности Anaconda для автоформатирования кода по CTRL-ALT-R (насколько это, конечно, применимо к тому же питону) в соответствии с правилами PEP8. Там тоже надо настраивать точнее, бо по-умолчанию эта шняга заменяет табы четырьмя пробелами.</p>
<p></p>
<p></p>
<p>Быстрое решение:</p>
<p></p>
<p style="padding-left: 40px;">View &gt; Indentation &gt; <em>Tab Width: 4</em> <span style="color: #808080;">//эту настройку в будущем уже не трогаем</span></p>
<p style="padding-left: 40px;">View &gt; Indentation &gt; <em>Convert Indentations to Tabs</em></p>
<p>Или же:</p>
<p style="padding-left: 40px;">В правом нижнем углу окна отображается эта же настройка &#8216;Tab Size: 4&#8217;.</p>
<p style="padding-left: 40px;">Левомышечный клик по ней открывает то же самое меню, что из View. Остаётся кликнуть по последней команде: <em>Convert Indentations to Tabs. </em>Можно использовать каждый раз после CTRL-ALT-R.</p>
<p>Надо пореже использовать CTRL-ALT-R и воспитывать в пальцах изначально принудительное правописание и отступы, в Python этот аспект важнее, чем в других ЯП.</p>
<p></p>
<p><strong><span class="has-inline-color" style="color: #008000;">1.3.3</span></strong></p>
<p>Настройка хоткея для вызова Sidebar</p>
<p></p>
<p></p>
<p>Вызов или через View &gt; Sidebar, или через последовательное нажатие «Ctrl+k, Ctrl+b».</p>
<p></p>
<p></p>
<p>Клавиши можно переназначить, например, на Ctrl+\: Preferences &gt; Package Settings &gt; Side Bar &gt; Key Bindings — User</p>
<p></p>
<p></p>
<pre class="wp-block-code"><code>[
  	// Toggle the Sidebar
  {"keys": ["ctrl+\\"], "command": "toggle_side_bar"},
]</code></pre>
<p></p>
<p></p>
<p><strong><span class="has-inline-color" style="color: #008000;">1.3.4</span></strong></p>
<p><strong><span class="has-inline-color" style="color: #008000;">Настройка консоли для запуска скриптов на Python</span></strong></p>
<p></p>
<p></p>
<p>По-умолчанию дежурный запуск скриптов на Python делается во встроенной консольке через Ctrl+B. Годно, если надо просто что-то выполнить, и нет, если подразумевается интерактивность со стороны юзера.</p>
<p></p>
<p></p>
<p>Ctrl+Shift+P &gt; Package Control: Install Package &gt; Terminus</p>
<p></p>
<p></p>
<p>Затем сохранить в каталог с пакетами (/~/.config/sublime-text/Packages/User/) новый файл <strong><a href="https://gist.github.com/OdatNurd/2aeb8f753a053d9b927a8f125a8e456d">close_terminal.py</a></strong> — это плагин для тонкой обработки будущих окон терминала. В частности, он будет при каждом билде скрипта в разработке держать фокус на окне со скриптом и фокус только на одном окне терминала, чтобы не открывалось новое при каждом нажатии Ctrl+B.</p>
<p></p>
<p></p>
<p>Tools &gt; Build System &gt; New Build System (откроется пустой файл настроек)</p>
<p></p>
<p></p>
<pre class="wp-block-code"><code>{
    "target": "terminus_open",
    "auto_close": false,
    "title": "Pytnon Output",
    "cancel": "terminus_cancel_build",
    "pre_window_hooks":
        [
            ["windows_focus", {"store": true}],
            ["close_terminus_view_by_title", {"title": "Pytnon Output"}],
            ["windows_focus", {"store": false}],
        ],
    "post_window_hooks":
        [
            ["carry_file_to_pane", {"direction": "right"}],
            ["windows_focus", {"store": false}],
        ],
    "shell_cmd": "/usr/bin/python3 -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"},
    "variants":
    [
        {
            "name": "Syntax Check",
            "shell_cmd": "/usr/bin/python3 -m py_compile \"${file}\"",
        }
    ]
}</code></pre>
<p></p>
<p style="padding-left: 40px;">Путь /usr/bin/python3 общий, тут можно задать любое направление к разным версиям, буде таковая необходимость соизволит явиться.</p>
<p style="padding-left: 40px;">Под виндой, соответственно, в shell_cmd надо указать путь к python.exe, и делать это надо чуть заковыристо, через двойные косые: <em>&#171;shell_cmd&#187;: &#171;D:\\.python_venvs\\general_python\\Scripts\\python.exe -u \&#187;$file\&#187;&#187;.</em></p>
<p style="padding-left: 40px;">Эти самые pre_window_hooks и post_window_hooks пришли из плагина <em>close_terminal.py</em></p>
<p></p>
<p>Ctrl+S &gt; дать новому файлу sublime-build имя вроде ’BuildPython3.sublime-build’ и убедиться в том, что он сохраняется в /~/.config/sublime-text/Packages/User/</p>
<p></p>
<p></p>
<p>Tools &gt; Build System &gt; выбрать ’BuildPython3‘</p>
<p></p>
<p></p>
<p>Больше эту настройку можно не трогать. Теперь общий хоткей Ctrl+B вызовет консоль Terminus справа от окна с кодом и в ней выполнит код по заветам прописанного интерпретатора Python.</p>
<p></p>
<p></p>
<p>Перевод фокуса с одной панели на другую с клавиатуры через Ctrl+1 и Ctrl+2 — если на экране две панели (их можно понаоткрывать бесчетно).</p>
<p></p>
<p></p>
<p class="has-text-align-right">тубиконтинуедт, конечно, например на <a href="https://testitslowly.wordpress.com/category/sublime-text/">https://testitslowly.wordpress.com/category/sublime-text/</a></p>
<p></p>]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2021/10/04/sublimitate-textuala/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4685</post-id>	</item>
		<item>
		<title>Выделить вкладку страницы в фокусе в Firefox</title>
		<link>https://testitquickly.com/2020/12/03/pune-style-la-firefox/</link>
					<comments>https://testitquickly.com/2020/12/03/pune-style-la-firefox/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 02 Dec 2020 23:00:12 +0000</pubDate>
				<category><![CDATA[Озарения]]></category>
		<category><![CDATA[Скриншоты]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[userChrome.css]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=4559</guid>

					<description><![CDATA[Когда вкладок много, и непонятно, которая из них открыта прямо сейчас, то можно взять быка за CSS. Раньше-то мы щупали за вымя расширения Firefox, коих было больше, чем нужно, и если у вас раньше hdd не завывал при запуске FF с шестьюдесятью расширениями на борту, то у вас не было детства. Но после перехода FF… <span class="read-more"><a href="https://testitquickly.com/2020/12/03/pune-style-la-firefox/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[Когда вкладок много, и непонятно, которая из них открыта прямо сейчас, то можно взять быка за CSS.

Раньше-то мы щупали за вымя расширения Firefox, коих было больше, чем нужно, и если у вас раньше hdd не завывал при запуске FF с шестьюдесятью расширениями на борту, то у вас не было детства. Но после перехода FF на новый движ, движ с расширениями завял, бо их же переписывать надо. А старый CSS остаётся в строю, ака берданка (она уже не в строю).

<span id="more-4559"></span>

Всего-то надо:
<ul>
 	<li>Открыть в Firefox страницу “<em>about:config”</em></li>
 	<li>Найти параметр <em>toolkit.legacyUserProfileCustomizations.stylesheets</em></li>
 	<li>Одним даблкликом сделать его = <strong>TRUE</strong></li>
 	<li>Открыть страницу “<em>about:profiles</em>”</li>
 	<li>Узнать там КОРНЕВОЙ каталог своего профиля Firefox.
<ul>
 	<li>Кроме корневого есть и локальный каталог, который находится в профиле юзера. Игнорируем локальный каталог.</li>
 	<li>Скорее всего, будет представлено несколько профилей браузера. Надо найти только тот, у которого в разделе «Профиль по умолчанию» отмечено «<strong>да</strong>», остальные игнорим.</li>
 	<li>Название профиля будет нечеловеческим, вроде <em>“04l0hhhm.default-1234551996427”</em> или “<em>p191htyk.default-release</em>”. Это нормально.</li>
</ul>
</li>
 	<li>Открыть — повторюсь — КОРНЕВОЙ каталог своего профиля — и закрыть Firefox.</li>
 	<li>Создать в корневом каталоге своего профиля новый каталог — “<em>chrome”</em></li>
 	<li>Создать в новом каталоге “<em>chrome”</em> новый файл “<em>userChrome.css”</em></li>
 	<li>Записать в файл “<em>userChrome.css”</em> код для управления стилем вкладки в фокусе.</li>
</ul>
Например, такой:

<!-- /wp:post-content -->

<!-- wp:code -->
<pre class="wp-block-code"><code>/* Active Tab text color */
.tabbrowser-tab[selected="true"] {
    font-weight: bold !important;
    font-size: 15px !important;
    color: #d9c3c5 !important;
    }
/* Active Tab background color */
.tab-background[selected="true"] {
    background-color: #4753bd !important;
    background-image: none !important;
    } </code></pre>
<!-- /wp:code -->

<!-- wp:list -->
<ul>
 	<li>Запустить Firefox.</li>
</ul>
<!-- /wp:list -->

<!-- wp:image {"id":4563,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image size-large"><a href="https://testitquickly.com/wp-content/uploads/2020/12/firefoxtabsstyled.png"><img decoding="async" class="wp-image-4563" src="https://testitquickly.com/wp-content/uploads/2020/12/firefoxtabsstyled.png?w=899" alt="" /></a></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->

Если кажется глазовырвно, то надо открывать какой-нибудь GIMP или Paint и выбирать rgb-код более подходящих цветов. Рекомендуется использовать пастельные тона, а не black/white, мы же не на тропе войны.

<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<h2><strong>А давайте ещё фокусы!</strong></h2>
А давайте. Заставим Firefox <span style="color: #ff6600;" data-darkreader-inline-color="">отображать вкладки в несколько рядов</span>.

В тот самый файл “<em>userChrome.css”</em> надо добавить инструкции для отображения вкладок в несколько строк (взяты <a href="https://github.com/MrOtherGuy/firefox-csshacks/blob/master/chrome/multi-row_tabs.css">отсюда</a>):

<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/multi-row_tabs.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */

/* Makes tabs to appear on multiple lines */
/* Tab reordering will not work and can't be made to work */
/* You can use multi-row_tabs_window_control_patch.css to move window controls to nav-bar*/

/* You might want to move tabs-new-tab-button outside tabs toolbar for smoother behavior */

/* Change the --multirow-n-rows to change maximum number of rows before the rows will start to scroll  */

:root{
    --multirow-n-rows: 2;
    --multirow-tab-min-width: 80px;
    --multirow-tab-dynamic-width: 1; /* Change to 0 for fixed-width tabs using the above width. */
}

/* Scrollbar can't be clicked but the rows can be scrolled with mouse wheel */
/* Uncomment the next line if you want to be able to use the scrollbar with mouse clicks */

/* #tabbrowser-arrowscrollbox{ -moz-window-dragging: no-drag } */

/* Uncommenting the above makes you unable to drag the window from empty space in the tab strip but normal draggable spaces will continue to work */

#tabbrowser-tabs{
  min-height: unset !important;
  padding-inline-start: 0px !important
}

@-moz-document url(chrome://browser/content/browser.xhtml){
  #scrollbutton-up~spacer,
  #scrollbutton-up,
  #scrollbutton-down{ display: var(--scrollbutton-display-model,initial) }

  scrollbox[part][orient="horizontal"]{
    display: flex;
    flex-wrap: wrap;
    overflow-y: auto;
    max-height: calc((var(--tab-min-height) + 2 * var(--tab-block-margin,0px)) * var(--multirow-n-rows));
    scrollbar-color: currentColor transparent;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
    scroll-snap-type: y mandatory;
  }
}

.scrollbox-clip[orient="horizontal"],
#tabbrowser-arrowscrollbox{
  overflow: -moz-hidden-unscrollable;
  display: inline;
  --scrollbutton-display-model: none;
}

.tabbrowser-tab{ scroll-snap-align: start; }

#tabbrowser-tabs .tabbrowser-tab[pinned]{
  position: static !important;
  margin-inline-start: 0px !important;
}

.tabbrowser-tab[fadein]:not([pinned]){
  min-width: var(--multirow-tab-min-width) !important;
  flex-grow: var(--multirow-tab-dynamic-width) !important;
  /*
  Uncomment to enable full-width tabs, also makes tab dragging a tiny bit more sensible
  Don't set to none or you'll see errors in console when closing tabs
  */
  /*max-width: 100vw !important;*/
}

.tabbrowser-tab &gt; stack{ width: 100%; height: 100% }

/* remove bottom margin so it doesn't throw off row height computation */
#tabs-newtab-button{ margin-bottom: 0 !important; }

#tabbrowser-tabs[hasadjacentnewtabbutton][overflow="true"] &gt; #tabbrowser-arrowscrollbox &gt; #tabbrowser-arrowscrollbox-periphery &gt; #tabs-newtab-button {
  display: flex !important;
  align-items: center; /* Fx &lt;112 compatibility */
}

#alltabs-button,
:root:not([customizing]) #TabsToolbar #new-tab-button,
#tabbrowser-arrowscrollbox &gt; spacer,
.tabbrowser-tab::after{ display: none !important }</code></pre>
<!-- /wp:code -->

Условно всё в порядке. Если нужно отображать вкладки в три и больше рядов — изменить циферку у параметра “multirow-n-rows”. Ширина вкладок если не устраивает — изменить “multirow-tab-min-width”.

Придётся привыкнуть к тому, что перетаскивание вкладок покажется хаотичным — если двигаешь вкладку со второго или третьего ряда, она резво метнётся в первый ряд.

И ещё какое-то время будет странно не видеть вкладку на том месте, где она была — их прокрутка не даётся даром. К этому тоже привыкаешь.

Посматривать весь список вкладок сразу поможет расширение “Tree Style Tab”.]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2020/12/03/pune-style-la-firefox/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4559</post-id>	</item>
		<item>
		<title>Очень конкретная разница между верификацией и валидацией</title>
		<link>https://testitquickly.com/2020/02/13/sad-but-so-fakin-true/</link>
					<comments>https://testitquickly.com/2020/02/13/sad-but-so-fakin-true/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Thu, 13 Feb 2020 17:08:46 +0000</pubDate>
				<category><![CDATA[F.A.Q.]]></category>
		<category><![CDATA[Банальное]]></category>
		<category><![CDATA[В гостях у психиатра]]></category>
		<category><![CDATA[Видео]]></category>
		<category><![CDATA[Книги]]></category>
		<category><![CDATA[Озарения]]></category>
		<category><![CDATA[тест-дизайн]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Metallica]]></category>
		<category><![CDATA[Ты не идиот]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=4346</guid>

					<description><![CDATA[А действительно, чего это мне кажется, что разница между верификацией и валидацией всем понятна без примера? Нужен конкретный пример. А то без примера каждому… парню кажется, что его принимают за идиота. Например, здравствуйте, дети, вот это револьвер Смит и Вессон. Им можно решать разные задачи на поле боя. А ещё из него программист может выстрелить… <span class="read-more"><a href="https://testitquickly.com/2020/02/13/sad-but-so-fakin-true/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p><iframe title="Metallica: Sad But True (Official Music Video)" width="665" height="499" src="https://www.youtube.com/embed/A8MO7fkZc5o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>А действительно, чего это мне кажется, что разница между верификацией и валидацией всем понятна без примера?</p>
<p>Нужен конкретный пример. А то без примера каждому… парню кажется, что его принимают за идиота.</p>
<p style="padding-left: 40px;">Например, здравствуйте, дети, вот это револьвер Смит и Вессон. Им можно решать разные задачи на поле боя. А ещё из него программист может выстрелить себе в ногу несколько раз. Сейчас я вам это покажу на конкретном примере. Ну, чья нога послужит хорошим, конкретным примером? Кто из вас знает C++?</p>
<p style="padding-left: 40px;">Если пример непонятный — садись и слушай. Однажды, <a href="https://lurkmore.media/%D0%92%D1%8B%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%B8%D1%82%D1%8C_%D1%81%D0%B5%D0%B1%D0%B5_%D0%B2_%D0%BD%D0%BE%D0%B3%D1%83">давным-давно</a>…</p>
<h2><strong><span style="color: #008000;">Глава первая, вступательная в зыбкое болото терминов</span></strong></h2>
<p><strong>Верификация</strong> — проверка соответствия приложения прописанным требованиям.</p>
<p><strong>Валидация</strong> — проверка соответствия приложения всем остальным (подразумеваемым) требованиям.</p>
<p style="padding-left: 40px;">Ну, и чо?</p>
<p>Когда я только выполнял чужие кейсы, это всё было ненужным и абстрактным <span style="color: #ffffff;">лайном.</span></p>
<p>Когда я сам проектировал тесты, да ещё и для какой-то финансовой аппликухи — приходилось знать/понимать точно, какие тесты покрывают прописанные требования (верификационные), а какие тесты покрывают НЕпрописанные требования (валидационные) и соответственно их разделять по разным сборникам тестов. И это всё стало осязаемым и важным.</p>
<p><span id="more-4346"></span></p>
<p>Верификационные тесты, с отсылками к требованиям, программисты принимали, не каркая.</p>
<p>А валидационные запросто отклоняли, бо «тестируется сценарий, которые не предусмотрен требованиями».</p>
<p style="padding-left: 40px;"><strong>Типичный пример</strong>: продвигаемся на каком-нибудь государственном портале по сценарию оформления заказа госуслуги (или на сайте подбора авиабилетов по сценарию заказа авиабилета, не суть). На каждом шаге подтягиваются данные из разных источников, которые передаются между экранами, все дела.</p>
<p style="padding-left: 40px;">Если в этот момент юзер решит вернуться на шаг назад — он должен передвигаться между экранами только через JS-кнопки «back» и «forward» в приложении (почти каждый современный сайт — приложение). Так написано в требованиях, так реализовано программистами.</p>
<p style="padding-left: 40px;">А если нажать на кнопку [Back] в браузере — всё поломалось.</p>
<p style="padding-left: 40px;">Это очевидно для пользователя? Нет.</p>
<p style="padding-left: 40px;">Пользователь может нажать на кнопку [Back] в браузере? Может.</p>
<p style="padding-left: 40px;">И получит белый экран, и все данные пропали? Получит. Вот скриншот. Вот видео. Давайте чинить!</p>
<p style="padding-left: 40px;">Ответ: Declined (out of requirements).</p>
<p>По-молодости я пушил валидационное тестирование наравне с верификационным, бо я был обучен сызмальства сообщать программистам о любой замеченной шняге. Но проекты бывают разными, и что будет нормой в деревне Вилларибо — совсем не то же самое в Виллабаджо (соседней деревне).</p>
<p>А понимал бы я тогда разницу между верификацией и валидацией…</p>
<p style="padding-left: 40px;">«…я, может, и не женился бы» © бородатый папа дяди Фёдора</p>
<h2><strong><span style="color: #008000;">Глава вторая, патетическая, в которой шахматист ВНЕЗАПНО понимает, кто придумал защиту Тартаковича</span></strong></h2>
<p>А теперь будет ход конём.</p>
<p style="padding-left: 40px;">Или про шахматы тоже надо отдельно объяснять?!</p>
<p>Поскольку мы занимаемся только тестированием и игнорируем всю остальную Computer science (нам о ней на курсах не докладывают!), то может показаться, что вся эта верифилидация — сугубо тестерское дело, которое относится только к тест-кейсам.</p>
<p>Нет.</p>
<p>Это всё приходит к нам из предыдущего этапа, на котором кто-то придумывает требования.</p>
<p>Люди, которые создают требования, должны уметь проверять их на внятность, однозначность, непротиворечивость до того, как их выдадут программистам и тестировщикам — всё то, о чём ты лихо говоришь на собеседованиях, но слабо представляешь себе, как именно это надо делать.</p>
<p>И нет, тут подразумевается не покрытие требований тест-кейсами (это всё делается позже, как правило, нами), а проверка требований разными аналитическими инструментами.</p>
<p style="padding-left: 40px;">Все эти наши техники тест-дизайна — это примеры аналитических инструментов. И они нужны не для того, чтобы уменьшать количество тест-кейсов… впрочем… да…</p>
<p>Ещё в прошлом веке человечеству было известно, что сами требования можно и нужно тестировать с помощью — и вот этот ход конём! — тех самых понятий Verification &amp; Validation. Ёпт!</p>
<p>Об этом подробно написано в книге Karl Wiegers „<strong>Software Requirements</strong>“ (third edition) на стр. 331.</p>
<p style="padding-left: 40px;">Где взять эту книгу — а проверь свои гигабайты скачанных, но не прочитанных книг, наверняка она там есть. Или глянь Amazon.</p>
<p style="padding-left: 40px;">Кстати, эту книгу <a href="https://habr.com/ru/post/419235/">перевели</a> на русский язык, но сделали это очень по-уебански*, поэтому надо смотреть только в первоисточник.</p>
<p style="padding-left: 80px;">* Не дёргаемся, это единственно точное слово для описания того перевода.</p>
<p>В той же книге Вигерса на стр. 347 написано про Validating requirements with acceptance criteria. Знакомый термин? Он тоже кажется сугубо тестировщицким? 🙂</p>
<p>Когда дело доходит до тестирования, все эти термины наследуются, поэтому всё так и устроено. И подразумевается, что наследуется и их понимание. Или ещё круче: странно осознавать, что это всё кому-то может быть непонятным. Но принимаем мир таким, какой он есть.</p>
<p>Или вот те <a href="https://dou.ua/lenta/articles/techniques-for-developing-requirements-1/">раз</a>, вот те <a href="https://dou.ua/lenta/articles/techniques-for-developing-requirements-2/">два</a>, вот те <a href="https://dou.ua/lenta/articles/techniques-for-developing-requirements-3/">три</a> — примеры очевидных техник проработки требований. Посмотри, как много из этого понятно тестировщику.</p>
<p style="padding-left: 40px;">Тестировщику надо уметь прорабатывать требования? Надо.</p>
<p style="padding-left: 40px;">Для этого надо быть аналитиком? Нет.</p>
<p style="padding-left: 40px;">Важно уметь не подменять простую <span style="color: #ff0000;">логику</span> («я прочитал требования») с той самой <span style="color: #ff0000;">аналитикой</span> («я изучил требования»).</p>
<h2><strong><span style="color: #008000;">Совершенно ненужный эпилог</span></strong></h2>
<blockquote><p>«Мы считаем сумасшедшими тех, кого не понимаем, и дураками тех, кто не понимает нас.</p>
<p>Поэтому сумасшедшие считают всех дураками, а дураки – сумасшедшими» ©</p></blockquote>
<p style="text-align: right;">You know it&#8217;s sad but true.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2020/02/13/sad-but-so-fakin-true/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4346</post-id>	</item>
		<item>
		<title>Как собрать служебные файлы PdfLaTeX в отдельном каталоге</title>
		<link>https://testitquickly.com/2019/06/15/latex-metafiles-outside/</link>
					<comments>https://testitquickly.com/2019/06/15/latex-metafiles-outside/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Sat, 15 Jun 2019 17:53:03 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Документация]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Kile]]></category>
		<category><![CDATA[LaTeX]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=4217</guid>

					<description><![CDATA[При сборке pdf в каталоге проекта появляется ряд служебных файлов, содержимое которых меняется от билда к билду. Их даже нет смысла засылать в репозиторий. Можно удалять их перед коммитом. find -regex '.*\.\(tex~\&#124;sty~\&#124;sh~\&#124;bib~\&#124;backup\&#124;dvi\&#124;ps\)' -print -delete Можно сказать Kile, что после закрытия надо удалять все «временные файлы». Но закрывать Kile каждый раз перед тем, как сделать коммит… <span class="read-more"><a href="https://testitquickly.com/2019/06/15/latex-metafiles-outside/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>При сборке pdf в каталоге проекта появляется ряд служебных файлов, содержимое которых меняется от билда к билду. Их даже нет смысла засылать в репозиторий.</p>
<p>Можно удалять их перед коммитом.</p>
<pre>find -regex '.*\.\(tex~\|sty~\|sh~\|bib~\|backup\|dvi\|ps\)' -print -delete</pre>
<p>Можно сказать Kile, что после закрытия надо удалять все «временные файлы». Но закрывать Kile каждый раз перед тем, как сделать коммит — как-то странно.</p>
<p>Можно добавить все такие файлы в .gitignore Но эти файлы так и лежат в каталоге проекта.</p>
<p>А можно компилировать проект, принудительно создавая всякие такие файлы в отдельном каталоге.</p>
<p><span id="more-4217"></span></p>
<p>В итоге получится такое:</p>
<pre>Project directory/
|__ main.tex
|__ main.bib
|__ main.pdf
|__ chapter1.tex
|__ chapter2.tex
|__ …
|__ project_metafiles/
| |__ main.aux
| |__ main.bcf
| |__ main.blg
| |__ main.glo
| |__ main.ist
| |__ main.log
| |__ main.toc
| |__ …
|__ figures/
|__ figure1.pdf
|__ …</pre>
<p>Про это всё уже кто-то подумал аж в 2015-ом: <a href="https://texblog.org/2015/08/20/hiding-latex-metafiles-from-project-directory/">texblog.org</a>, но, разумеется, есть нюансы — там нет Kile.</p>
<p>Мои эксперименты с этим трактором заняли часов восемь, самой сложной задачей оказалась неочевидная настройка билд-скриптов в Kile, но он таки завёлся. Заодно я поднаторел в быстром составлении документации по проекту.</p>
<p>Смысл предлагаемого скрипта:</p>
<ol>
<li>собрать pdf с PdfLaTeX.</li>
<li>собрать его библиографию с BibLaTeX.</li>
<li>итоговый скрипт должен лежать в отдельном каталоге, назовём его kile_scripts/</li>
<li>при сборке main.pdf все служебные файлы должны сразу появляться в project_metafiles/</li>
<li>сборка глоссария и индекса в этот скрипт не войдёт (она нужна редко и запускается через отдельный sh-файл)</li>
<li>билдить нужно по этому скрипту, но из Kile („QuickBuild“ по Ctrl+1)</li>
</ol>
<p><strong>Ограничения</strong></p>
<p>Это настройка работает глобально, а название главного файла для сборки проекта прописано жёстко — <em>main </em>(.tex).</p>
<p>Если открыть в Kile другой проект, то скрипт будет искать файл <em>main</em> 🙂</p>
<p>Выходом будет прописывание переменной в файле .sh, а неудобство в том, что этот файл при каждой смене проекта надо обновить, прописав в объявляемой переменной соответствующее название файла для сборки (несколько смягчает ситуацию добавление и комментирование строк).</p>
<p>Полная инструкция в Dropbox: <a href="http://bit.ly/2IjoqC0">http://bit.ly/2IjoqC0</a> /txt</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2019/06/15/latex-metafiles-outside/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4217</post-id>	</item>
		<item>
		<title>настройки PowerPoint</title>
		<link>https://testitquickly.com/2018/11/15/powerpoint-setup/</link>
					<comments>https://testitquickly.com/2018/11/15/powerpoint-setup/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Thu, 15 Nov 2018 14:00:37 +0000</pubDate>
				<category><![CDATA[Конференции]]></category>
		<category><![CDATA[Презентации]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[PowerPoint]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3970</guid>

					<description><![CDATA[Установить формат экрана 16:9 Design tab of the toolbar ribbon. Page Setup &#62; Slides sized for:  выбрать нужный формат. Orientation = Landscape Установить картинку как шаблон слайдов View &#62; Slide master Установить шаблоны для каждого типа слайдов по-отдельности — будет достаточно отредактировать слайды типа &#171;Title&#187; и &#171;Title and Content&#187;. Close Master view. Отредактировать картинку шаблона… <span class="read-more"><a href="https://testitquickly.com/2018/11/15/powerpoint-setup/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<h3><span style="color:#008000;">Установить формат экрана 16:9</span></h3>
<ul>
<li><b>Design</b> tab of the toolbar ribbon.</li>
<li><b>Page Setup</b> &gt; <b>Slides sized for: </b> выбрать нужный формат.</li>
<li><strong>Orientation</strong> = Landscape</li>
</ul>
<h3><span style="color:#008000;">Установить картинку как шаблон слайдов</span></h3>
<ul>
<li><strong>View</strong> &gt; Slide master</li>
<li>Установить шаблоны для каждого типа слайдов по-отдельности — будет достаточно отредактировать слайды типа &#171;Title&#187; и &#171;Title and Content&#187;.</li>
<li><strong>Close Master view.</strong></li>
</ul>
<h3><span style="color:#008000;">Отредактировать картинку шаблона слайдов</span></h3>
<ul>
<li><strong>View</strong> &gt; Slide master</li>
<li>Можно сохранить уже установленную картинку: по нужному слайду правой кнопкой и Save Background</li>
<li>Можно залить свою картинку: по нужному слайду правой кнопкой и Format Background &gt; Fill &gt; Insert from [File].</li>
<li><strong>Close Master view.</strong></li>
</ul>
<h3></h3>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2018/11/15/powerpoint-setup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3970</post-id>	</item>
		<item>
		<title>Вот идёт караван</title>
		<link>https://testitquickly.com/2018/10/05/medjnun/</link>
					<comments>https://testitquickly.com/2018/10/05/medjnun/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Fri, 05 Oct 2018 16:59:20 +0000</pubDate>
				<category><![CDATA[Откровения]]></category>
		<category><![CDATA[Постановка мозгов]]></category>
		<category><![CDATA[Управляторское]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Фотографии]]></category>
		<category><![CDATA[Сектор Газа]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3956</guid>

					<description><![CDATA[Это тоже запись из разряда «Люди, мы дышим воздухом!», но мне это всё кажется очевидным сейчас, а ранее я об этом и не думал. Есть древняя притча про молодого и перспективного джуна, который очень ждал у своего хозяина постоялого двора повышения, бо таньга нада, начальника, и опыт есть, KPI в норме, и уже шайтан-арбу чинилъ-шаталъ… <span class="read-more"><a href="https://testitquickly.com/2018/10/05/medjnun/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p style="text-align: right;">Это тоже запись из разряда</p>
<p>
«Люди, мы дышим воздухом!»,</p>
<p>
но мне это всё кажется очевидным сейчас,</p>
<p>
а ранее я об этом и не думал.</p>
<p>Есть древняя притча про молодого и перспективного джуна, который очень ждал у своего хозяина постоялого двора повышения, бо таньга нада, начальника, и опыт есть, KPI в норме, и уже шайтан-арбу чинилъ-шаталъ нада, нада таньга, очинь нада, давай таньга.</p>
<p><span id="more-3956"></span></p>
<p><strong>Явление первое</strong>. Как-то хозяин постоялого двора, у которого работал упомянутый джун, послал юношу за информацией к главному погонщику каравана, который как раз медленно входил в город. Джун завёл осла, метнулся кабанчиком туды-сюды, и доложил: «<em>Это караван Сноги Мехмеда Ушатаевича</em>».</p>
<p>— А куда он идет?</p>
<p>Джун опять метнулся туды-сюды, и доложил: «<em>В Бухару</em>».</p>
<p>— А откуда?</p>
<p>Джун снова развернул ослика туды-сюды, и доложил: «<em>Из Ташкента</em>».</p>
<p>— А что он везёт?</p>
<p>&#8230;ну, туда-сюда, и всё, ослик сдох. Взмыленный джун смотрит в закат. Он счастлив, он целый день работал, он получит от мёртвого осла уши. KPI зашкаливают.</p>
<p><strong>Явление второе</strong>. На сцене под ружьем на стене курит чай старый сеньор, который больше всего хочет выспаться, а не вот это вот всё то, что вы называете скрам ко всем… Хозяин его <del>будит</del> посылает за информацией к главному погонщику каравана.</p>
<p>Сеньор оседлал мёртвого осла, почапал туды-сюды с перерывом на плов, и по возвращению доложил:</p>
<p style="padding-left: 30px;">— Сообщаю тебе, о наисветлейший из мегапросветленнейших хозяев постоялых дворов, да воздаст тебе Джызус Крайст за все благодеяния, что там Саид Панталонович Бебуришвенко ведёт караван с Бухары в Пакистан, и везёт для паши сорок тонн анаши. Ох, широк Каракум, нет нигде саксаул, нет нигде учкудук и не видно аул. Хочет пить их верблюд, хочет жрать мудак такой, и не хочет вести караван за собой. Их жена, злой шайтан, их ругает башка, съели они свой почтенный ишак до последней кишка. Их жена, гель манды, у них там кутак турды, будет он ом сиктым, растуды его туды. Ковры и пряности погонщик продаёт по двадцать динаров, и я уже договорился, что мы можем всё взять по шешнаддцать динар за древнеперсидский килограмм, да продлит бесконечный Аллах их благословенные дни, а они уже скажут продакт оунеру, что их на границе обокрали злые запорожские закарпатцы, и всем нам будет навар.</p>
<p>Хозяин постоялого двора благостно смотрит на старого сеньора и укоризненно смотрит на джуна, который зазря загнал ослика туды-сюды, а столько полезной информации за один раз не добыл. Джун смотрит на ружьё на стене (оно читало Чехова, оно тоже знает, чем всё закончится). Смеркается.</p>
<p>Дальше полагается просветляться: <span style="color: #008000;"><strong>исполнителю</strong></span> надо разговаривать со своим руководителем языком решений, а не языком проблем. Сделай работу сам. Если столкнулся со сложностью, — реши, а потом доложи, а не наоборот. Предлагай, а не жди указаний, разруливай, а не сбрасывай решение на шефа, А <span style="color: #008000;"><strong>руководителю</strong></span> полагается отучать исполнителей ходить к себе, как к универсальному решателю проблем, заставьте их приходить, как минимум, с уже готовыми вариантами просто посоветоваться. И, как максимум – с отчетом о решенной проблеме.</p>
<p style="padding-left: 30px;">Ох&#8230; Могу рассказать о нескольких случаях, когда я действовал по методу «<em>Сперва реши, а потом доложи</em>». И все три раза я получал серьёзное порицание, буквально на уровне «<em>Тебе было сказано узнать, сколько стоит перевод, а не заказывать его. Теперь сам заплатишь переводчику за работу</em>». Могу, но не буду, бо о себе будем говорить или хорошо, или ничего.</p>
<p style="padding-left: 30px;">Давайте лучше поговорим о погонщике каравана.</p>
<p>Если бы я был погонщиком каравана, и ко мне то и дело подбегал бы кто-то с разрозненными вопросами, то я бы этого бегуна пристрелил, из рогатки, как в детстве. Мало ли древнеперсидских норкомэнов вокруг каравана бегают, что-то непонятное вынюхивают и просят уточнений&#8230;</p>
<p>И старика, который не только информацию собирает, но ещё и неуместные коммерческие предложения выдаёт и к коррупции подталкивает, тоже застрелил бы, дважды. Слишком уж дотошный член общества, вы не находите?! Наверное, тоже норковумэн, раз так подробно про дела семейные выспрашивает и про откат подмигивает.</p>
<p>Мы, тестировщики, чем-то похожи на всех этих древне-притчевых товарищей. Тестирование — сервис по обслуживанию проектов. Наша задача: добыча информации. Мы добываем и продаём информацию, да продлит наш девелоперский Аллах наши дни процветания. И мы можем действовать точно теми же способами:</p>
<ol>
<li>конкретно выполняя то, что говорят (и ничего более);</li>
<li>расчехлять аналитику (действовать системно).</li>
</ol>
<p>Первый совершенно типичен для джуна. Даже скажем так: если джун ведёт себя не так, а иначе, то это очень подозрительный джун.</p>
<p>Второй как раз типичен для тех, кто уже много чего знает-умеет, и попусту уже не дёргается.</p>
<p>Но оба эти способа экстремальны до глупости. Вот более сбалансированный подход:</p>
<ol>
<li>получить задачу и «переспросить, правильно ли я всё понял»;</li>
<li>спросить, какую информацию хочет получить Хозяин постоялого двора о караване;</li>
<li>уточнить, зачем ему нужна эта информация;</li>
<li>пойти к караванщику, представиться, объяснить, кто ты такой, что тебе нужно, куда и кому пойдёт эта информация;</li>
<li>передать надыбанное кому надо в запрошенном формате.</li>
</ol>
<p>Повторюсь: тестирование — сервис.</p>
<p>Это не только описывает наши возможности и ограничения, но и подсказывает, что в момент кризиса в наших услугах нужда будет минимальной, бо в момент кризиса первыми схлопываются сервисные бусинессы. Будущее будет у тех из нас, кто понимает ценность и стоимость добываемой информации, умеет оказывать ожидаемый сервис и умеет расчехлять аналитику вовремя и в нужную сторону, а не наобум Лазаря по своему усмотрению.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-large wp-image-3957" src="https://testitquickly.com/wp-content/uploads/2018/10/sultan.jpg?w=500" alt="Советники" width="500" height="325" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2018/10/05/medjnun/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3956</post-id>	</item>
		<item>
		<title>Страшная история</title>
		<link>https://testitquickly.com/2011/01/06/horror-homicide-testing/</link>
					<comments>https://testitquickly.com/2011/01/06/horror-homicide-testing/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Thu, 06 Jan 2011 21:03:42 +0000</pubDate>
				<category><![CDATA[Постановка мозгов]]></category>
		<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[е-бизнес]]></category>
		<category><![CDATA[Молдова]]></category>
		<category><![CDATA[Песни]]></category>
		<category><![CDATA[Пляски с Аляски]]></category>
		<category><![CDATA[Сказки]]></category>
		<category><![CDATA[Спам]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=2141</guid>

					<description><![CDATA[Рождество в дореволюционной России было таким праздником&#8230; в общем, в ночь на событие полагалось собирать всех детей в темную комнату и рассказывать страшные истории. Дореволюционная Россия немножко закончилась, но страшную историю я рассказать все ещё могу. Это будет история про смелого тестировщика, к которому работа сама прёт в руки. ЗЫ Если что, то тут рассказывается… <span class="read-more"><a href="https://testitquickly.com/2011/01/06/horror-homicide-testing/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Рождество в дореволюционной России было таким праздником&#8230; в общем, в ночь на событие полагалось собирать всех детей в темную комнату и рассказывать страшные истории.</p>
<p>Дореволюционная Россия немножко закончилась, но страшную историю я рассказать все ещё могу. Это будет история про смелого тестировщика, к которому работа сама прёт в руки.</p>
<p>ЗЫ Если что, то тут рассказывается не обо мне, хоть я тоже вроде бы как бы тестировщик.</p>
<p>Дык вот, жил когда-то на другом отсюда свете тестировщик, одна штука.</p>
<p><span id="more-2141"></span></p>
<p>Вот приходит ему на емайл очередной емайл царский, с огроменным логотипом, да таким вот интересным текстом:</p>
<p style="padding-left: 30px;">Даное письмо не является спамом, так как адрес получателя взят из открытых общедоступных источников, чо не запрещено законодательством РМ.</p>
<p style="padding-left: 30px;">Скидки на изготовление сайтов!</p>
<p style="padding-left: 30px;">Бесплатная раскрутка!</p>
<p style="padding-left: 30px;">Подробнее, на нашем сайте &#8212; www.уже не работает.us</p>
<p style="padding-left: 30px;">Республика Молдова, г. Кишинев</p>
<p style="padding-left: 30px;"><strong>Cоздание и продвижение сайтов</strong></p>
<p style="padding-left: 30px;">* сайт-визитка</p>
<p>
* интернет-магазин</p>
<p>
* портал</p>
<p>
* презентации</p>
<p style="padding-left: 30px;">Веб-дизайн, разработка сайтов и веб-приложений, продвижение сайтов &#8212; наш основной профиль. Мы предлагаем Вам создание динамических сайтов с системой управления, а также редизайн сайта, создание оригинального дизайна, создание интернет-магазинов, анализ и аудит сайтов, продвижение сайтов в поисковых системах. Любой уровень, любые возможности.</p>
<p style="padding-left: 30px;"><strong>Реклама в Интернет</strong></p>
<p style="padding-left: 30px;">Мы расскажем о Вашей компании всему миру.</p>
<p style="padding-left: 30px;">Мы разработали собственные, уникальные стратегии, позволяющие в кратчайшие сроки «продвинуть» Ваш сайт в топы поисковых систем, а именно:</p>
<p style="padding-left: 30px;">* поисковое продвижение сайта (SEO)</p>
<p>
* таргетированная (целевая) реклама</p>
<p>
* контекстная реклама,</p>
<p>
* реклама в социальных сетях (SMO)</p>
<p>
* пресс-релизы</p>
<p>
* баннерная реклама</p>
<p style="padding-left: 30px;"><strong>Фирменный стиль</strong></p>
<p style="padding-left: 30px;">Создание логотипов, дизайн визиток и конвертов, разработка бланков и дизайн других элементов фирменного стиля.</p>
<p>Фирменный стиль в нашем понимании — единая концепция выделения Вашей компании на рынке.</p>
<p style="padding-left: 30px;">Поисковая оптимизация, продвижение и раскрутка</p>
<p style="padding-left: 30px;">Обеспечить сайту стабильный приток посетителей – это именно то, что мы делаем с удовольствием. Профессиональная оптимизация и продвижение сайтов в поисковых системах – это наш конек.</p>
<p>По вопросам разработок и продвижения Ваших сайтов, обращайтесь:</p>
<p style="padding-left: 30px;">* по адресу:</p>
<p>
Республика Молдова, г. Кишинев, ул. Студенческая */*</p>
<p style="padding-left: 30px;">* по телефонам:</p>
<p>
Oranje Moldova &#8212; (373) **** (с 8.00 до 21.00)</p>
<p style="padding-left: 30px;">* по e-mail: info@***.us</p>
<p>Испугался наш Тестировщик (<del>пришлось штанишки стирать</del>), чего это письма к нему начинаются с утверждения о том, что он, сцуко, не понимает, где в спамерском емайле спам, а где не спам.</p>
<p>Закручинился он.</p>
<p>А особенно доставило обоснование того, что письмо не спам &#8212; &#171;<em>Даное письмо не является спамом, так как адрес получателя взят из открытых общедоступных источников, чо не запрещено законодательством РМ</em>.&#187; Чо запрещено, а чо и не запрещено&#8230;</p>
<p>Завыла метель, закружились вихри снежные, замерзли путники в степи, не допев песню-инструкцию по пользованию умирающими ямщиками:</p>
<p style="padding-left: 30px;">&#171;А жене скажи</p>
<p>Слово прощальное,</p>
<p>Передай кольцо</p>
<p>Обручальное&#187;.</p>
<p>Кисло стало жить профессорам кислых щей при новой власти. Из катушечных магнитофонов доносилось:</p>
<p style="padding-left: 30px;">&#171;и конечно же ионика.</p>
<p>Руководитель был учителем пения,</p>
<p>он умел играть на баяне&#8230;&#187;</p>
<p>Темной ночью под светом лампадки написал Тестировщик свой ответ:</p>
<p style="padding-left: 30px;">Вот вы <del>долбоёбы</del> не имеете совести, уважаемая студия&#8230;</p>
<p style="padding-left: 30px;">Спам &#8212; это любое несанкционированное сообщение с коммерческой направленностью. Мне <del>до задницы</del> безразлично всё законодательство РМ в этой области, просто &#8212; не пишите мне больше. Хз, где вы взяли мой емайл, но я вам предлагаю его стереть и забыть.</p>
<p style="padding-left: 30px;">Также спешу добавить, что:</p>
<p style="padding-left: 30px;">1. В предложении &#171;Д<em>аное письмо не является спамом, так как адрес получателя взят из открытых общедоступных источников, чо не запрещено законодательством РМ.</em>&#187; в слове &#171;чо&#187; предлагаю вставить букву &#171;т&#187;, а в к слове &#171;Даное&#187; вставьте еще одну букву &#171;н&#187;, <del>спамеры хреновы..</del>.</p>
<p style="padding-left: 30px;">2. Гениальную фразу &#171;<em>Заключая все сказанное, мы Вам гарантируем, что созданный нами сайт, оптимизирован для продвижения, не даст шанса конкурирующим с Вами субъектам!</em>&#187; перепиште полностью по правилам русского языка. Школы все еще работают, спросите помощи у любого преподавателя. А за &#171;<em>конкурирующих субъектов</em>&#171;, конечно же, с меня коньяк.</p>
<p style="padding-left: 30px;">3. В меню сайта в слове &#171;Ексзклюзив&#187; букву &#171;е&#187; поменяйте на &#171;э&#187;.</p>
<p style="padding-left: 30px;">4. Перестаньте называть себя студией, студиозусы&#8230;</p>
<p style="padding-left: 30px;">5. Ну, там еще какие-то мелочи, связанные с сайтом сайтодельцов.</p>
<p>Ну, и отослал.</p>
<p>Ждёт-пождёт, волнуеццо. А вдруг ответный емайл на емайл не дойдет?</p>
<p>Ан нет, дошло:</p>
<p style="padding-left: 30px;">Благодарим за внесение поправок в контент сайта www.***.us (*** studio). Ваш e-mail адрес был удален из списка. Мы предлагаем Вам сотрудничество на выгодных условиях (редактор контента), поскольку наши англоязычные друзья не очень знакомы с русским правописанием. По поводу &#171;студии&#187; &#8212; по правилам, сокол рождается маленьким, и это не лишает его прав называться соколом.</p>
<p style="padding-left: 30px;">С уважением, директор фирмы.</p>
<p>И с тех пор Тестировщик живет-поживает, спам не получает, а редактирует контент на взаимовыгодных для него самого условиях, слушая волков, которые завывают в сотнях километров от его геолокации.</p>
<p>Страшно волков слушать-то. Волки же не знают, как правильно нужно отвечать настоящим тестировщикам на спам всякий мерзостный, вот и ходят голодные, заблудшими овцами питаются.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2011/01/06/horror-homicide-testing/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2141</post-id>	</item>
		<item>
		<title>Тестируем поля логин/пароль</title>
		<link>https://testitquickly.com/2009/09/09/vvodeste-loginu-la-adnaklassni6i/</link>
					<comments>https://testitquickly.com/2009/09/09/vvodeste-loginu-la-adnaklassni6i/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 09 Sep 2009 17:11:57 +0000</pubDate>
				<category><![CDATA[Автоматизация]]></category>
		<category><![CDATA[Банальное]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Логин/Пароль]]></category>
		<category><![CDATA[Читерство]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=1191</guid>

					<description><![CDATA[Как и все собравшиеся в этом мониторе, мне приходится тестировать иногда проклятые поля ввода логина и пароля. И еще поля регистрации нового юзверя. По ходу дела и после поисков по интернетам собрался отдельный файлик с перечнем тематических тестов (еще будет дополняться и всячески обновляться). Полезен и в ратнейшем труде программистов. Повсюду под предложением &#171;Expected: alert&#187;… <span class="read-more"><a href="https://testitquickly.com/2009/09/09/vvodeste-loginu-la-adnaklassni6i/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Как и все собравшиеся в этом мониторе, мне приходится тестировать иногда проклятые поля ввода логина и пароля. И еще поля регистрации нового юзверя. По ходу дела и после поисков по интернетам собрался отдельный файлик с перечнем тематических тестов (еще будет дополняться и всячески обновляться). Полезен и в ратнейшем труде программистов.</p>
<p>
Повсюду под предложением &#171;<span style="color: #008000;"><strong>Expected: alert</strong></span>&#187; подразумевается, что ответ должен быть отрицательным, но система должна как-то сигнализировать юзеру о причине проблемы.</p>
<p style="text-align: center;"><span id="more-1191"></span></p>
<h2><strong>Регистрация нового пользователя</strong></h2>
<ol>
<li>Зарегистрировать нового пользователя с логином new_user. Expected: можно.</li>
<li>Зарегистрировать нового пользователя с логином new_user_test. Expected: можно.</li>
<li>Зарегистрировать нового пользователя с логином new-user. Expected: можно.</li>
<li>Зарегистрировать нового пользователя с логином new1234user. Expected: можно.</li>
<li>Зарегистрировать нового пользователя с логином new@user. Expected: alert.</li>
<li>Зарегистрировать нового пользователя с логином newuser и паролем newuser (полное совпадение). Expected: alert.</li>
<li>использование только ASCII символов в логине – Expected: alert.</li>
<li>регистрация пользователя с логином, содержащим пробелы или состоящим из одних пробелом – Expected: alert.</li>
<li>регистрация пользователя с паролем, содержащим пробелы или состоящим из одних пробелом – Expected: alert.</li>
<li>регистрация пользователя с логином содержащим XSS или SQL injections. – Expected: alert.</li>
<li>а можно ли зарегистрировать пользователя &#171;admin&#187;, и пользователя &#171;аdmin&#187; (где а – из русской расскладки)?</li>
<li>В некоторых случаях разработчики проверяют пользователя в базе с помощью LIKE, и не обрабатывают user input. Поэтому нужно проверить комбинацию %%%/%%% (знак % повторяется 3 раза, чтобы обойти валидацию на минимальную длину).</li>
<li>Логин под существуюшим пользователем &#8212; смена пароля:
<ol>
<li>Создать аккаунт с максимально возможным числом символом в логине
<ol>
<li>Попробовать залогиниться</li>
<li>Попробовать сменить пароль</li>
<li>Причина: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД.
<ol>
<li>Дополнительно: проделать те же шаги, но с количеством символов макс+1</li>
<li>Дополнительно: проделать те же шаги, но
<ol>
<li>с макс. количеством разрешенных символов + пробел (и другие безобидные);</li>
<li>с макс. количеством разрешенных символов + 1 запрещенный.</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
<li>Создать аккаунт с максимально возможным числом символом в пароле</li>
</ol>
<ol>
<li>
<ol>
<li>Попробовать залогиниться</li>
<li>Попробовать сменить пароль (а может &#8212; и сам логин?)</li>
<li>Причина та же: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД.</li>
</ol>
</li>
</ol>
</li>
</ol>
<h2><strong>Ввод некорректных данных</strong></h2>
<ol>
<li>Ввeсти корректный логин и корректный пароль. Expected: успешно залогинен. Разлогиниться. Почистить кэш и куки (открыть/закрыть браузер?).</li>
<li>Оставить оба поля пустыми. Нажать на Login. Expected: alert.</li>
<li>Оставить пустое поле login. Нажать на Login. Expected: alert.</li>
<li>Оставить пустое поле password. Нажать на Login. Expected: alert.</li>
<li>Ввeсти корректный логин и некорректный пароль. Expected: alert.</li>
<li>Ввeсти некорректный логин, но корректный пароль. Expected: alert.</li>
<li>Ввeсти некорректный логин и некорректный пароль. Expected: alert.</li>
<li>В поле логина ввeсти корректный пароль, а в поле пароля ввести корректный логин. Expected: alert.</li>
<li>Ввeсти логин &lt;script&gt;alert(123)&lt;/script&gt; и корректный пароль. Expected: alert.</li>
<li>Ввeсти в поле логина SQL запрос (&#8216; or &#8216;a&#8217; = &#8216;a&#8217;; DROP TABLE user; SELECT * FROM blog WHERE code LIKE ‘a%’;)   &#8212; структура запроса зависит от DB.</li>
<li>Ввeсти в поле логина скрипт (&lt;script&gt;alert(&#171;Hello, world!&#187;)&lt;/alert&gt;, &lt;script&gt;document.getElementByID(&#171;&#8230;&#187;).disabled=true&lt;/script&gt;)</li>
<li>Ввeсти в поле логина html-теги (&lt;form action=&#187;http://live.hh.ru&#187;&gt;&lt;input type=&#187;submit&#187;&gt;&lt;/form&gt;)</li>
<li>Ввeсти в поле логина сложную последовательность символов вроде &#171;♣☺♂&#187; , &#171;&#187;&#8216;~!@#$%^&amp;*()?&gt;,./\&lt;][ /*&lt;!&#8212;&#171;&#187;, &#171;${code}&#187;;&#8212;&gt;</li>
<li>Ввeсти в поле логина текст состоящий из одних пробелов;</li>
<li>Ввeсти в поле логина правильный логин, начинающийся с нескольких пробелов, и правильный пароль. Expected: alert.</li>
<li>Ввeсти в поле логина правильный логин, после которого следуют нескольких пробелов, и правильный пароль. Expected: alert.</li>
<li>Ввeсти корректный логин и корректный пароль. Нажать на кнопку &#171;Назад&#187; в браузере. Expected: непонятно &#8212; или The page should be expired, или увидеть те же поля. Если второе &#8212; ввести в поля снова логин и пароль. Перейти. Залогинен?</li>
<li>Ввeсти корректный логин. Указать пароль с использованием букв РАЗНОГО регистра.</li>
<li>Ввeсти логин с использованием букв РАЗНОГО регистра. Указать корректный пароль.</li>
<li>Зарегистрировать пользователя с логином VasEA. Expected: можно. Попытаться залогиниться, используя в логине буквы только одного регистра (vasea). Expected: можно.</li>
<li>Зарегистрировать пользователя с логином petea/iZMaIL. Expected: можно. Попытаться залогиниться, используя в пароле буквы только одного регистра (petea/izmail). Expected: alert. Алерт должен указать на причину?</li>
<li>Проверить ограничение на длину логина и пароля при регистрации? Ввести  qqweqweqweqweqweqweqweqweqweqweqweqweqweqwe / qqweqweqweqweqweqweqweqweqweqweqweqweqweqwe</li>
<li>Ввести логин/пароль Aa!@#$%^&amp;*()-_+=`~/\,.?&gt;&lt;|b / PaSSword!@#$%^&amp;*()-_+=`~/\,.?&gt;&lt;| Есть ли ограничения на допустимые символы?</li>
<li>Ввести логин/пароль Иван/Болван Возможно ли создание имени/пароль с например кириллицей, если да &#8212; то как потом эта форма отрабатывает?</li>
<li>Ввeсти логин ksjdksbdshdoueywfgjwevflwjeyfvowyecsydcvsldc (несуществующий в базе), оставить поле пароля пустым. Expected: such user doesn&#8217;t exist.</li>
<li>Открыть первый бразуер. Залогиниться валидным юзером. Открыть второй браузер. Залогиниться тем же самым валидным юзером. Expected: можно. Разлогиниться в первом браузере. Expected: можно. Перейти во второй браузер. Сделать что-нибудь, что может сделать только залогиненный юзер. Expected: можно.</li>
<li>Открыть браузер. Ввести в поля валидные данные. Нажать на кнопку Login. Отключить интернет. Получить &#171;страница недоступна&#187;. Подключить интернет обратно. Зайти на сайт. Expected: не залогинен.</li>
<li>Блокируется ли акаунт/IP того, кто введет n-количество раз не правильный пароль?</li>
<li>Установить фокус на поле логина. Ввести текст. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на поле пароля. Ввести текст. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на галочку &#171;remember me&#187;. Нажать кнопку Space на клавиатуре. Expected: появилась галочка. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на кнопку Login. Нажать кнопку Enter на клавиатуре. Expected: процесс пошёл.</li>
<li>User should be a registered user with his/her account expired.    Clicks on the Login button.</li>
<li>A message should appear stating ‘Your account has been expired’.</li>
<li>Проверка на &#8216;Remember me on this computer&#8217;. Заполнить поля валидными данными. Чекнуть галочку Remember me. Залогиниться. Закрыть браузер. Открыть бразуер. Открыть страницу сайта. Expected: логин для входа не требуется.</li>
<li>Ввести логин существующего пользователя, обрамив его уголками: &lt;userlogin&gt;. Причина: иногда валидатор вырезает запрещенные символы и проверяет остаток, однако после прохождения проверки передает дальше оригинальную строку.</li>
</ol>
<h2><strong>Смена/удаление логинов</strong></h2>
<ol>
<li>В базе или настройках сайта указать, что срок годности определенного логина истек. Залогиниться под этим логином. Expected: Alert.</li>
<li>Залогиниться под корректными логином/паролем. Сменить пароль. Залогиниться под новым паролем. Expected: пароль сменен, можно зайти.</li>
<li>Смена пароля и заход под старым
<ol>
<li>запомнить пароль</li>
<li>войти в систему</li>
<li>поменять пароль</li>
<li>разлогиниться</li>
<li>залогиниться обратно со старым паролем. Expected: не пускает.</li>
</ol>
</li>
<li>Залогиниться под корректными логином/паролем. Переименовать аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает. Залогиниться под новым логином/паролем. Expected: пускает.</li>
<li>Залогиниться под корректными логином/паролем. Удалить аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает.</li>
</ol>
<h2><strong>Особые случаи</p>
<p>
</strong></h2>
<ol>
<li>Ввeсти корректный логин и корректный пароль. Скопировать полученный url и вставить его в другой браузер. Expected: It should not display the user&#8217;s welcome page.</li>
<li>Подумать об обработке операции &#171;вставить&#187;, т.е. рассмотреть различные способы ввода данных.</li>
<li>Как формируется запрос к серверу с данной формы (get/post)? Как передается пароль &#8212; в виде хэша или плэйн-текстом в теле ПОСТа?</li>
<li>Если данные передаются в адресной строке браузера в виде «login=bla-bla&amp;password=bla-bla»
<ol>
<li>&#8212; применить все варианты некорректных данных, включая запрещенные символы, и пограничные значения;</li>
<li>&#8212; передать ещё какой-нибудь параметр из существующих, напр. «login=bla-bla&amp;password=bla-bla&amp;state=update»</li>
</ol>
</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2009/09/09/vvodeste-loginu-la-adnaklassni6i/feed/</wfw:commentRss>
			<slash:comments>56</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1191</post-id>	</item>
		<item>
		<title>Выпадающие списки в Excel и Calc</title>
		<link>https://testitquickly.com/2009/01/16/excel-calc-drop-down-list/</link>
					<comments>https://testitquickly.com/2009/01/16/excel-calc-drop-down-list/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Fri, 16 Jan 2009 14:28:18 +0000</pubDate>
				<category><![CDATA[LibreOffice]]></category>
		<category><![CDATA[Автоматизация]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Скриншоты]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Calc]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[O_o]]></category>
		<category><![CDATA[Выпадающие списки]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=1271</guid>

					<description><![CDATA[Как сделать выпадающий список в таблице в Excel или Calc. Пример подобного списка: Понятно, что в этой клинике зубы вырывают только &#171;пакетным&#187; способом, или по 10, или по 20, или сразу по 30, но никак не по 11 или 27?! Еще бы. Простейший способ Подходит, когда будущий список содержит ограниченное количество вариантов. Например, Да Хз… <span class="read-more"><a href="https://testitquickly.com/2009/01/16/excel-calc-drop-down-list/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Как сделать выпадающий список в таблице в Excel или Calc.</p>
<p>
Пример подобного списка:</p>
<p><div id="attachment_236" style="width: 339px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2008/07/list001.jpg"><img decoding="async" aria-describedby="caption-attachment-236" class="size-full wp-image-236" alt="Выпадающий список в табличном редакторе" src="https://testitquickly.com/wp-content/uploads/2008/07/list001.jpg" height="153" width="329" /></a><p id="caption-attachment-236" class="wp-caption-text">Выпадающий список в любом табличном редакторе</p></div></p>
<p>
<em>Понятно, что в этой клинике зубы вырывают только &#171;пакетным&#187; способом, или по 10, или по 20, или сразу по 30, но никак не по 11 или 27?!</em></p>
<p>
<em>Еще бы.</p>
<p>
</em></p>
<h2><span id="more-1271"></span>Простейший способ</h2>
<p>Подходит, когда будущий список содержит <strong>ограниченное</strong> количество вариантов. Например,</p>
<ul>
<li>Да</li>
<li>Хз</li>
<li>Нет</li>
</ul>
<h3 style="color:#ff0000;padding-left:30px;">Excel</h3>
<p>Пишем на листе короткий список пациентов. Хватает даже одного &#8212; &#171;Иван&#187;.</p>
<p>
Выделяем ячейку справа от &#171;Ивана&#187; (как на картинке), и выбираем пункты меню <strong>Data</strong> &gt; <strong>Validation</strong> &gt; <strong>Allow: List</strong> &gt; <strong>Source</strong>.</p>
<blockquote>
<p>Пункты &#171;Data&#187; и &#171;Validation&#187; в русскоязычных версиях называются &#171;Данные&#187; и &#171;Проверка&#187;</p>
</blockquote>
<p>В поле &#8216;Source&#8217; вписываем это:</p>
<blockquote>
<p>Да<strong><span style="color:#ff0000;">;</span></strong>Хз<strong><span style="color:#ff0000;">;</span></strong>Нет</p>
</blockquote>
<p>Пояснение: это значения выпадающего списка. Если нужно что-то добавить, учитываем, что все значения разделяются через точку с запятой.</p>
<blockquote>
<p><span style="color:#ff0000;">Внимание!</span></p>
<p>
В зависимости от некоторых настроек Excel по-умолчанию, бывает, что разделителем является не точка с запятой (<strong><span style="color:#ff0000;">;</span></strong>), а простая запятая &#8212; (<strong><span style="color:#ff0000;">,</span></strong>). Еще не могу сказать точно, где это настраивается, поэтому пробуем оба варианта.</p>
</blockquote>
<p>Итак, контора пишет:</p>
<p><div id="attachment_240" style="width: 418px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2008/07/list002.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-240" class="size-full wp-image-240" alt="Создаем выпадающий список" src="https://testitquickly.com/wp-content/uploads/2008/07/list002.jpg" height="335" width="408" /></a><p id="caption-attachment-240" class="wp-caption-text">Создаем выпадающий список</p></div></p>
<p>
Результат</p>
<p><div id="attachment_241" style="width: 233px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2008/07/list003.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-241" class="size-full wp-image-241" alt="В ячейке создан выпадающий список" src="https://testitquickly.com/wp-content/uploads/2008/07/list003.jpg" height="172" width="223" /></a><p id="caption-attachment-241" class="wp-caption-text">В отдельной ячейке &#171;под курсором&#187; создан выпадающий список</p></div></p>
<p>
Копируем эту ячейку as is (просто курсор находится &#171;на ячейке&#187;, жмем Ctrl+C) повсюду, куда нам нужно (ставим курсор, куда нужно, и жмем Ctrl+V). Можно скопировать даже в другой файл Excel или на другой лист.</p>
<p>
Чтобы ячейки всей колонки показывали выпадающий список, можно вставить эту ячейку со списком напротив пациента &#171;Иван&#187;, и ухватив курсором ее нижний правый край, не отпуская левую кнопку, потянуть ее &#171;вниз&#187;. Весь диапазон заполнится копиями нашей &#171;ячейки со списком&#187;.</p>
<p>
Итого:</p>
<p><div id="attachment_244" style="width: 268px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2008/07/list004.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-244" class="size-full wp-image-244" alt="Итоговый список пациентов и колонка с выпадающим списком" src="https://testitquickly.com/wp-content/uploads/2008/07/list004.jpg" height="183" width="258" /></a><p id="caption-attachment-244" class="wp-caption-text">Итоговый список пациентов и колонка с выпадающим списком</p></div></p>
<h3 style="color:#ff0000;padding-left:30px;">Calc</h3>
<p>Все то же самое, выбираем пункты меню <strong>Data</strong> &gt; <strong>Validity</strong>&#8230; &gt; <strong>Allow: List</strong> &gt; <strong>Entries</strong>.</p>
<p>
Вписываем по одному значению на строку</p>
<ul>
<li><span style="color:#ff0000;">Да</span></li>
<li><span style="color:#ff0000;">Хз</span></li>
<li><span style="color:#ff0000;">Нет</span></li>
</ul>
<p><div id="attachment_247" style="width: 516px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2008/07/list005.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-247" class="size-full wp-image-247" alt="Составляем список в OpenOffice Calc" src="https://testitquickly.com/wp-content/uploads/2008/07/list005.jpg" height="380" width="506" /></a><p id="caption-attachment-247" class="wp-caption-text">Составляем список в OpenOffice Calc</p></div></p>
<p>
А теперь предположим, что бухгалтерия уже две недели шурует с этим файлом, и вдруг требует вставить им еще и варианты &#171;Может быть&#187; и &#171;Частично&#187;&#8230;</p>
<h2>Простейший способ</h2>
<h3 style="color:#ff0000;padding-left:30px;">Excel</h3>
<p>Ставим курсор на ячейку, в которой содержится наш список, и снова взываем к ее редактированию (<strong>Data</strong> &gt; <strong>Validation</strong> &gt; <strong>Allow: List</strong> &gt; <strong>Source</strong>).</p>
<p>
Редактируем список. Но<span style="color:#0000ff;"> не используем клавиши &#171;влево &#8212; вправо&#187;</span>.</p>
<p style="padding-left:30px;">Почему &#8212; просто попробуй, поймешь.</p>
<p>Обязательно жмакаем опцию &#171;Apply these changes to all others cells with same range&#187;. Это объяснит Excel, что внесенные изменения относятся ко всем ячейкам, которые содержат редактируемыми нами список.</p>
<p>
[Ок].</p>
<h3 style="color:#ff0000;padding-left:30px;">Calc</h3>
<p>Надо выбрать все ячейки, в которых находится наш список, снова пройти по <strong>Data</strong> &gt; <strong>Validity</strong>&#8230; &gt; <strong>Allow: List</strong> &gt; <strong>Entries</strong> и изменить значения.</p>
<h2>Мудрейший способ</h2>
<p>Делаем ссылку на отдельно хранящийся список.</p>
<h3 style="color:#ff0000;padding-left:30px;">Excel</h3>
<p>Пишем на листе короткий список пациентов. Хватает даже одного &#8212; &#171;Иван&#187;.</p>
<p>
На том же листе, где-то в верхних (чтобы поближе было) ячейках следует расписать опции будущих выпадающих списков.</p>
<p>
Пример:</p>
<ul>
<li>ячейка А1 &#8212; Да</li>
<li>ячейка В1 &#8212; Хз</li>
<li>ячейка С1 &#8212; Нет</li>
<li>ячейка D1 &#8212; Может быть</li>
</ul>
<p>Переходим к списку пациентов, выделяем первую ячейку в колонке &#171;Заплатил?&#187; (справа от &#171;Ивана&#187;). Ставим курсор туда, где должна будет начинаться будущая колонка с ячейками, которые содержат выпадающий список. В нашем случае &#8212; это колонка &#171;Заплатил?&#187; напротив ячейки со значением &#171;Иван&#187;.</p>
<p>
Выбираем пункты меню <strong>Data</strong> &gt; <strong>Validation</strong> &gt; <strong>Allow: List</strong> &gt; <strong>Source</strong>.</p>
<blockquote>
<p>Пункты &#171;Data&#187; и &#171;Validation&#187; в русскоязычных версиях называются &#171;Данные&#187; и &#171;Проверка&#187;</p>
</blockquote>
<p>В поле &#8216;Source&#8217; вписываем это:</p>
<blockquote>
<p>=$A$1:$C$1</p>
</blockquote>
<p>или это</p>
<blockquote>
<p>=A1:C1</p>
</blockquote>
<p>Или ничего не вписываем, а просто кликаем на квадрат, который находится в правом краю поля Source. Окно превратится в узкую полоску. Мы не пугаемся, а курсором выделяем на листе диапазон ячеек, из которых потом будут взяты данные: A1, B1, C1, D1, E1, F1, G1, и тд, если нужно. Можно даже выделять пустые ячейки, рассчитывая заполнить их позже (мало ли что бухгалтерия придумает).</p>
<p>
В процессе этого выделения ячеек поле Source будет заполняться самостоятельно.</p>
<p style="padding-left:30px;">По-умолчанию Excel запишет выделенный пользователем диапазон через знак &#171;$&#187; &#8212; он указывает, что строго-настрого нужна именно эта ячейка, брать данные только из нее, чтобы ни случилось.</p>
<p style="padding-left:30px;">Если указать просто =A1:C1, то при изменении расположения ячеек на листе (что часто бывает) Excel будет считать, что адрес указанного диапазона может быть изменен.</p>
<p>Дальше все то же &#8212; при наведении курсора на ячейку с выпадающим списком появляется особый указатель. Пользуемся.</p>
<p>
Чтобы ее &#171;размножить&#187; &#8212; хватаем за угол и тянем вниз&#8230; Или копируем куда-нибудь в другое место на листе.</p>
<h3 style="color:#ff0000;padding-left:30px;">Calc</h3>
<p>Почти то же самое, но выбираем пункты меню <strong>Data</strong> &gt; <strong>Validity</strong>&#8230; &gt; <strong>Allow: Cell Range</strong> &gt; <strong>Source</strong>.</p>
<p>
Нужно указывать диапазон руками: <span style="color:#0000ff;">$A$1:$C$1</span>, к примеру. Замечу &#8212; без знака &#171;<span style="color:#ff0000;">=</span>&#171;.</p>
<h3>Кстати</h3>
<p>Можно организовать этот список в &#171;реальный&#187; список на языке табличного редактора.</p>
<p>
Собственно, шаг необязательный, из разряда &#171;З<em>аголовок следует обрамлять тэгом &lt;H1&gt;, но можно и &#171;неформально&#187; обрамить его тэгом &lt;span style=&#187;font-size: 22px;&gt; &#8212; и покажи мне разницу&#8230;</em>&#171;, но имеет место бывать.</p>
<ol>
</ol>
<ol>
<li>Выделите ячейки с данными, которые должны попасть в выпадающий список (например, наименованиями товаров).</li>
<li>Выберите в меню Вставка &#8212; Имя &#8212; Присвоить (Insert &#8212; Name &#8212; Define) и введите имя (можно любое, но обязательно без пробелов!) для выделенного диапазона (например Товары). Нажмите ОК.</li>
</ol>
<p>Можно сделать и так:</p>
<p><div id="attachment_237" style="width: 314px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2008/07/list00.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-237" class="size-full wp-image-237" alt="Выделить диапазон ячеек, и претворить его в &quot;реальный&quot; список" src="https://testitquickly.com/wp-content/uploads/2008/07/list00.jpg" height="231" width="304" /></a><p id="caption-attachment-237" class="wp-caption-text">Выделить диапазон ячеек (А1, В1, С1 в данном примере), и претворить его в &#171;реальный&#187; список</p></div></p>
<p>
В любом случае списку должно быть присвоено уникальное имя.</p>
<ol>
<li>Выделите ячейки (можно сразу несколько), в которых хотите получить выпадающий список и выберите в меню &#171;Данные &#8212; Проверка&#187; (Data &#8212; Validation). На первой вкладке &#171;Параметры&#187; из выпадающего списка &#171;Тип данных&#187; выберите вариант &#171;Список&#187; и введите в строчку &#171;Источник&#187; знак равно и имя диапазона (т.е. =Товары).</li>
</ol>
<p>Почему это круто: список &#171;Товары&#187; можно будет потом произвольно увеличивать или уменьшать. Табличный редактор будет учитывать не определенные ячейки, расположенные в определенном месте, а список as is. И все изменения в списке будут распространяться на все ячейки, которые &#171;проверяют его для создания выпадающих списков&#187;.</p>
<h3>Горячие клавиши</h3>
<p>Курсор стоит на ячейке с выпадающим списком.</p>
<h3 style="color:#ff0000;padding-left:30px;">Excel</h3>
<p><strong>Alt+Down</strong> arrow.</p>
<p>
То есть, Alt+стрелка &#171;вниз&#187;.</p>
<h3 style="color:#ff0000;padding-left:30px;">Calc</h3>
<p>По-умолчанию не установлено.</p>
<p>
<em>В справке написано Ctrl+D, но в справке баг (увы).</em></p>
<p>
Поэтому назначаем лично:</p>
<ol>
<li>Tools &gt; Customize &gt; Keyboard &gt; Shortcut Keys</li>
<li>Проскроллить и выбрать желаемое сочетание клавиш для открытия существующего списка. Я выбрал Ctrl+Down. Внимание, Alt+Down недоступно (вообще все сочетания с Alt тут недоступны для редактирования).</li>
<li>В Functions &gt; Category выбрать Edit.</li>
<li>В Functions &gt; Function выбрать <strong>Selection List</strong>.</li>
<li>Нажать на кнопку Modify.</li>
</ol>
<p><a href="https://testitquickly.com/wp-content/uploads/2009/07/ctrldown.gif"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1001" title="Ctrl+Down" alt="Ctrl+Down" src="https://testitquickly.com/wp-content/uploads/2009/07/ctrldown.gif" height="412" width="500" /></a></p>
<h3>Дополнение</h3>
<p>Всякие другие волшебства на тему выпадающих списков см. на <a title="planetaexcel.ru" href="http://www.planetaexcel.ru/tip.php?aid=34&amp;PHPSESSID=79d94145ebfcd9f42e77ea87aed4c1cf">Planeta Excel</a>. Особенно &#171;<strong>Ссылки по теме</strong>&#171;.</p>
<h1><span style="color:#ff0000;"><strong>Внимательное внимание!</strong></span></h1>
<p>Прием комментариев к этой записи завершён.</p>
<p>
&#171;<em>Как зделать так чбо если в віпадающем списке нет нужного варианта я в ручную набираю в етой ячейке и оно автоматически добавляется в віпадающий список, и след раз уже там есть&#187; — </em>хз.</p>
<p>
Тут нам не то, и не это. Не надо задавать вопросы о том, как сделать ещё что-то с этими прекрасными выпадающими списками. Здесь даже не форум по Excel. Это блог о тестировании программного обеспечения.</p>
<p>
Вы же любите тестировать, правда?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2009/01/16/excel-calc-drop-down-list/feed/</wfw:commentRss>
			<slash:comments>70</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1271</post-id>	</item>
	</channel>
</rss>
