На память | Snussi's home in the web space https://www.snussi.ru/var_articles Статьи на разные темы Анимация в iOS <p>Почти целый день проебался с одной проблемой с анимацией.</p><p>Запускается анимация по перемещению двух View, примерно такая:</p><div class="code">[UIView animateWithDuration:2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UIViewAnimationOptionCurveLinear <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | UIViewAnimationOptionOverrideInheritedOptions<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | UIViewAnimationOptionBeginFromCurrentState<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;animations:^{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NSLog(@"начало анимации");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;animControllerNew.view.frame=newFrame;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;animControllerOld.view.frame=oldFrame;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;completion:^(BOOL finished){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NSLog(@"конец анимации, finished=%d",finished);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}];</div><p>Внутри вьюшек есть свои анимации.</p><p>Пару-тройку раз после запуска все работает как надо, вьюшки ползают по две секунды, потом начинают перещелкиваться мгновенно. При этом, finished = true, т.е. анимация, вроде как, закончена успешно.</p><p>Решение оказалось неожиданно простым: перед каждым созданием анимацией добавить строку</p><div class="code">[UIView setAnimationsEnabled:YES];</div><p>Причем, что самое странное, никто анимацию в коде не отключает. Но метод работает.</p><p>Как говорится - хозяйке на заметку :)</p> https://www.snussi.ru/var_articles/8.html Vasiliy "Snussi" Shokov snussi@snussi.ru Sat, 16 May 2015 13:11:55 +0300 https://www.snussi.ru/var_articles/8.html программинг ios objective c Разделитель в CSV файле <p>Все время забываю, поэтому добавлю-ка сюда напоминалку.</p><p>Итак - как задать разделитель в CSV файл, чтобы при открытии Excel-ем данные сразу разносились по колонкам?</p><p>Ответ: первой строкой добавить <b>sep=</b> и указать разделитель. Например, для точки с зяпятой:</p><div class="code">sep=;</div> https://www.snussi.ru/var_articles/7.html Vasiliy "Snussi" Shokov snussi@snussi.ru Sun, 25 May 2014 17:09:52 +0400 https://www.snussi.ru/var_articles/7.html программинг excel Автоматический перезапуск демона <p>Пока проверяется файловая система на моем сервере, я решил написать короткую заметку о том, как автоматически перезапускать демон на под линуксом.</p><p>Метод крайне топорный, но работает - добро пожаловать под кат.</p> https://www.snussi.ru/var_articles/6.html Vasiliy "Snussi" Shokov snussi@snussi.ru Tue, 19 Mar 2013 19:59:47 +0400 https://www.snussi.ru/var_articles/6.html администрирование linux Пароль к WiFi на маке <p>Лично я часто сталкиваюсь с ситуацией, когда нужно вспомнить пароль к WiFi. При этом, есть подключенный к ней ноутбук, в котором этот пароль уже где-то есть...</p><p>Итак, запускаем программу <b>Связка ключей</b> из папки <b>Утилиты</b>.</p><p><span class="image-border left" style="width: 395px;"> <a href="/images/imaginator/dynamico/var_articles/5/big/keys.jpg"><img alt="" src="/images/imaginator/dynamico/var_articles/5/keys.jpg" width="395" height="249"/></a> </span> </p><p><p class='cls'></p><p>В поле поиска вбиваем имя сети и выбираем связку ключей <b>Вход</b>.</p><p>Ставим галочку Показать Пароль, вбиваем пароль учетной записи - и видим наш драгоценный пароль. </p><p><span class="image-border left" style="width: 381px;"> <a href="/images/imaginator/dynamico/var_articles/5/big/key.jpg"><img alt="" src="/images/imaginator/dynamico/var_articles/5/key.jpg" width="381" height="249"/></a> </span> </p><p><p class='cls'></p><p>Все!</p> https://www.snussi.ru/var_articles/5.html Vasiliy "Snussi" Shokov snussi@snussi.ru Mon, 21 May 2012 17:34:10 +0400 https://www.snussi.ru/var_articles/5.html mac os использование Доступ к пассивным FTP через Linux роутер <p>Сегодня открыл для себя интересную особенность Iptables в Linux (CentOS 6).</p><p>Итак, клиент пытается подключиться на пассивный FTP, на фаерволе открыты <b>20</b> и <b>21</b> порты на Forward + разрешены все соединения со статусами <b>ESTABLISHED</b> и <b>RELATED</b>, а подключиться клиенту не удается.</p><p>После гугления, решение оказалось простым как 5 копеек: в <b>/etc/sysconfig/iptables-config</b> добавляем или меняем строчку </p><div class="code">IPTABLES_MODULES="nf_conntrack_ftp nf_nat_ftp"</div><p>Эти два модуля, разумеется, должны в системе присутствовать.</p><p>После этого, перегружаем iptables.</p><p>В результате, <b>lsmod</b> должен выдать что-то в духе:</p><div class="code">nf_nat_ftp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2602&nbsp;&nbsp;0 <br />nf_conntrack_ftp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10475&nbsp;&nbsp;1 nf_nat_ftp<br />nf_conntrack&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 65524&nbsp;&nbsp;6 nf_nat_ftp, nf_conntrack_ftp, iptable_nat, nf_nat, nf_conntrack_ipv4, xt_state</div><p>Собственно, все. Лезем любимым FTP клиентом и наслаждаемся пассивным режимом.</p> https://www.snussi.ru/var_articles/4.html Vasiliy "Snussi" Shokov snussi@snussi.ru Sun, 11 Mar 2012 23:51:18 +0400 https://www.snussi.ru/var_articles/4.html администрирование linux сеть Запуск скрипта из OpenVPN <p>Если вы пользуетесь OpenVPN GUI - эта заметка не для вас. Если же вы пользуетесь демоном - вот тут вам может и пригодиться этот поток сознания.</p><p>Итак, нам нужно запустить скрипт (в моем случае - монтирующий сетевые диски) после того, как OpenVPN подключился к сети.</p> https://www.snussi.ru/var_articles/3.html Vasiliy "Snussi" Shokov snussi@snussi.ru Wed, 19 Oct 2011 11:31:45 +0400 https://www.snussi.ru/var_articles/3.html администрирование linux сеть Скриншоты в Mac OS X <p>В Mac OS нет необходимости (по крайней мере, острой) устанавливать сторонние утилиты для создания скриншотов - утилита есть уже в в системе.</p><p>Чтобы создать скриншот в виде файла на рабочем столе, нажмите:</p><ul><li><b>Command + Shift + 3</b> - чтобы захватить весь рабочий стол.</li><li><b>Command + Shift + 4</b>, затем <b>выделить область</b> мышкой - захватить выделенную область.</li><li><b>Command + Shift + 4</b>, затем нажать <b>пробел</b> и щелкнуть по необходимому окну - захватить выделенное окно.</li></ul><p>Если при этом зажать еще и <b>Control</b>, то скриншот вместо записи в файл попадет в буфер обмена.</p><p>Формат скриншота по-умолчанию - png, его можно изменить (например на jpg) при помощи команды (в терминале):</p><div class="code">defaults write com.apple.screencapture type jpg</div><p>Затем необходимо либо выйти и войти, либо просто перезапустить процесс UI (тоже через терминал)</p><div class="code">killall SystemUIServer</div> https://www.snussi.ru/var_articles/2.html Vasiliy "Snussi" Shokov snussi@snussi.ru Mon, 03 Oct 2011 20:22:43 +0400 https://www.snussi.ru/var_articles/2.html mac os использование Изменение порта RDP в Windows <p>Первая, короткая статья - как изменить порт для подключений к удаленному рабочему столу в Windows.</p> https://www.snussi.ru/var_articles/1.html Vasiliy "Snussi" Shokov snussi@snussi.ru Mon, 03 Oct 2011 19:55:05 +0400 https://www.snussi.ru/var_articles/1.html администрирование windows реестр