среда, 29 декабря 2010 г.

Игры в Linux

Людей, переходящих с MS Windows на Linux, интересует вопрос об играх. Можно ли играть в знакомые игры из мира MS Windows в Linux или только в родные для Linux игры? Вот и давайте разберёмся ...

понедельник, 27 декабря 2010 г.

Open Source и фильмы. Часть 1.

Фильмы и анимационные ленты, в которых упоминаются продукты Open Source.

Правила AppArmor

AppArmor — программный инструмент упреждающей защиты, основанный на политиках безопасности (известных также как профили (англ. profiles)), которые определяют, к каким системным ресурсам и с какими привилегиями может получить доступ то или иное приложение. В AppArmor включён набор стандартных профилей, а также инструменты статического анализа и инструменты, основанные на обучении, позволяющее ускорить и упростить построение новых профилей.

воскресенье, 26 декабря 2010 г.

Как связать Access с MySQL

В статье рассказывается как связать MS Access с базой данных MySQL, чтобы данные хранились не в файле mdb, а в таблицах MySQL.

1) Нужно поставить MySQL сервер, скачав по адресу mysql.com. Ставится легко, главное указать пароль к серверу и не забыть его.

2) Нужно установить ODBC driver, скачав по адресу mysql.com. Без него Access не сможет подключаться к MySQL.

3) Access умеет работать со связанными (linked) таблица, но они уже должны быть уже созданы! На рисунке видно что создана база данных (database) my_access с таблицей mytable1. В mytable1 созданы 2 поля id и FIO для примера. Создавать базу данных и таблицы можно любым доступным способом, я использовал MySQL Query Browser из mysql-gui-tools-5.0-r17-win32.msi. Этот этап называется проектированием базы данных и тут подробно расписывать не буду, это отдельная история. Смысл один! Нужно создать базу данных и нужные таблицы с нужными полями.

четверг, 23 декабря 2010 г.

История развития операционных систем UNIX и MS Windows

История операционных систем началась не сегодня и не вчера. Многим операционным системам уже много лет, десятков лет. Как они развивались и какими стали за столько лет можно узнать из сводной таблицы.

Виртуальные, не анонимные пользователи proftpd

У вас должен быть установлен FTP сервер proftpd. Во FreeBSD лучше устанавливать из портов, в Linux системах с пакетным менеджментом с помощью штатного менеджера пакетов, например в Ubuntu sudo apt-get install proftpd-basic

Движение Open Source

Лекция для школьников старших классов «Движение Open Source»

вторник, 21 декабря 2010 г.

Установка программ в Ubuntu

Замечено, что новички, нахватавшись чуток знаний, начинают помогать другим новичкам, НЕ правильно показывая процесс установки программ в Ubuntu.

суббота, 18 декабря 2010 г.

SSH — авторизация по ключу

SSH предоставляет 3 способа аутентификации клиента: по ip адресу клиента(небезопасно), по публичному ключу клиента и стандартный парольный метод. В данной статье рассмотрим аутентификацию удалённого пользователя по ключу с полным запретом доступа по паролю на FreeBSD используя OpenSSH. Публичный ключ пользователя хранится на сервере, секретный ключ у клиента.

вторник, 7 декабря 2010 г.

Как узнать, на какой CMS сделан сайт

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

воскресенье, 28 ноября 2010 г.

Wifi карта Atheros AR5007EG /AR242x & Linux

У обладателей таких ноутбуков, как: Asus X51RL, Fujitsu-Siemens s6420, Toshiba a201, Samsung NC10, Amilo Mini 3520, Acer Aspire 5315 и еще многих других, есть одна общая проблема - Wifi карточка Atheros AR5007EG / AR242x, работоспособность которой после установки Linux-системы, как правило, оставляет желать лучшего. Благодаря проекту madwifi, установка драйверов Atheros не доставляет много проблем.

среда, 24 ноября 2010 г.

Убунту с нуля. Первое включение, первые настройки

Итак, мы установили Убунту и включили в перый раз. Интерфейс изначально будет на английском. Как раз с перевода его на русский мы и начнем настройку системы. Вот так будет выглядить наш рабочий стол.

суббота, 20 ноября 2010 г.

C днем рождения, Windows

