Задачи — различия между версиями

Материал из Deeptown Manual
Перейти к: навигация, поиск
м
(Базовые команды оболочки DSH)
Строка 55: Строка 55:
  
 
== Базовые команды оболочки DSH ==
 
== Базовые команды оболочки DSH ==
 +
 +
Ниже будут приведены команды, которые требуется реализовать для нормального функционирования командной оболочки диптауна (DSH). Дабы не изобретать велосипед, было решено делать команды максимально похожими на их UNIX аналоги. Однако, следует помнить, что при реализации команд, надо учитывать специфику диптауна и ориентироваться на максимальное юзабилити а не стопроцентное соответствие UNIX. Короче говоря, не надо стараться реализовать полный клон команды, со всеми "наворотами" -- достаточно только базовых возможностей, которые гарантированно понадобятся и будут полезны.
  
 
=== ls  ===  
 
=== ls  ===  
Строка 60: Строка 62:
 
Команда ls (от англ. ''list'' -- список) выводит в терминал содержимое некоторой директории. Формат списка, а так же исследуемая директория, задются с помощью соответствующих ключей.  
 
Команда ls (от англ. ''list'' -- список) выводит в терминал содержимое некоторой директории. Формат списка, а так же исследуемая директория, задются с помощью соответствующих ключей.  
  
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #FF8000;">· высокий ·</span>
+
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #DD0000;">· высокий ·</span>
  
 
* '''Технологии''': [[DISS]], [[регулярные выражения]]
 
* '''Технологии''': [[DISS]], [[регулярные выражения]]
 
* '''Автор''': --[[Участник:Korvin|Korvin]] 07:38, 18 июня 2008 (EDT)
 
* '''Автор''': --[[Участник:Korvin|Korvin]] 07:38, 18 июня 2008 (EDT)
* '''Примечания''': Описание команды можно найти [http://www.opennet.ru/man.shtml?topic=ls здесь].
+
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=ls здесь].
 +
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 +
* '''Срок''': <span style="color: #808080;">не назначен</span>
 +
 
 +
 
 +
=== cp  ===
 +
 
 +
Команда cp (от англ. ''copy'' -- копировать) производит копирование содержимого указанного каталога в новый каталог.
 +
 
 +
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #DD0000;">· высокий ·</span>
 +
 
 +
* '''Технологии''': [[DISS]]
 +
* '''Автор''': --[[Участник:Korvin|Korvin]] 08:24, 18 июня 2008 (EDT)
 +
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=cp здесь].
 +
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 +
* '''Срок''': <span style="color: #808080;">не назначен</span>
 +
 
 +
 
 +
=== mv  ===
 +
 
 +
Команда mv (от англ. ''move'' -- переместить) производит перемещение содержимого указанного каталога в новый каталог, либо переименовывает файлы (каталоги).
 +
 
 +
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #DD0000;">· высокий ·</span>
 +
 
 +
* '''Технологии''': [[DISS]]
 +
* '''Автор''': --[[Участник:Korvin|Korvin]] 08:24, 18 июня 2008 (EDT)
 +
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=mv здесь].
 +
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 +
* '''Срок''': <span style="color: #808080;">не назначен</span>
 +
 
 +
 
 +
=== rm  ===
 +
 
 +
Команда rm (от англ. ''remove'' -- удалить) удаляет файл, либо каталог.
 +
 
 +
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #DD0000;">· высокий ·</span>
 +
 
 +
* '''Технологии''': [[DISS]]
 +
* '''Автор''': --[[Участник:Korvin|Korvin]] 08:24, 18 июня 2008 (EDT)
 +
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=rm здесь].
 +
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 +
* '''Срок''': <span style="color: #808080;">не назначен</span>
 +
 
 +
 
 +
=== touch  ===
 +
 
 +
Команда touch (от англ. ''touch'' -- потрогать) создает пустой файл с указанным именем, либо изменяет время доступа существующего файла.
 +
 
 +
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #DD0000;">· высокий ·</span>
 +
 
 +
