2 августа 2016 г.

Python. Задача №1. Три, пять, пятнадцать

Задание: для чисел от 1 до 100 вывести число и «три» для всех чисел, делящихся без остатка на 3, число и «пять» — для делящихся на 5, число и «пятнадцать» — делящихся и на 3, и на 5.

Решение:
for i in range(1, 100):
 if (i % 3 == 0) and (i % 5 == 0):
  print(i, ' ', 'пятнадцать')
 elif i % 5 == 0:
  print(i, ' ', 'пять')
 elif i % 3 == 0:
  print(i, ' ', 'три')
Эту задачу племяш не решал, код подготовил я, на ней мы рассматривали возможности чудесного управления компьютером. Сначала вывели числа делящиеся на 3, потом на 5, потом вместе пытались добавить вывод чисел, делящихся на 15, и искали и исправляли ошибки в коде.
Далее я построчно объяснил смысл кода и дал задание прочитать документацию на работу с числами, условный оператором и циклом for.
Следующее задание племяш будет решать уже самостоятельно, я буду стараться только отвечать на возникающие вопросы и напрявлять пытливый ум.

Python. Изучение

Подвизался я тут ввести племянника в дивный новый мир программирования. Племяшу 12 лет, знаний по нулям. От перспективы самостоятельно кодить под мобилку глаза загорелись огнем. Но с чего начать? Сам я много лет назад начинал с BASIC, писал под какую-то БК, сейчас даже не вспомню, какую именно. Следующим шагом стало изучение Pascal под x86, далее Delphi, Visual Basic и так далее и тому подобное.
Понятно, что сейчас ковырятся в дедушкином Pascal смысла нет практически никакого. Думал я, думал, и решил остановиться на Python. Привлекли простой синтаксис и простота входа помноженные на современность, возможности и востребованность.
Решено, поехали в Python. Прогресс буду отмечать тут под одноименным тегом, посмотрим, что из этого вырастет :-)

17 февраля 2015 г.

Жизнь и смерть сервисов

Ничто, как известно, не вечно. Сегодня наткнулся на Хабре на любопытную статью, которую непременно надо было поместить в закладки, чтобы обратиться к ней позже. Вспомнил, что есть у меня регистрация в популярном некогда ресурсе, delicious.com. Добавил ссылочку в него и удивился цифрам 1:1 под сохранённой ссылкой.


Несвежая статья из топа Хабра, и я первый? Что ж, похоже звезда Delicious безвозвратно закатилась.
А чем принято пользоваться теперь для сохранения ссылок?

24 ноября 2014 г.

Как отключить автоматическую перезагрузку Windows после автоматической установки обновлений

У Windows есть неприятная особенность: после установки обновлений выводится сообщение о необходимости перезагрузки и уведомлением, что перезагрузка будет выполнена автоматически спустя определенное время. Что обычно и происходит. После перезагрузки Windows честно пытается восстановить все несохраненные данные и, естественно, у нее это получается далеко не всегда. С запущенными виртуальными машинами, к примеру, после такого можно смело прощаться.
Как это вылечить?
Я нашел два способа, один через оснастку администрирования, второй — для любителей ковыряться отверткой, через реестр.

Способ первый

Выполните gpedit.msc (Local Group Policy Editor)
В списке найдите политику Local Computer Policy / Computer Configuration / Administrative Templates / Windows Components / Windows Update / No auto-restart with logged on users for scheduled automatic updates installations и установите её свойство в Enabled.

 Способ второй

Загрузите редактор реестра regedit и найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoRebootWithLoggedOnUsers. Если его нет, создайте. Ключу требуется присвоить значение 1.

Перегрузите компьютер.
Теперь принудительная перезагрузка совершаться не будет, Windows дождется вашего соизволения.

18 июля 2013 г.

BAT-скрипт: удалить содержимое папки

Скрипт удаления содержимого папок. Удобен для очистки временных и прочих мусорных папок.
@echo off
:: Удалить все файлы из папки 
call :ClearFolder "D:\Мои документы\Загрузки"
call :ClearFolder "%TEMP%"
exit /b

:ClearFolder
call :DeleteSubFolders %1
call :DeleteFiles %1
exit /b

:DeleteSubFolders
:: Удалить подпапки
:: В параметре %~1 передается имя папки
:: Команда dir выводит список имен папок
:: для каждого найденного элемента вызывается команда rd с ключами удаления со всем содержимым
for /f "tokens=*" %%a in ('dir "%~1" /A:D /B') do @(rd /s /q "%~1\%%a")
exit /b

:DeleteFiles
:: Удалить файлы из папок и подпапок
del /s /q "%~1\*.*"
exit /b

Microsoft SQL Server 2008: как включить xp_cmdshell

Решить эту задачу поможет простой скрипт:
use [master]
go
exec sp_configure 'show advanced options', 1
go
reconfigure
go
exec sp_configure 'xp_cmdshell', 1
go
reconfigure
go

18 декабря 2012 г.

Как отключить автозапуск

Понятно, почему по умолчанию эта функция включена. Как обычно, пользователь Windows туп и беспомощен, система должна по максимуму ему помогать. Сунул флешку — надо вывести список возможных действий, а то пользователь может и не знать, зачем он это сделал.

Поскольку эта операция (отключение автозапуска) одноразовая, я каждый раз забываю, как это делается. Пишу, чтобы не искать в следующий раз.

Инструкция для Windows XP:
  1. Выполнить gpedit.msc.
  2. Развернуть Конфигурация компьютера, Административные шаблоны и Система (Computer Configuration, Administrative Templates, System).
  3. Включить политику Отключить автозапуск (Turn off Autoplay) и установить Все диски (All drives) в свойствах.

Окно групповых политик

Свойства политики отклюения автозапуска

Дополнительную информацию по теме можно почерпнуть в статье на сайте Microsoft.

Вообще, давно надо настроить reg-файл, содержащий все выставляемые мною после переустановки ОСи настройки. Но много чего надо бы…