Windows 1.01, выпущенная 20 ноября 1985 года, была первой попыткой Microsoft реализовать многозадачную операционную среду для персонального компьютера на основе графического интерфейса.

суббота, 6 ноября 2010 г.

Сборка ядра FreeBSD. Если что-то пошло не так...

# make installkernel KERNCONF=NEW_KERNEL

В основном, процесс сборки, обновления и установки нового ядра FreeBSD проходит довольно гладко. Однако иногда бывает что-то пойдет не так, (увлёкшись чисткой лишнего, можно исключить и что-то нужное из состава ядра). Кстати, и на моей практике такое случалось пару раз. Ситуация осложнялась тем, что сервера находились удаленно и физического доступа к консоли сервера для принятия мер по оживлению системы нет.

Тут выхода два - либо самому ехать, либо объяснять по телефону как и что нужно сделать. И успех этой операции полностью зависит от вменяемости человека на другом конце провода. Собственно поэтому и решил написать статью, всегда проще дать ссылку, чем объяснять человеку на слух. Заодно расскажу про некоторые меры предосторожности при сборке нового ядра во FreeBSD.

пятница, 5 ноября 2010 г.

Сборка ядра в FreeBSD

Зачем нужно пересобирать ядро (kernel)?

При инсталляции FreeBSD мы сразу же имеем вполне работоспособное ядро. Зачем его переделывать? Дело в том, что это ядро (GENERIC конфигурация) предназначено для того, чтобы система успешно развернулась на "железе" любой конфигурации (из поддерживаемых, конечно). В эту конфигурацию встроена поддержка ВСЕХ типов накопителей (HDD и CD) и БОЛЬШИНСТВА сетевых карт, которые на данный момент поддерживаются FreeBSD. Это вполне логично - вы должны иметь возможность поставить свой Unix и дополнительные программы на тот HDD, который имеется у вас в машине и суметь войти в сеть, какой бы сетевой карточкой вы ни пользовались, хотя на новом железе это далеко не всегда так даже на FreeBSD 7.1 (могу привести кучу примеров тому в подтверждение).

Наряду с этим, в ядро не включены полезные опции, которые обязательно вам понадобятся в дальнейшем, если вы хотите использовать вашу машину в качестве сервера. (Например - поддержка firewall, PPP, VPN и т.п.).

вторник, 26 октября 2010 г.

VGA-кабель своими руками

Толстый и короткий кабель “компьютер-монитор” иногда бывает причиной неудобств. Но существует недорогое решение этой проблемы, доступное даже начинающему радиолюбителю.

Если у вас возникнет необходимость перенести монитор в удалённое от компьютера место, вы столкнётесь с проблемой. Дело в том, что длина VGA-кабелей, как правило, не превышает полутора метров. Но из этой ситуации есть выход – достаточно использовать витую пару категории 5.

суббота, 23 октября 2010 г.

Да, оконный менеджер командной строки, звучит несколько странно, тем не менее, речь пойдет именно о нем.
Программа Screen, является полноценным оконным менеджером для терминала, найти ее можно практически в любой Unix-подобной системе, в данном случае речь как всегда пойдет о Freebsd. Screen позволяет запускать несколько виртуальных терминалов, по умолчанию запускается системная оболочка, в одном физическом терминале и переключаться между окнами, выполняя в каждом, различные задачи.

вторник, 12 октября 2010 г.

Linux, как же я тебя люблю! BASH скрипты спасают веб-мастеров!

Вам приходилось когда-нибудь сжимать для веб-сайта пару сотню картинок и еще потом все картинки переименовать, с верхнего регистра в нижний, *.JPG -> *.jpg, думаю в Windows возникнут проблемы сделать это быстро и без сторонних программ, таких как Photoshop.

четверг, 30 сентября 2010 г.

История развития компьютеров

Персональный компьютер стал воплощением множества открытий и изобретений. Первые компьютеры были очень похожи на простейшие калькуляторы. Они прошли путь от простых механических до сложных цифровых электронных устройств. Ниже перечислены основные события, которые тем или иным образом повлияли на развитие компьютерной техники. Естественно, этот список не претендует на полноту.

воскресенье, 26 сентября 2010 г.

PHP Как настроить сервер для отправки email

1 Как настроить Linux-сервер

