=) не в защиту сайта www.acteonservice.com, а просто истины ради… Вот пройдитесь по первым нескольким в выдаче гугла по простой поисковой волшебной фразе.
у меня нечто подобное, ноя предпочитаю называть это всё же структурой. =) У меня в каждом разделе есть папка Other или Разное, куда я всё без разбора кидаю. А потом когда наберётся несколько онотипных элементов выделяю в отдельный раздел. Так, например, в софте у меня есть Архиваторы, Прикладное По и пр. и разное. ТОже самое в книгах. В итоге в более общие категории объединяются и сами категории.
И ещё есть удобная схема сортировки пакетов на диске FreeBSD. Там все пакеты лежат в папке в которой есть подпапки с категориями net, graphic, media, sound и пр. так же в этой папке пакетов есть подпапка all. Все пакеты свалены в эту папку, а в папки категорий (net, graphic, media, sound и пр.) раскиданы линки на них. Например, пакет у пакета, который сам лежит в папке all, относящегося к категориям net и graphic, есть линки в соответствующих папках. Своего рода тегирование. =)
К чему деления на "у них" и "у нас"? А вы точно знаете что "у них" не так? Я вот думаю что сотрудников с паролями "111", "123" и пр. в конфиденциальных системах "у них" не меньше.
Я отписал лишь по поводу того, что возможно было лучше. На данный момент у нас реализована сортировка и оброаботка массивов данных именно на сервере приложения.
Я храню данные в подобной же таблице (id - идентификатор элемента, id_parent - идентификатор родителя, data - какие нибудь доп. данные элемента дерева). Затем делаю выборку всей таблицы в массив (arrData). По полям id и id_parent функцией рекурсивного обхода выстраиваю ещё один вложенный многомерый массив (т.е. массив масивов, в которых могут быть элементы массивов), который представляет собой структуру дерева (arrStructure). И потом по этим двум массивам, масиву труктуры и массиву данных, делаю вывод. Т.е. обхожу полностью массив структуры определяю положение и расставляю данные.
Наверняка лучше сделать такое хранимой процедурой на сервере СУБД.
Был так же вариант без рекурсии, он быстрее работает чем с рекурсией, но настолько незначительно (проводились тесты с несколькими тысячами записей), что сложность его реализации проигрывает перед легкостью реализации с рекурсией. Поэтому решено было всё таки рекурсией реализовывать построение структуры дерева.
А вот насчёт сортировки по идентификатору родителя, простите, но это бред, так правильной структуры дерева не достичь, т.к. вложенность может быть бесконечно большой.
дык,а что вам мешает это сделать в Windows добавив в качестве панели инструментов любую папку с набором ярлыков к программам и перенеся на левую сторону дисплея. Единственное что визуальный вид всего этого не настраивается так гибко.
Есть такой совет, к сожалению не знаю чего производства:
"Если ты к 2x годам не смог найти своё дело, то займись тем, что у тебя хорошо получалось в 16 лет" =)
А так желаю тебе всего хорошего, думаю что всё отлино будет. Ведь в конце концов твоё увлечение подпадает под определение твоей личности как мудреца, ну типа там мудрец не знает чего то очень хоршо одного, а знает о всех/многих областях по немногу.
Кстати, как альтернатива, вариант комплексного совмещения.
Я сам в г. Казань живу. Данные терминалы в преобладающем большинстве распределены по городу.
У нас данный интерфейс на термналах появился чуть раньше НГ.
А ранее была так, если нажать на буковуку "М" в слове Информация на самой нижней из 3ёх кнопок вылезал Медвед и с облаком слов "Превед, ты платить будешь или где?" (что-то вроде). Сразу извиняюсь, если это где-то уже здесь говорилось.
Сейчас терминалы опять поменяли интерфейс на старый (после новогоднего в данной статье описанного). Но теперь при нажатии на букву М, всё на той же кнопке со словом Информация, вылезает всё тот же Медвед, но уже с другой фразой "Превед! Всё балуешься?" (что-то вроде).
<?php
$spd_ulitko=1; //скорость улитки в минуту
$length_rezinko=100; //длина резинки
$length_plus=100; //резинка увеличивается какждую минуту на это значение
$length_path_ulitko=0;
echo 'Начинаем';
for ($i=0;$i<=3600;$i++){
$length_path_ulitko=$length_path_ulitko+$spd_ulitko; //минута началась и улитка проползла своё расстояние
// в соответствии со скоростью
$old_length_rezinko=$length_rezinko; //Это нам нужно будет
$length_rezinko=$length_rezinko+100; //Резинка растянулась
$length_path_ulitko=$length_path_ulitko*($length_rezinko/$old_length_rezinko);
//и в процентном соотношении к увелечению резинки
//улитка тоже двигается
echo 'Прошло времени: '.($i+1).' мин. ';
echo '['.round($length_path_ulitko,2).' см. из '.$length_rezinko.' см.]'.
' - ['.round((($length_path_ulitko*100)/$length_rezinko),2).'% из 100%]<br />';
}
?>
Судя по подсчётам, чем больше прошло времени тем улитка всё ближе и ближе к концу. Но надо не забывать про то что чем дальше тем туже она ползёт, и сё может свестись к тому что как бы ни старалась ползти улитка, её старания (пройденное растояние) в минуту будет бесконечно мало по отношению к общему пути пример тому результаты просчётов:
1 мин - 1.5% из 100%
2 мин - 1.83% из 100%
3 мин - 2.08% из 100%
Но вот уже к 50 тыс минуте ползти всё туже:
50044 мин - 11.4% из 100%
50045 мин - 11.4% из 100%
50046 мин - 11.4% из 100%
50047 мин - 11.4% из 100%
Увелечение процента пройденного пути всё замедляется и замедляется...
Не смотря на поставленный минус foff4ik'у я от части понимаю его слова. Не редко бывают стартапы, которые как раз таки "переизобретают велосипед" - пишут свои библиотеки и отдельные компоненты, делают его именно лучше и оптимизированнее, чем предшественники. За счёт этого и набирают популярность. Нельзя опираться на то что вот "есть готовые библиотеки/компоненты/модули и вы не сделаете лучше того что уже есть".
Хотя данный пример можно просто счесть за исключение.
Из опыта своего могу дать этому два объяснения:
1. Спамер(ы) тестируют новые технологии (ботнеты, технологии пробива, обоудование).
2. Составляют базу адресов, т.е. занимаются валидацией почтовых адресов, перебирая адреса (по словарю или набором букв) и отправляя на них, если не пришло что сообщение не доставленно, то скорее всего адрес валиден и он заносится в базу рассылки спама.
Мда, вот это тоже оч странный момент. По каким критериям «самая развитость» определялась то?
И ещё есть удобная схема сортировки пакетов на диске FreeBSD. Там все пакеты лежат в папке в которой есть подпапки с категориями net, graphic, media, sound и пр. так же в этой папке пакетов есть подпапка all. Все пакеты свалены в эту папку, а в папки категорий (net, graphic, media, sound и пр.) раскиданы линки на них. Например, пакет у пакета, который сам лежит в папке all, относящегося к категориям net и graphic, есть линки в соответствующих папках. Своего рода тегирование. =)
Наверняка лучше сделать такое хранимой процедурой на сервере СУБД.
Был так же вариант без рекурсии, он быстрее работает чем с рекурсией, но настолько незначительно (проводились тесты с несколькими тысячами записей), что сложность его реализации проигрывает перед легкостью реализации с рекурсией. Поэтому решено было всё таки рекурсией реализовывать построение структуры дерева.
А вот насчёт сортировки по идентификатору родителя, простите, но это бред, так правильной структуры дерева не достичь, т.к. вложенность может быть бесконечно большой.
"Если ты к 2x годам не смог найти своё дело, то займись тем, что у тебя хорошо получалось в 16 лет" =)
А так желаю тебе всего хорошего, думаю что всё отлино будет. Ведь в конце концов твоё увлечение подпадает под определение твоей личности как мудреца, ну типа там мудрец не знает чего то очень хоршо одного, а знает о всех/многих областях по немногу.
Кстати, как альтернатива, вариант комплексного совмещения.
У нас данный интерфейс на термналах появился чуть раньше НГ.
А ранее была так, если нажать на буковуку "М" в слове Информация на самой нижней из 3ёх кнопок вылезал Медвед и с облаком слов "Превед, ты платить будешь или где?" (что-то вроде). Сразу извиняюсь, если это где-то уже здесь говорилось.
Сейчас терминалы опять поменяли интерфейс на старый (после новогоднего в данной статье описанного). Но теперь при нажатии на букву М, всё на той же кнопке со словом Информация, вылезает всё тот же Медвед, но уже с другой фразой "Превед! Всё балуешься?" (что-то вроде).
<?php
$spd_ulitko=1; //скорость улитки в минуту
$length_rezinko=100; //длина резинки
$length_plus=100; //резинка увеличивается какждую минуту на это значение
$length_path_ulitko=0;
echo 'Начинаем';
for ($i=0;$i<=3600;$i++){
$length_path_ulitko=$length_path_ulitko+$spd_ulitko; //минута началась и улитка проползла своё расстояние
// в соответствии со скоростью
$old_length_rezinko=$length_rezinko; //Это нам нужно будет
$length_rezinko=$length_rezinko+100; //Резинка растянулась
$length_path_ulitko=$length_path_ulitko*($length_rezinko/$old_length_rezinko);
//и в процентном соотношении к увелечению резинки
//улитка тоже двигается
echo 'Прошло времени: '.($i+1).' мин. ';
echo '['.round($length_path_ulitko,2).' см. из '.$length_rezinko.' см.]'.
' - ['.round((($length_path_ulitko*100)/$length_rezinko),2).'% из 100%]<br />';
}
?>
А вообще считал простеньким скриптом (ни капли ни оптимизированным) который и привожу ниже:
';
}
?>
1 мин - 1.5% из 100%
2 мин - 1.83% из 100%
3 мин - 2.08% из 100%
Но вот уже к 50 тыс минуте ползти всё туже:
50044 мин - 11.4% из 100%
50045 мин - 11.4% из 100%
50046 мин - 11.4% из 100%
50047 мин - 11.4% из 100%
Увелечение процента пройденного пути всё замедляется и замедляется...
Хотя данный пример можно просто счесть за исключение.
1. Спамер(ы) тестируют новые технологии (ботнеты, технологии пробива, обоудование).
2. Составляют базу адресов, т.е. занимаются валидацией почтовых адресов, перебирая адреса (по словарю или набором букв) и отправляя на них, если не пришло что сообщение не доставленно, то скорее всего адрес валиден и он заносится в базу рассылки спама.
Вторая прични конечно же более вероятная...