* '''Технологии''': [[DISS]]
 +
* '''Автор''': --[[Участник:Korvin|Korvin]] 08:24, 18 июня 2008 (EDT)
 +
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=touch здесь].
 +
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 +
* '''Срок''': <span style="color: #808080;">не назначен</span>
 +
 
 +
 
 +
=== mkdir  ===
 +
 
 +
Команда mkdir (от англ. ''make directory'') создает директорию с указанным именем.
 +
 
 +
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #DD0000;">· высокий ·</span>
 +
 
 +
* '''Технологии''': [[DISS]]
 +
* '''Автор''': --[[Участник:Korvin|Korvin]] 08:24, 18 июня 2008 (EDT)
 +
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=touch здесь].
 +
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 +
* '''Срок''': <span style="color: #808080;">не назначен</span>
 +
 
 +
=== grep  ===
 +
 
 +
Команда grep производит фильтрацию своего входного потока и выдает результат в выходной поток. Следует иметь в виду, что реализация PCRE (используемая в К++) синтаксически отличается от канонической UNIX. Основная задача -- выборка интересующих строк из входного потока.
 +
 
 +
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #FF8000;">· выше среднего ·</span>
 +
 
 +
* '''Технологии''': [[DISS]], [[регулярные выражения]]
 +
* '''Автор''': --[[Участник:Korvin|Korvin]] 08:24, 18 июня 2008 (EDT)
 +
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=grep здесь].
 +
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 +
* '''Срок''': <span style="color: #808080;">не назначен</span>
 +
 
 +
 
 +
=== sed  ===
 +
 
 +
Команда sed (от англ. ''stream editor'' -- редактор потоков). производит фильтрацию своего входного потока и выдает результат в выходной поток. Следует иметь в виду, что реализация PCRE (используемая в К++) синтаксически отличается от канонической UNIX. Основная задача -- преобразование данных по шаблону.
 +
 
 +
* '''Сложность''': <span style="color: white; background-color: #008000;">· низкая ·</span>  '''Приоритет''': <span style="color: white; background-color: #808080;">· низкий ·</span>
 +
 
 +
* '''Технологии''': [[DISS]], [[регулярные выражения]]
 +
* '''Автор''': --[[Участник:Korvin|Korvin]] 08:24, 18 июня 2008 (EDT)
 +
* '''Примечания''': Описание UNIX аналога команды можно найти [http://www.opennet.ru/man.shtml?topic=touch здесь].
 
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 
* '''Исполнитель''': <span style="color: #808080;">не назначен (вакансия)</span>
 
* '''Срок''': <span style="color: #808080;">не назначен</span>
 
* '''Срок''': <span style="color: #808080;">не назначен</span>

Версия 15:24, 18 июня 2008

В данном разделе мы публикуем текущий список задач Deeptown SDK. Большая часть задач — это раздаботка тех или иных модулей/программ на языке K++. Некоторые задачи предполагают реализацию на C++.

Данный раздел будет пополняться со временем. Особо важные изменения будут отмечаться в рассылке.

Содержание

Информация

Для кого этот раздел

Браться за выполнение задач может абсолютно любой желающий. В том числе и Вы, дорогой читатель ;)

Для простых задач потребуются только базовые навыки программирования и знание K++, который подробно описан на этом сайте. Категории сложности задач обозначены в их описаниях.

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

Оформление данного раздела

В данном разделе задачи разбиты на несколько категорий. Каждая задача — это подраздел в своей категории. Простые задачи описываются прямо в тексте; для более сложных даются ссылки на отдельные страницы описаний. Новые задачи всегда добавляются наверх своего раздела.

Для каждой задачи приводится следующая служебная информация:

  • сложность — уровень сложности задачи: простая, средняя, сложная
  • технологии — список технологий (языков, библиотек, etc), которые потребуются для выполнения задачи
  • приоритет — степень важности задачи: низкий, средний, высокий
  • автор — подпись автора задачи
  • примечания — технические примечания автора
  • исполнитель — контактная информация исполнителя
  • срок — срок завершения, обозначенный исполнителем