Если вы подошли к чтению этой статьи, это означает, что вы решили производить отправку почты посредством транспортного почтового агента (MTA), установленного на Вашем сервере, и столкнулись с проблемами.

Не стоит забывать, что отправка почты при помощи сокетов не требует установленного MTA, а позволяет использовать любой доступный для вас сервер, готовый принимать почту, к примеру, mxs.mail.ru.

Если у вас на экране появилось ошибка "Fatal error: Call to undefined function: mail()", это значит, что либо PHP собран без поддержки функции mail, либо она запрещена настройками сервера. Первое может возникнуть в том случае, если во время сборки скрипт configure не смог найти sendmail. Убедитесь, что путь к sendmail прописан в переменной окружения PATH, и попробуйте пересобрать PHP. Также посмотрите значение переменной disable_functions в файле php.ini.

суббота, 25 сентября 2010 г.

PHP Альтернативные способы отправки писем

На сегодняшний день распространены следующие способы отправки писем из php-скриптов:

  • Посредством вызова функции mail
  • Непосредственно вызовом sendmail-а
  • При помощи сокетов
  • Используя COM-объект

пятница, 24 сентября 2010 г.

PHP отправка письма с картинками

Отправка письма с вложением и отправка HTML-письма с вложением существенно отличаются по своей природе. Конечно же, и те и те находятся в теле письма, закодированы в base64, но используемые в обоих случаях заголовки различаются. В данном статье описывается, как отправить HTML-файл с внедренными (в отличие от прикрепленных) изображениями, используя класс Mime_mail. Подразумевается, что предыдущую статью Вы уже прочитали.

четверг, 23 сентября 2010 г.

PHP отправка письма с файлом

С такой задачей сталкивалось огромнейшее количество разработчиков и, как следствие, существует огромнейшее количество готовых решений. Большинство из них содержит различного рода ошибки, реализовывает не всю функциональность или сложны в применении. Но самый весомый минус – подавляющая масса разработчиков после написания класса, отвечающего его личным потребностям сегодняшнего дня, никогда более не возвращаются к поддержке и доработке исходных кодов.

среда, 22 сентября 2010 г.

Как отправить письмо средствами PHP

Самый простой способ отправить письмо при помощи PHP – воспользоваться стандартной функцией mail. Она имеет следующий синтаксис:

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])

Обязательные параметры:

  • E-mail получателя
  • Заголовок письма
  • Текст письма

четверг, 16 сентября 2010 г.

Быстрый доступ к оснасткам Windows

Эти советы будут полезны тем, кто часто пользуется командной строкой или использует в своей работе скрипты. Порой бывает проще добраться до оснасток Виндовса просто набрав «название.cpl» или «название.msc» в окошке «Выполнить», особенно это актуально в Висте и семерке. Например, доступ к оснастке «Сетевые подключения». Перечислю наиболее часто используемые.

среда, 15 сентября 2010 г.

Online синонимайзеры. Обзор

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

Можно нанять профессионального копирайтера, который тщательно изучит многие источники информации, сформирует собственное мнение и изложит свои рассуждения в виде красивого текста. Результат, конечно, хорош, но требует значительных временных и денежных затрат. Можно пойти более простым путем: взять уже написанный кем-то текст из интернета, переписать своими словами и получить новый продукт (во всяком случае, с точки зрения поисковиков). Рерайтинг обойдется несколько дешевле, но, все же, потребует немалого времени.

пятница, 3 сентября 2010 г.

Убунту с нуля. Установка

Установка Убунту практически не отличается от установки Виндовса. Более того, Убунту можно установить из-под Виндовса как обычную программу! Но делать этого мы не будем :) Установка с диска, флешки или другого носителя отличается только выбором устройства загрузки. Итак, поехали! (На момент написания статьи актуальная версия Ubuntu 10.04)

вторник, 31 августа 2010 г.

Убунту с нуля. Вступление

Начинаю писать статьи для новичков в мире Убунту. Всего будет 3-4 записи, а может и больше. Статьи будут полезны тем, кто еще недавно начал использовать Убунту в качестве основной операционной системы (или установил ее как вторую), а также, надеюсь, подтолкнет сделать выбор в ее пользу тех, кто все еще не решился перейти на нее.

Завлекающая картинка

Установка
Первое включение, первые настройки

среда, 25 августа 2010 г.

Вирус iframe на сайте

Что делать, если Ваш сайт всё-таки был заражён трояном?! Попробуем поговорить о действиях, которые следует немедленно предпринять для удаления вирусного когда с вашего сайта!

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

суббота, 31 июля 2010 г.

Удаленный доступ без прямого ip

У одного моего друга часто возникают мелкие вопросы по работе на компьютере. Выезжать к нему из-за каждого пустяка нет возможности. Вернее она есть, но лень. Да и просить денег за нажатие одной кнопки (а чаще всего именно так и бывает) как-то неудобно. Вариант подключиться радмином не подходит, так как у клиента нет прямого ip-адреса. От встроенного в Windows решения в виде Remote Assistance я отказался сразу. Начал искать замену. А попутно нашел еще много интересных и полезных сервисов для удаленного доступа, обзор которых сейчас приведу.

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

Шрифты для сайта

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

среда, 14 июля 2010 г.

Русский формат даты в MySQL

Начиная с MySQL 5.0.25, за локализацию отвечает системная переменная lc_time_names. Если значение этой переменной будет установлено в значение русский ru_RU то мы сможем получать месяца названия которых записаны на русском языке.

Например для установки русской локализации через запрос, достаточно выполнить

SET lc_time_names = 'ru_RU';

понедельник, 14 июня 2010 г.

Текстовый редактор vim, основы работы

В данной статье расскажу о своем опыте изучения редактора vim. Опишу основные команды и принципы работы данного текстового редактора.

Начну с общего понимания редактора и его назначения. Редактор vim - это текстовый редактор, созданный на основе более старого - vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам.

Пользовательский интерфейс vim’а может работать в чистом текстовом (консольном) режиме. Это его самый большой недостаток, т.к. интерфейс далеко не интуитивен и требует обучения для работы в программе.

У редактора есть несколько режимов работы:

пятница, 28 мая 2010 г.

Формат файла PDF

Portable Document Format (PDF) — кроссплатформенный формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления в электронном виде полиграфической продукции, — значительное количество современного профессионального печатного оборудования может обрабатывать PDF непосредственно. Для просмотра можно использовать официальную бесплатную программу Adobe Reader, а также программы сторонних разработчиков. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графической программе или текстовом редакторе, САПР и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п.

Формат файла PDF
Формат файла PDF

суббота, 15 мая 2010 г.

Файл .htaccess для ограничения доступа

Для чего служит .htaccess? Набирая адрес в строке браузера, вы получаете на свой компьютер файлы, которые отображает браузер. Управление тем, какие файлы и как вам показывать (пересылать) осуществляет веб-сервер. Наиболее популярных серверов два: IIS и Apache.
Как и любая программа, веб-сервер имеет определенные настройки. Но, у вас, как пользователя Апача может (и скорее всего не будет, если говорить о виртуальном хостинге) прав менять конфигурацию Апача через его главные файлы, действие которых распространяется на всех пользователей этого сервера. Но, вы можете менять некоторые конфигурационные файлы, который распространяют свое действие только на ваш сайт. Один из таких файлов – .htaccess

воскресенье, 25 апреля 2010 г.

Обработка multiple SELECT на PHP

При указании имени в теге select следует указать массив а не элемент:

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<select name="test[]" multiple="multiple">
 
 
 
 
 
</select>
<input type="submit" value="Send" />
</form>

воскресенье, 18 апреля 2010 г.

IETester — программа для проверки страницы в различных версиях Internet Explorer

Перед каждым веб-разработчиком и особенно верстальщиком стоит задача решения проблем кроссбраузерности и тестирования проекта в различный браузерах. Обычно все эти браузеры устанавливаются на рабочий компьютер и сайт/страница тестируется в них. И если с браузерами Firefox, Chrome, Opera и другими проблем нет, то с Internet Explorer несколько сложнее.

Установить несколько браузеров Internet Explorer разных версий на один компьютер обычно не удастся, да и работать такая связка стабильно не будет. Вот тут нам приходит на помощь замечательная утилита — IETester.

среда, 7 апреля 2010 г.

Javascript календарь

Очень удобный и красивый календарь написанный на JavaScript. Подходит как для выбора даты и времени для формы в виде popup, так и в линейном коде.

Календарь Javascript, DHTML
Календарь Javascript, DHTML