Порядок выполнения задач

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

После того как выбор сделан, вставьте информацию об исполнителе и о сроке.

В информации об исполнителе должно указываться какое-нибудь средство связи с Вами: e-mail, ICQ или jabber. Вы можете написать свои контактные данные в "мою страницу" вики, а в графу "исполнитель" просто поставить подпись.

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

Срок — это не строгое поле. Если Вы активно работаете над задачей, но не успеваете в срок — Вы всегда можете его отодвинуть. Главное для нас то, что процесс идет.

В поле "срок" следует вписать предполагаемую дату завершения. Максимальный срок, который Вы можете установить — это текущая дата плюс 2 недели, если иное не указано в примечаниях к задаче.

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

Порядок приема задач

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

Условия лицензирования

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

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

Со своей стороны обещаем соблюдать условия лицензии, либо не принимать Ваш код, если нас она не устроит.

Базовые команды оболочки DSH

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

ls

Команда ls (от англ. list -- список) выводит в терминал содержимое некоторой директории. Формат списка, а так же исследуемая директория, задются с помощью соответствующих ключей.

  • Сложность: · низкая · Приоритет: · высокий ·
  • Технологии: DISS, регулярные выражения
  • Автор: --Korvin 07:38, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен


cp

Команда cp (от англ. copy -- копировать) производит копирование содержимого указанного каталога в новый каталог.

  • Сложность: · низкая · Приоритет: · высокий ·
  • Технологии: DISS
  • Автор: --Korvin 08:24, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен


mv

Команда mv (от англ. move -- переместить) производит перемещение содержимого указанного каталога в новый каталог, либо переименовывает файлы (каталоги).

  • Сложность: · низкая · Приоритет: · высокий ·
  • Технологии: DISS
  • Автор: --Korvin 08:24, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен


rm

Команда rm (от англ. remove -- удалить) удаляет файл, либо каталог.

  • Сложность: · низкая · Приоритет: · высокий ·
  • Технологии: DISS
  • Автор: --Korvin 08:24, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен


touch

Команда touch (от англ. touch -- потрогать) создает пустой файл с указанным именем, либо изменяет время доступа существующего файла.

  • Сложность: · низкая · Приоритет: · высокий ·
  • Технологии: DISS
  • Автор: --Korvin 08:24, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен


mkdir

Команда mkdir (от англ. make directory) создает директорию с указанным именем.

  • Сложность: · низкая · Приоритет: · высокий ·
  • Технологии: DISS
  • Автор: --Korvin 08:24, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен

grep

Команда grep производит фильтрацию своего входного потока и выдает результат в выходной поток. Следует иметь в виду, что реализация PCRE (используемая в К++) синтаксически отличается от канонической UNIX. Основная задача -- выборка интересующих строк из входного потока.

  • Сложность: · низкая · Приоритет: · выше среднего ·
  • Технологии: DISS, регулярные выражения
  • Автор: --Korvin 08:24, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен


sed

Команда sed (от англ. stream editor -- редактор потоков). производит фильтрацию своего входного потока и выдает результат в выходной поток. Следует иметь в виду, что реализация PCRE (используемая в К++) синтаксически отличается от канонической UNIX. Основная задача -- преобразование данных по шаблону.

  • Сложность: · низкая · Приоритет: · низкий ·
  • Технологии: DISS, регулярные выражения
  • Автор: --Korvin 08:24, 18 июня 2008 (EDT)
  • Примечания: Описание UNIX аналога команды можно найти здесь.
  • Исполнитель: не назначен (вакансия)
  • Срок: не назначен

Стандартный интерфейс SQL

Универсальный HTTP клиент

Универсальный HTTP сервер

Репозиторий медиаданных

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
информация
документация
Инструменты