среда, 31 марта 2010 г.

Выключатель в кладовке

Есть три выключателя, один из которых включает/выключает свет в кладовке. Находясь возле выключателей, невозможно определить, горит свет в кладовке или нет. Необходимо определить, какой из выключателей относится к кладовке. Все выключатели изначально в положении ВКЛ. При этом разрешается один раз подойти к выключателям, а затем зайти в кладовку и дать ответ.

среда, 24 марта 2010 г.

JavaScript и выпадающие списки (тег SELECT)

В языке HTML есть такой тег – SELECTSELECT состоит из элементов OPTION, которые представляют собой элементы списка. Сами элементы OPTION состоят из текстовой метки заключенной между тегами option и атрибута value в котором содержится значение соответствующее текстовой метке. Текстовая метка видна пользователю в списке, тогда как значение value не отображается на экране, а передается на сервер при отправке формы (на сервер передаются только value-значения выделенных элементов списка). Таким образом, для изменения элемента SELECT, мы должны воздействовать на элементы OPTION. Ниже указан пример кода такого элемента.

Вот как будет выглядеть фрагмент html-кода на страничке

суббота, 20 марта 2010 г.

Установка и настройка TinyMCE

TinyMCE (англ. Tiny Moxiecode Content Editor) платформонезависимый Javascript HTML WYSIWYG редактор на основе Web. К основным характеристикам программы относятся поддержка тем/шаблонов, языковая поддержка и возможность подключения модулей (плагинов). Используется в различных системах управления содержимым (CMS).

Интерфейс редактора TinyMCE
Интерфейс редактора TinyMCE

четверг, 18 марта 2010 г.

WYSIWIG редакторы контента для сайтов

WYSIWYG (произносится [wɪziwɪɡ], является аббревиатурой от англ. What You See Is What You Get, «что видишь, то и получишь») — программа, в которой содержание отображается в процессе редактирования и выглядит очень похоже на конечную продукцию, которая может быть печатным документом, веб-страницей, слайд-презентацией или даже использоваться для освещения театральных событий.

Современный веб-сайт невозможно представить без системы управления контентом (англ. Content Management System, CMS). В то же время современную CMS невозможно представить без визуального редактора содержания. Разрабатывая собственную систему, можно взяться и за разработку своего WYSIWYG-редактора, но стоит ли? На рынке представлено огромное количество редакторов – от простеньких до мощнейших, от дорогущих до абсолютно бесплатных. Из этого изобилия наверняка можно выбрать компонент, отвечающий вашим требованиям, и сэкономить время и деньги.

Визуальный редактор
Визуальный редактор

четверг, 11 марта 2010 г.

XSLT и ошибка: The entity “nbsp” was referenced, but not declared

Часто при копировании фрагментов кода из html в xslt возникает ошибка The entity “nbsp” was referenced, but not declared. Это связано с тем, что XSLT не понимает мнемокода nbsp. Устранить ошибку можно двумя способами:

Способ первый: заменой по всему документу &nbsp; на &#160;

Второй способ:

<?xml version="1.0"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<xsl:stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" version="1.0">

четверг, 25 февраля 2010 г.

Витая пара. Схема обжатия витой пары

Витая пара (англ. twisted pair) — вид кабеля связи, представляет собой одну или несколько пар изолированных проводников, скрученных между собой (с небольшим числом витков на единицу длины), покрытых пластиковой оболочкой. Свивание проводников производится с целью повышения связи проводников одной пары (электромагнитная помеха одинаково влияет на оба провода пары) и последующего уменьшения электромагнитных помех от внешних источников, а так же взаимных наводок при передаче дифференциальных сигналов. Кабель подключается к сетевым устройствам при помощи соединителя 8P8C (зачастую ошибочно называемого RJ45 или RJ-45), немного бОльшим, чем телефонный соединитель RJ11.


Не экранированная витая пара

среда, 10 февраля 2010 г.

Сортировка обменом (“пузырьковая” сортировка)

Слева направо поочередно сравниваются два соседних элемента, и если их взаиморасположение не соответствует заданному условию упорядоченности, то они меняются местами. Далее берутся два следующих со­седних элемента и так далее до конца массива.

После одного такого прохода на последней n-ой позиции массива будет стоять максимальный элемент (“всплыл” первый “пузырек”). По­скольку максимальный элемент уже стоит на своей последней позиции, то второй проход обменов выполняется до n-1-гo элемента. И так далее. Всего требуется п-1 проход.

понедельник, 8 февраля 2010 г.

Генерация случайных чисел

В заголовок формы записывается случайное, сгенерированное число Z.
Random rnd = new Random();
int Z;
Z = rnd.Next(10);
this.Text = Z.ToString();

Изменение расположения объекта на форме

int X = 100;
int Y = 200;
button1.Location = new Point(X, Y);

Изменение ширины формы в C#

Напрямую менять свойство формы отвечающее за ширину (и высоту) нельзя. Для изменения размеров необходимо создать новый объект (например MySize), который будет принадлежать классу Size и изменить параметры этого объекта. Затем приравнять свойству Size формы значение объекта MySize. Внутри класса Size обращение к ширине будет выглядеть как MySize.Width, а к высоте как MySize.Height.

Размеры формы
Размеры формы

воскресенье, 7 февраля 2010 г.

Классы и объекты

Основным понятием объектно-ориентированного программирования является класс. Класс это лишь описание методов и свойств. Класс не создается и не используется в программе. Большинство классов заранее определенно. Например класс Button, который содержит в себе перечень возможных свойств и действий производимых с любой экранной кнопкой. Некоторые классы группируются в пространства имен.

Объект - это переменная, которая имеет свойства и методы, описанные в классе, от которого он создается. Вы можете создать несколько объектов от одного класса. Примером объекта может служить кнопка Окей, та что в нижнем левом углу экрана.

суббота, 6 февраля 2010 г.

Пространство имен (англ. namespace)

Пространство имён (от англ. namespace) – некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (т.е. имён). Идентификатор, определенный в пространстве имён, ассоциируется с этим пространством. Один и тот же идентификатор может быть независимо определён в нескольких пространствах. Таким образом, значение, связанное с идентификатором, определённым в одном пространстве имён, может иметь (или не иметь) такое же (а скорее, другое) значение, как и такой же идентификатор, определённый в другом пространстве. Языки с поддержкой пространств имён определяют правила, указывающие, к какому пространству имён принадлежит идентификатор (т.е. его определение).

пятница, 5 февраля 2010 г.

Роботы десантники

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

[<метка>]:Left – команда приказывает роботу сделать шаг вправо
[<метка>]:Right – команда приказывает роботу сделать шаг вправо
[<метка>]:GoTo <метка> – команда отсылает робота на указанную строчку кода
[<метка>]:PGoTo <метка> – то же, что и предыдущая команда, но выполняется она только в том случае, если робот находится на точке приземления (своей или другого робота, т.е. в одной из двух точек, где они сбросили парашюты)


На первый взгляд, оба робота должны прыгать по шкале, нисколько не мешая друг другу, однако не в этом наша цель. Помнишь, что они несут ядерный заряд? Значит, надо сделать так, чтобы они рано или поздно встретились и устроили локальный Армагеддон. Соответственно, тебе нужно написать прогу, которая запрограммирует наших железных камикадзе таким образом, чтобы они всё же оказались в одной точке. Важное дополнение: код может использовать только эти четыре оператора, он должен быть как можно короче и, самое главное, имей в виду что каждый оператор выполняется ровно одну секунду, не зависимо от того, передвинется робот или останется на месте.

Беседуют два математика

Задача: Беседуют два математика.
Первый (П) спрашивает Bтopого, ecть ли y негo дeти.
Bтоpoй  (B) гoвоpит, – Koнечно. У мeня три мальчика.
П – A сколько им лeт?
В – Cyмма их вoзрaстoв рaвна чиcлy окoн в этoм дoмe, а пpoизведeние – 36.  Пepвый мaтемaтик пocмотрел нa дoм, пoдyмал и гoвоpит: “;Этoй инфopмaции eдoстатoчно».
B – Дa, кoнечнo, я coвсeм зaбыл: млaдший cын-pыжий.
Cкoлькo лет детям (кaждoму) втopoгo мaтeмaтикa?

Морфологическая библиотека PHPMorphy

Не так давно по работе столкнулся с задачей разбора морфологии слов, учитывая что русская морфология довольно сложная, то писать свой скрипт я не видел смысла и считаю это было бы не рационально. Недолгие поиски привели меня к библиотеки PhPMorhy (http://sourceforge.net/projects/phpmorphy/), в данной статье я хотел бы немного описать эту библиотеку.

Настройка ЧПУ в Wordpress

Для тех кто не в курсе: ЧПУ – это человеку понятные Урлы. Они более просты для запоминания и позволяют поисковым системам относиться к вашему сайту-блогу более положительно.
Как же настроить  ЧПУ ссылки в WordPress. Предположим, у нас раньше записи отображались в виде URL вида http://my-wordpress.ru/?p=34, то после настройки ЧПУ вы сможете иметь красивый УРЛ статьи, вроде http://my-wordpress.ru/wordpress/ Для большего удобства и более оптимального построения URL я предлагаю скачать и установить два маленьких плагина для WordPress: Rus-to-lat и Seo without category.

четверг, 4 февраля 2010 г.

Спортсмен, нормальный и хромой…

Задача: Спортсмен, нормальный, хромой и одноногий спешат на поезд. Ночь, но есть 1 фонарь…. Такси их привезло к мосту, а вокзал на той стороне. Поезд отходит через 16 минут. По мосту одновременно могут идти только 2-е. В какой последовательности им надо перейти, чтобы успеть на поезд если время, затрачиваемое каждым на пересечение реки через мост следующее:

Спортсмен перебегает за 1 минуту.
Нормальный переходит за 2 минуты.
Хромой ковыляет за 5 минут.
Одноногий перебрасывает свое тело за 9 минут.
Без фонаря идти нельзя, упадут.
Перебрасывать фонарь тоже нельзя.

Заполнить матрицу по спирали

Задача: Заполнить массив размерности NxM числами 1, 2, 3, … по спирали, начиная с правого верхнего угла. (При заполнении массива двигаться по часовой стрелке).

Пример матрицы заполененной по спирали

Пример матрицы заполненной по спирали

Деление на страницы в WordPress’е

А вот так! Оказывается, что в WordPress, помимо <!–more–> можно использовать и <!–nextpage–>, который позволяет разделять посты по-странично по собственному усмотрению (http://trampampam.ru/blog/other-pages/). Только в шаблон после the_content(); нужно добавить <?php wp_link_pages(); ?>

После небольших исследований обнаружился еще один подобный код: <!–noteaser–>. Если нужно сделать, чтобы на главной странице показывалось только до <!–more–>, а в самом посте все остальное, без первой части, то сразу после more, добавляем noteaser.

Взято с http://maxsite.org/delenie-stranits-v-wordpresse

Как в WordPress разделить запись на анонс и основной текст?

Первый – это использование стандартного поля «Анонс» в текстовом редакторе. Просто заполняете это поле и оно будет отображаться только на главной странице. После того, как посетитель кликнет на «Далее», он увидит основной текст.

Второй способ подразумевает использование псевдокода <!–more–>. Этим тэгом вы просто разделяете запись на две части, где первая будет отображаться на главной странице. После перехода по ссылке «Далее», посетитель увидит полный текст статьи.

При использовании тега <!–more–> нужно следить за тем, чтобы форматирование завершалось до него. Для этого переключитесь на вкладку «Код» и убедитесь, что html-тэги закрыты до more. Если этого не сделать, то форматирование «перелезет» на следующие записи.

воскресенье, 31 января 2010 г.

Linux Ubuntu 9.10 PPA репозитории

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

sudo add-apt-repository <имя репозитория>, например ppa:cdemu/ppa

среда, 13 января 2010 г.

Ubuntu — работа с внешними репозиториями

Часто программы которые входят в стандартный репозиторий не подходят для наших нужд или программа не поддерживается производителем Ubuntu. Как проставить программу, где взять репозиторий и откуда брать ключ для импорта? Сегодня я поделюсь немного своим опытом и выложу список своих репозиториев, скажем так не только для вас, но и для себя!

суббота, 9 января 2010 г.

Учимся отправлять почту с русским названием

Возможно вы часто видите письма в заголовке какие то «каказябры»? И даже может сами сталкивались с тем что письма отправленные через php mail(), имеют в заголовке неверную кодировку или некоторые почтовые сервисы не могут отобразить ее в нужной кодировке.

HyperComments for Blogger

comments powered by HyperComments