- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
function timeToString(year, month, day, hour, minute, sec, msec) {
var date = new Date(year, month, day, hour, minute, sec, msec);
var now = new Date();
var msec = now.getTime() - date.getTime(); // Миллисекунды
var sec = Math.round(msec / 1000);
var years = Math.floor(sec / (86400 * 365));
var days = Math.floor((sec - years * 86400 * 365) / 86400);
var hours = Math.floor((sec - years * 86400 * 365 - days * 86400) / 3600);
var minutes = Math.floor((sec - years * 86400 * 365 - days * 86400 - hours * 3600) / 60);
var seconds = sec - years * 86400 * 365 - days * 86400 - hours * 3600 - minutes * 60;
// Проверяем, были ли високосные года?
var i;
for(i = date.getFullYear(); i <= now.getFullYear(); i++) {
if(i % 4 === 0) {
if(i === now.getFullYear()) {
if(now.getMonth > 2) {
days++;
}
elseif(now.getMonth === 2) {
if(now.getDay === 28) {
days++;
}
}
}
else
{
days++;
}
}
var yearName;
var yearOst = years % 10;
if(years === 1 || (yearOst === 1 && years > 20))
{
yearName = 'год'
}
else if((years === 2 || years === 3 || years === 4) || ((yearOst === 2 || yearOst === 3 || yearOst === 4) && years > 20))
{
yearName = 'года';
}
else
{
yearName = 'лет';
}
var hourName;
var hourOst = hours % 10;
if(hours === 1 || (hourOst === 1 && hours > 20))
{
hourName = 'час'
}
else if((hours === 2 || hours === 3 || hours === 4) || ((hourOst === 2 || hourOst === 3 || hourOst === 4) && hours > 20))
{
hourName = 'часа';
}
else
{
hourName = 'часов';
}
var dayName;
var dayOst = days % 10;
if(days === 1 || (dayOst === 1 && days > 20))
{
dayName = 'день'
}
else if((days === 2 || days === 3 || days === 4) || ((dayOst === 2 || dayOst === 3 || dayOst === 4) && days > 20))
{
dayName = 'дня';
}
else
{
dayName = 'дней';
}
var minuteName;
var minuteOst = minutes % 10;
if(minutes === 1 || (minuteOst === 1 && minutes > 20))
{
minuteName = 'минута'
}
else if((minutes === 2 || minutes === 3 || minutes === 4) || ((minuteOst === 2 || minuteOst === 3 || minuteOst === 4) && minutes > 20))
{
minuteName = 'минуты';
}
else
{
minuteName = 'минут';
}
var secondName;
var secondOst = seconds % 10;
if(seconds === 1 || (secondOst === 1 && seconds > 20))
{
secondName = 'секунда'
}
else if((seconds === 2 || seconds === 3 || seconds === 4) || ((secondOst === 2 || secondOst === 3 || secondOst === 4) && seconds > 20))
{
secondName = 'секунды';
}
else {
secondName = 'секунд';
}
document.getElementById("time").innerHTML = years + " " + yearName + ", " + days + " " + dayName + ", " + hours + " " + hourName + ", " + minutes + " " + minuteName + ", " + seconds + " " + secondName;
}
Функция для подсчета того, сколько времени прошло с указанной даты.
JavaScript начал изучать вчера. Чувствую, что уже можно заканчивать.
Пришлось код урезать, чтобы вместиться в 100 строк. Более-менее читаемый тут: http://dumpz.org/573381/
eth0 30.06.2013 14:49 # +2
Нужно больше работать над собой и читать вумные книжки.
Зато усердно.
Бывает, что усердие превозмогает и рассудок. (q)
Lure Of Chaos 30.06.2013 15:28 # +4
eth0 30.06.2013 17:01 # +3
bormand 30.06.2013 18:29 # −10
IKing 30.06.2013 20:06 # +2
А теперь я вам скажу правду: Структуры данных для анскильных питушков. Последний Кароль этого мира(c)
vistefan 30.06.2013 21:24 # +3
superhackkiller1997 02.07.2013 18:11 # −4
Они, как и ты, думают, что узнай они, что такое связный список( хотя что такое связный список, брёвна и т.п. понимает любой человек, который осилил указатели) они знают сруктуру данных, наивные анскильности. Никто из этих животных не напишет оптимальный двусвязный список - только примитивщину из учебника за 3-й класс.
И что мы в конечном итоге имеем? Человек(имеющий мозг в районе <1-2%, 99% животных, которые обитают тут не попадают под этот 1% людей, из которых программистов намного меньше 1%), который в совершенстве знает массивы и указатели - уже знает все мыслимые и не мыслимые структуры данных автоматом.
Как вменяемый електронщик и схематехник автоматом знает все примитивные и не примитивныел огические( и не только) елементы. Патамучто, он знает, что такое транзистор(конденсатор).
Питухам это не дано понять, поэтому питушки так и дальше будут кукарекать. Неся какую-то херню, не понимая, что тот же двусвязный список - есть обычный массив, в котором prev/next - это не p-1/p+1, а p-offset/p+offset. Хотя питухи, даже не оспилят написать двусвязный список на оффетах, ибо питухи.
И что мы имеем - мы имеем бездарных животных, которые нихрена о структурах данных и вообще о представлении данных не знают, а заучили пару примитивных конструкций, выдавая это за "структуры данных".
bormand 02.07.2013 19:36 # −10
Ты имеешь в виду ту реализацию, которая экономит память за счет использования всего одного слова вместо двух указателей?
Или же реализацию с двойным кольцом, за счет которого вставки и удаления становятся простыми и шустрыми (из-за того что не нужно ничего проверять на NULL'ы)?
> p-offset/p+offset
> Хотя питухи, даже не оспилят написать двусвязный список на оффетах, ибо питухи.
Ты, наверное, все-таки имел в виду p-offset1/p+offset2? Потому что с одинаковым офсетом в обоих случаях ничего не получится. Ну а если разные - то офсетный список легко пишется, и его удобно юзать, к примеру, на замапаном в память файле.
Lure Of Chaos 02.07.2013 22:15 # +1
bormand 02.07.2013 22:17 # −10
Да, согласен.
superhackkiller1997 03.07.2013 01:17 # −1
Что такое слово? Экономят память пару оффсетов, а <<| делают только питухи.
>Или же реализацию с двойным кольцом, за счет которого вставки и удаления становятся простыми и шустрыми (из-за того что не нужно ничего проверять на NULL'ы)?
А разве есть идиоты, которые юзают списки с нуллами на концах? Хотя да, те, кто знают алгоритмы - они знают.
>Ты, наверное, все-таки имел в виду p-offset1/p+offset2? Потому что с одинаковым офсетом в обоих случаях ничего не получится. Ну а если разные - то офсетный список легко пишется, и его удобно юзать, к примеру, на замапаном в память файле.
Что я имелл ввиду - это офсеты, одинаковые - разные не имеет значения. Там -+, поэтому они могут быть одинаковыми и будет работать.
Всё легко пишется и понмиается, только питушки кукарекают.
bormand 03.07.2013 06:06 # −10
xor linked list, в котором вместо двух указателей на соседние элементы лежит один size_t, в который помещают ((size_t)next) ^ ((size_t)prev). Там, правда, есть небольшая проблема при обходе: надо тащить 2 указателя - на предыдущий и на текущий элемент. И имея только один указатель на элемент нельзя его удалить или вставить что-то рядом. Так что это только для тех случаев, когда элементы списка мелкие, список длинный, а памяти мало.
> поэтому они могут быть одинаковыми
Не ну они конечно могут совпасть, потому что в куче элементы удачно легли (например их создавали подряд). Но в общем-то случае они разные.
superhackkiller1997 03.07.2013 09:49 # 0
Хреначишь пуллоподобный аллокатор - начало у тебя 0, остальное у тебя оффсет. Для 4-х миллиардов елементов - тебе хватит 32бит+32бита. Получаешь 2указателя за 2-4битовые операции.
>Не ну они конечно могут совпасть, потому что в куче элементы удачно легли (например их создавали подряд). Но в общем-то случае они разные.
Любая нормальная реализация спискаска имеет свой аллоктор. Никто не говорит, что они одинаковые, но никто так же не говорит, что они обязаны быть разными. Это твоя придирка к моему описанию.
defecate-plusplus 03.07.2013 09:55 # +1
уже узнал не только про массивы, но и про хеш-мапы и связные списки?
прогресс
superhackkiller1997 03.07.2013 10:06 # −4
Связный список, питух, как я уже говорил - нагромаждение указателей над массивом.
Я просто не представляю, как ты анскильные ущербаны, удел которых ваять формочки на делфях - лезут в спор со мной, говорят о какие-то хешмапы, причем говоряют полную ересь. Нихрена не знают, не понимают - но нести херню они всегда горазды.
Уйди отсюда питушок, ты мне, животное, до сих пор не описал семантику конста в сишке.
defecate-plusplus 03.07.2013 10:23 # 0
хеш-таблица массив только наполовину, неужели ты этого не знал?
> Нихрена не знают, не понимают - но нести херню они всегда горазды.
ты с зеркалом разговариваешь?
ну так и как ты собираешься хранить значения в корзине твоего хешмапа?
связный список?
питушок, развлеки меня сегодня
superhackkiller1997 03.07.2013 13:34 # −1
Реально? С чего это на половину? data[1 << bit]; data get_data(key_t key) {retrnt data[perfect_hash(key)];}
С коллизиями делается в 2массива.
>ну так и как ты собираешься хранить значения в корзине твоего хешмапа?
>связный список?
Животное, что такое "корзина"?
>питушок, развлеки меня сегодня
то-то ты в прошлый раз слился как детя.
defecate-plusplus 03.07.2013 14:06 # +1
bucket - это тот контейнер в хеш-мапе, который хранит значения, попавшие под один хеш - коллизии этого значения хеша
ну так что там у тебя - массив? отсортированный? связный список? еще один хеш?
superhackkiller1997 03.07.2013 14:12 # −3
>bucket - это тот контейнер в хеш-мапе, который хранит значения, попавшие под один >хеш - коллизии этого значения хеша
Мне похрен как питушки вроде тебя что-то называют.
В моём первом примере он не нужен, но ты это проигнорил, как питух.
Что мне будет удобней. Массив - массив. Ещё один хеш - массив. Связный список - массив(для вас питухов не массив). От питушок прокукарекался. В 80% случаях хешмап состоит на 100% из массивов.
defecate-plusplus 03.07.2013 14:17 # +1
расскажи почему связный список это массив?
superhackkiller1997 03.07.2013 14:21 # −1
У тебя есть 0 ... N массив и ты пишешь правый елемент n, а левый елеменин n. Код тоже индексируется переходами, но от этого он не перестаёт быть масивом.
Твоё жалкое сознание примитивно, основанно на бездарном недопонимании каких-то абстракций.
roman-kashitsyn 03.07.2013 14:25 # 0
Ну, если список интрузивный (а сишные Цари используют только такие), то для реализации вполне достаточно одного массива. Вместо указателей - индексы.
defecate-plusplus 03.07.2013 14:35 # +1
в отличие от массива, где 1) для обращения к i элементу нужно совершить 1 действие и 2) при вставке в середину ломается перформанс
roman-kashitsyn 03.07.2013 14:44 # +2
Мы-то, анскильные жывотные, привыкли отделять питушиные абстракции от анскильных реализаций. Но наш гениальный друг не желает опускаться до пренебрежения деталями. Ибо всё есть массив и гнуц - пророк его. Питаминь.
superhackkiller1997 03.07.2013 15:42 # −3
Животное упоротое. Никаких i елементов у взаимозависимых индексов нет - питух тупой.
>не будет пенальти при вставке и удалении в отличие от массива
Упоролся чтоли? Иди покури man x86, питушара.
>для обращения к i элементу нужно совершить 1 действие и 2) при вставке в середину ломается перформанс
Упоролся, животное? Не 1 действие, животное, а (3*кешлайн)/длинну елемента( в твоих питушарских плюсах всё ещё хуже). И застопорить конвейер. Но тыж питух, кроме детсодовских "1действие" нихрена не знаешь.
Ты, животное, нихрена не знаешь о перфомансе, даже не заикайся мне о нём - твой удел ваять говно за еду, не более.
defecate-plusplus 03.07.2013 15:50 # +2
ты же ранее уже спизднул, что у нас не хватает уровня абстракции, что массив и список - это всё суть некие контейнеры, которые хранят в себе элементы
"N элементов"- твои слова?
значит с ними обоими можно сделать одни и те же операции - попросить конкретный по счету элемент, вставить элемент за конкретным, удалить конкретный элемент
теперь тут будет вопрос о твоей нелюбимой О-нотации
для тебя же понятно, надеюсь, что container[1] - элемент, следующий за container[0]
итак, сколько попугаев-элементарных абстрактных действий надо будет сделать при обращении к container[5] в случае, если этот container - массив и в случае, если container - список, в котором, как ты хотел, роль указателя на следующий элемент исполняет индекс этого самого следующего элемента?
затем аналогично про удаление container[5] и вставку элемента между container[5] и container[6]
доступно?
superhackkiller1997 03.07.2013 16:54 # −2
0 1 2 3 4 5 6 - это стркутура данных - она хранит.
3 0 2 5 6 4 1 - это индекс, который можно записать как ещё один линейный индекс, либо как связный список. Нулевой елемент тут 2-й, поэтому p+0 - будет нулевой елемент О(1).
Ты животное, у тебя нет прямой индексации к индексу над массивом, которыйм является список.
>затем аналогично про удаление container[5] и вставку элемента между container[5] и container[6]
Животное - ты не можешь вставлять между чем-то упрошка - у твоего списка нет прямой индексации - ты можешь добавлять в хвост. Чтобы ты мог вставлять как ты говоришь - тебе надо захреначить ещё одини ндекс над списком.
В связном списке без верхнего индекса - это бесполезно, с ним - одинаково, что там, что там.
>затем аналогично про удаление container[5] и вставку элемента между container[5] и container[6]
Одинакого и там и там на удалении. Вставка без индексации - одинакова, вставка с индексацией одинаковая - если всё в кеше связный список с внешним индексом будет быстрее, но его полезная нагрузка на байт 20 на елемент меньше, чем у массива.
Питух, ты нихрена не понимаешь - ты несёшь полную херню, ты кроме стл"а ничего не знаешь. Ты не знаешь своих же "стрктур данных". Ты не понимаешь, что [] требует для списка ещё один индекс и это уже далеко не связный список.
defecate-plusplus 03.07.2013 17:14 # +2
связный список в стл, в кнуте и других пока еще непонятных для тебя словах на пальцах описывается вот тут: http://ru.wikipedia.org/wiki/Связный_список
в общем я постарался декодировать то, что ты написал
у тебя, походу, каша из абстрактного понятия "список" и понятия "LRU"
какую то ересь нахерачил
каждый элемент списка знает, где находится соседний к нему элемент
нулевой должен знать про первый, первый должен знать про второй
с помощью массива это запиливается несложно - каждая ячейка массива хранит { T data; size_t next; }
список - идеальная структура данных, в которой важен как порядок соседствования элементов при обходе, так и сравнительная дешевизна размещения нового элемента/удаления ненужного между существующими двумя
[] для списка требует последовательного прохода от головы списка до нужного i-го элемента
сравни с массивом
вставка в середину массива и удаление из середины от тебя потребует (даже если аллоцированный размер позволяет) переноса всех элементов справа
в списке же тебе достаточно найти любую свободную ячейку и переназначить ссылки на нее - все старые элементы остаются на своих местах и никуда не двигаются
что непонятного?
superhackkiller1997 03.07.2013 17:25 # −2
Вот тебе надо вставить по одному елементу на 10, 100, 1000, 10000, 100000 позицию в твоём списке - для того, чтобы получить указатель на 10, 100, 1000, 10000, 100000 елемент в твоём списке - тебе надо обойти 10, 100, 1000, 10000, 100000 елементов, ибо ты знаешь указатель только на первый елемент списка.
Для того, чтобы тебе не надо было обходить елементы, питух тупорылый, пацаны в стл"е пишут для тебя ещё один индекс, но ты этого не понимаешь.
Вставка в произвольное место массива - требует сдвинуть все последующие елементы - вставка в произвольное место списка - требует перебора всех елементов до нужного тебе.
Ты поймёшь это?
defecate-plusplus 03.07.2013 17:28 # +2
я уже знаю указатель на 10000й элемент
как в массиве, так и в списке
я хочу вставить сразу после него новый элемент
ничего дополнительно искать с головы не надо - это задача совсем другого алгоритма
superhackkiller1997 03.07.2013 18:16 # −3
Знал бы ты ещё х86, как строитель материал - ты бы такую херню не нёс. Скорость памяти уже давно перешагнула планку 20гигов на нить.
Максимум, что ты можешь выжать из обхода списка - это отсилы гига 2-3/с. Даже если ты будешь обходить елементов в 2раза меньше, чем я в массиве копировать - вставка у тебя будет медленней.
Так же - ты будешь убивать кеш, ибо ты будешь сбрасывать кешлайны на запись, что убьёт перфоманс оперативы ещё в 2раза. nt обход на списке не реализуем. Префетч тоже.
Вобщем ты анскильное говно, которое несёт просто тотальную херню - вставка в произвольное место списка не быстрее вставки в произвольное место у массива, даже если ты будешь кешировать последние обращения.
defecate-plusplus 03.07.2013 19:00 # +3
можешь переписать на сишке
http://pastebin.com/FptZPZxk
насчет актуальности проца и его кешей - i7-2600k
superhackkiller1997 03.07.2013 22:26 # −1
Произвольная вставка - это имея голову - хреначит в любую часть списка, а не смешать голову и хреначить в неё.
Теперь запили мне бенчь, где ты записываешь в (std::rand() % 1000000) елемент единицу 1000000 раз и слейся, животное.
OCETuHCKuu_nemyx 21.04.2019 12:17 # 0
roman-kashitsyn 03.07.2013 13:38 # +4
> С коллизиями делается в 2массива.
HashTable = 2 * Array
HashTable / 2 = Array
Лол, занимательная математика
defecate-plusplus 03.07.2013 10:31 # 0
ну про .rodata ты, надеюсь, помнишь, у тебя же абсолютная память
ну и помнишь про функцию с названием примерно strchrnul
представь, что ты пишешь перформанс библиотеку для анскильных питухов
напиши мне прототип этой одной функции strchrnul, я тебе приведу пример как хочу её использовать
bormand 03.07.2013 10:49 # −10
А вот, кстати, хрен там. Если бы const гарантировал помещение в r/o память, то зачем бы в avr-gcc сделали модификатор __flash?
The implementation may place a const object that is not volatile in a read-only region of
storage. Moreover, the implementation need not allocate storage for such an object if its address is never used.
Т.е. компилятор может поместить константы в r/o секции или вообще выкинуть. Но не обязан.
defecate-plusplus 03.07.2013 10:57 # +3
я подожду ответа анскильной куриной королевы
superhackkiller1997 03.07.2013 13:43 # −2
OCETuHCKuu_nemyx 21.04.2019 12:18 # 0
defecate-plusplus 03.07.2013 11:49 # +2
ну так вот
1) к вопросу может/обязан - в обоих случаях строковый литерал следует объявлять как char const * - кто даст гарантии, что сейчас он этот литерал 100% не разместит там
даже несмотря на то, что в сишке строгость типизации совпадает с уровнем строгости режима его лечебного заведения
2) сейчас он представит прототип, но я подозреваю, что в его варианте там будет нечто навроде
char *strchrnul(char *s, int c);
итак, я пользуюсь его библиотекой и обнаруживаю, что его strchrnul принимает мутабельный char *
раз она его принимает, значит делает неспроста (например, strtok делает это неспроста, inplace xml-парсеры делают это неспроста - видимо там такой уберперформанс алгоритм, что убер это требует) - что ж, единственный выход будет сделать либо не менее уебищным способом через массив на стеке длиной strlen(s), или на худой конец strdupa (слыш бивис, он сказал дупа)
вот так вот, лишь потому что я не имею права быть уверенным в том, что функция не засрёт мне аргумент, а ленивый анскильный питушок не способен в прототипе ясно выразить свою мысль, возникают ненужные пессимизации на ровном месте
bormand 03.07.2013 12:14 # −10
Сейчас он скажет тебе, что ты неуверенный в себе анскильный питушок, раз не можешь прочитать в доке\исходнике делает ли strchrnull что-то нехорошее со своими аргументами ;)
defecate-plusplus 03.07.2013 12:20 # +2
исходники не всегда бывают - это раз, куриная королева не удостоит свои гениальные творения генерацией доков - это два, ну и код _обязан_ быть самодокументированным - это три
superhackkiller1997 03.07.2013 13:57 # −4
Я уже не раз говорил - меня животные, типа тебя не интересуют.
>исходники не всегда бывают - это раз, куриная королева не удостоит свои гениальные творения генерацией доков - это два, ну и код _обязан_ быть самодокументированным - это три
Всегда бывают исходники, в остальных случаях ты питух. Они не нужны - я не пишу код для животных. Самодокументированных для людей, которые осилил сишку - да, для питухов - нет. Ты питух.
defecate-plusplus 03.07.2013 14:46 # +4
ты пока вообще ни для кого код не пишешь, ни для питухов, ни для курочек
вообще
когда за твой код, который должен будет хоть с чем-либо сопрягаться, тебе начнут платить деньги, внезапно окажется, что питушок-то всего один и ты его хорошо знаешь
superhackkiller1997 03.07.2013 15:21 # −1
defecate-plusplus 03.07.2013 15:28 # +1
где для тебя порог между "за еду" и достойным уровнем заработка?
superhackkiller1997 03.07.2013 16:36 # −1
Вот когда ты будешь писать нужные для мира вещи, создавать что-то и будешь не рядовым кукарекающим веб-говнарём, а реально полезной сущностью.
Пока же ты бесполезное малоразвитое животное, которое нихрена в свой жизни не создало, а весь её код - это впаривание своего говяного выхлопа за еду.
Ещё раз повторю. Для тебя основа написания кода - это запилить поизимодней то, что от меня надо и пойти пить пивас. Поэтому ты ищешь хмл"ы, готовый код, не хочешь осилить сишку.
Когда ты будешь писать код не за еду, тогда ты и будешь не заедушной макакой и будешь способен воспринимать нормальные аргументы и не нести херню.
defecate-plusplus 03.07.2013 16:41 # +1
не стоит судить о бесполезности других для общества по себе :)
т.е. ты готов работать бесплатно, лишь бы тебе было интересно
совместить не пробовал?
или мамка и так борщ сварит и штанишки купит?
defecate-plusplus 03.07.2013 16:17 # +1
superhackkiller1997 03.07.2013 13:55 # −4
Питушок, пиши тогда, когда осилишь сишку хотябы на уровне 2-го курса. Я такого говна давно не видел.
Животное тупо, идиота кусок, просто животное - ты не знаешь семантики функции, незнаешь синтаксис, нихрена не знаешь - и ты споришь питух.
Питух, бесполезный.
Значит ты животное, если ты не осилил понять как работает strtok и как работает shrchr - ты питух и это твои проблемы - меня они не заботят.
То, что ты написал ниже - животное, убейся. Я такого говна в жизни не видел.
Животное, как всегда не осилил c99, питух.
>вот так вот, лишь потому что я не имею права быть уверенным в том, что функция не засрёт мне аргумент, а ленивый анскильный питушок не способен в прототипе ясно выразить свою мысль, возникают ненужные пессимизации на ровном месте
У животного типа тебя, возникают ущербные примеры, ибо ты питух. Меня не интересует животное, которое не смотрит код функций, которые юзает.
Нормальный человек понимает, что strchr() незачем меня твою строку, ибо это ему не нужно - ты же питух не понимаешь - это твои проблемы.
defecate-plusplus 03.07.2013 14:10 # +3
подгорело?
не смотрит код функций? ты бы с гравитацией разобрался сначала, а то пользуешься каждый день, но что такое ускорение не понимаешь
дошла аналогия?
надо быть полнейшим уёбком, чтобы писать функции, требующие при использовании разбора их тел
superhackkiller1997 03.07.2013 14:26 # −1
>не смотрит код функций? ты бы с гравитацией разобрался сначала, а то пользуешься каждый день, но что такое ускорение не понимаешь
дошла аналогия?
Не с гравитацией, а с матописанием. Твоя аналогия говно.
>надо быть полнейшим уёбком, чтобы писать функции, требующие при использовании разбора их тел
Оно не требует разбора тела - оно требует понимания, коего у тебя нет. Если ты питух не понимаешь, что функции не нужно трогать твои данны.
Ты же, животное, понимаешь, что измерение твоей жопы не наносит ей вреда. Ты же перед измерением не оковываешь жопу в сталь и не бежишь читать на рулетке "констатная ли она или нет".
Ты банальное, бездарное животное, которое несёт херню.
defecate-plusplus 03.07.2013 14:42 # +1
самые быстрые и экономные xml парсеры - inplace
что такое парсер объяснять не нужно, надеюсь?
парсер должен прочитать и разобрать входящие данные - и обычный человек подумает, что данные-то менять для этого ему не нужно
однако inplace парсер волен для своего же удобства позаменять неугодные символы на нулевые - и он сделает дохера таких замен
и безусловно, такой парсер примет на вход char *, а не char const *
представь, что ты пишешь свой парсер, убер-перформанс
если ты укажешь char const *, я даже в документацию не полезу с вопросом, не наебнет ли твой парсер мне приложение, если я передам туда константную строку, в противном случае придется потратить существенно больше рабочего времени, чтобы удостовериться - ну нет, похоже, не меняет - и скрестить пальцы, что взаправду не меняет
superhackkiller1997 03.07.2013 15:20 # −1
>представь, что ты пишешь свой парсер, убер-перформанс
Ты идиот? Ты питух? Ты животное? Никому не нужна строка до парсера. Если твоё говно строится на том, что тебе нужна исходная строка после парсинга - ты животное, и уйди отсюда пожалуйста.
Меня твои проблемы, животное, не волнуют. strchr() юзают для уничтожения строки, поэтому юзать его на константную строку никто не будет, кроме таких питухов как ты. Остальное меня не волнует.
Vasiliy 03.07.2013 15:28 # +1
defecate-plusplus 03.07.2013 15:33 # 0
ух ты какой, только черное и белое, да?
а про поточные парсеры ничего не слышал?
у тебя плохо с абстрактным мышлением, но всё же попробуй представить себе xml файл, не умещающийся в оперативной памяти, или еще пример - тебе нужна только малая часть приходящего из сети xml документа - его что, надо весь сохранить в памяти и только после </end-tag> приступить к парсингу?
superhackkiller1997 03.07.2013 15:54 # −1
Я не хотел это юзать, но тебя животное надо тыкнуть рожей в лужу, а то ты уже совсем о своём месте позабыл.
Знаешь питух, почему в сишке strchr() возвращает char*? В плюсах есть char * и констрчар? А теперь подумай, животное, почему входящие данные константы, а выходящие( которые являются теми самыми данными) нет?
char * s = strcher(str, *str); - легальный каст из конст в не конст.
>а про поточные парсеры ничего не слышал?
Животное, а знаешь почему они поточные? Потомучто они не сохраняют предыдущие данные.
>у тебя плохо с абстрактным мышлением, но всё же попробуй представить себе xml файл, не умещающийся в оперативной памяти, или еще пример - тебе нужна только малая часть приходящего из сети xml документа - его что, надо весь сохранить в памяти и только после </end-tag> приступить к парсингу?
Тыж животное описываешь свой выхлоп.
По твоей логике вначале надо скопировать данные, которые не умещаются в оперативной памяти в этой же памяти. А потом уже парсить не трогая данные. Питушара.
Питух, что ты мне хочешь сказать? Что нормальные парсеры не юзают константные данны? Я это и без тебя знаю, но ты же начал кукарекать, что тебе нужны эти данные. В чём проблема?
И да, питух, xml юзают только животные вроде тебя, которые не осилили бинарные протоколы/key-value.
А уже если у тебя хмл не вмещается в память - ты трижды идиот и иди убейся, чтобы я больше таких днище-сливпримеров не слышал.
defecate-plusplus 03.07.2013 16:02 # +1
ты же заявил, что все парсеры беспесды будут заменять на ноль хвосты токенов, а те что не заменяют - ненужны ибо для мудаков
поточный парсер - отличный пример парсера, который не модифицирует входные данные
xml?
да ты сейчас в браузере его видишь, прямо сейчас - xhtml подмножество xml, сюрприз, да? прости, что твой интернет не осилил бинарный протокол key-value
ну то, что про тебя нет никакого межведомственного/фискального потока информации в твои то 17 лет, я могу и не удивляться, ладно
у xml есть еще другие преимущества, но самое главное - простота и гибкость описания произвольных данных внутри
у тебя просто маленькая голова, в маленькой голове живет маленький мозг, который отрицает существование здоровых отчетных xml файлов, потому что их никогда не видел
superhackkiller1997 03.07.2013 16:30 # −1
>ты же заявил, что все парсеры беспесды будут заменять на ноль хвосты токенов, а те что не заменяют - ненужны ибо для мудаков
поточный парсер - отличный пример парсера, который не модифицирует входные данные
Значит он тормазнутое говно - максимум, что он может - это не индексировать входные данные, а копировать из них нужные токены, но хмл хоть и питушня, но хранить нули выгодней, чем хранить только токены.
>да ты сейчас в браузере его видишь, прямо сейчас - xhtml подмножество xml, сюрприз, да? прости, что твой интернет не осилил бинарный протокол key-value
Броузер и интеренты писали питухи вроде тебя. Ничего, скоро твой хтмл умрёт. Уже сейчас оверхед на хтмл и хттп перевешивает полезную нагрузку, но вы, вебпитухи слишком анскильны и никто из вас не осилит бинарный протокол.
>ну то, что про тебя нет никакого межведомственного/фискального потока информации в твои то 17 лет, я могу и не удивляться, ладно
у xml есть еще другие преимущества, но самое главное - простота и гибкость описания произвольных данных внутри
Т.е. ты питух пишет свои произвольные данные в оперативе, а потом хранишь в хмле? Ой питух, а задампиьть оперативу не проще? Нормальные люди дампят оперативу - питухи типа тебя юзают хмл.
>у тебя просто маленькая голова, в маленькой голове живет маленький мозг, который отрицает существование здоровых отчетных xml файлов, потому что их никогда не видел
Ах да, питушок считать не умеет. Берём хмл файл в 10гигов - он на 70% состоит из оверхеда. Поэтому тебе, питуху, его надо сжать. В противном случаее тебе дадут по рожи более развитые идиоты.
А бинарное представление key-value занимает пол гига, а не 10гигов - и уже никакие парсеры не нужны, в оперативу влезает - всё хорошо.
Но питухи оправдывают свою анскильность тем, что что-то удобно и везде так.
defecate-plusplus 03.07.2013 16:38 # +1
ты не поверишь, но поточный парсер работает _быстрее_ DOM парсера, прикинь сюрприз
> оверхед на хтмл
соль-то подорожала
прикинь, еще бывают gzipped потоки
> удобно
ты не поверишь
но текстовый редактор - вообще достаточно удобная штука
не пробовал писать на сишке сразу в машинных кодах?
superhackkiller1997 03.07.2013 17:19 # −1
Мне не интересно какое там у вас говно быстрее другого говна. Я могу с тобой поиграться в тыкнуть тебя рожей в лужу - берём любую key-value структуру данны - я хреначу своё бинарное представление и парсер - ты юзаешь свой хмл и самые быстрыы говнопарсеры.
Потом сравним, что быстрее и легче.
>прикинь, еще бывают gzipped потоки
Животное - я об этом уже писал - ты не сливайся так явно.
>ты не поверишь
>но текстовый редактор - вообще достаточно удобная штука
>не пробовал писать на сишке сразу в машинных кодах?
О5 сливаешься как животное. Тактовый редактор для текста - яж не пишу сишку в хмл"е, а ты похоже пишешь.
defecate-plusplus 03.07.2013 17:25 # 0
пишешь key-value для него
потом мы с тобой обсудим возможность добавления обработки элементов <vova> и <hello:pitushok>
америку ты мне не откроешь, не надейся
superhackkiller1997 03.07.2013 18:17 # −2
HaskellGovno 03.07.2013 11:04 # +1
roman-kashitsyn 03.07.2013 11:07 # +2
defecate-plusplus 03.07.2013 11:26 # 0
просто будет небольшой пример, как небрежный прототип заставляет делать пессимизации
TarasB 03.07.2013 14:18 # 0
superhackkiller1997 03.07.2013 13:43 # −1
Причем тут это? Питух - это семантика не конста, а "статической" памяти. Животное, тупое. Что мне даёт rodata? Ничего.
>представь, что ты пишешь перформанс библиотеку для анскильных питухов
Я ничего не пишу для анскильных питухов вроде тебя.
>напиши мне прототип этой одной функции strchrnul, я тебе приведу пример как хочу её использовать
Я уже писал.
Lure Of Chaos 03.07.2013 12:36 # 0
нихуа. все структуры данных на самом деле - ни что иное, как последовательность байтов.
superhackkiller1997 03.07.2013 13:27 # −1
Lure Of Chaos 03.07.2013 13:43 # 0
superhackkiller1997 03.07.2013 14:14 # −1
Lure Of Chaos 03.07.2013 14:18 # 0
приведи пример хоть одного неупорядоченного
и не кукарекай
superhackkiller1997 03.07.2013 14:32 # −1
В том и суть, что изначально в машине их нет. Поэтому в железе всё массив. А не упорядоченный - это уже абстракция относительно нижнего порядка.
Lure Of Chaos 03.07.2013 14:38 # 0
но не
> Последовательность байтов и есть массив
видишь разницу?
и любой поток - последовательного или произвольного (как в массиве) доступа - упорядочен, т.к. байты идут один за другим, либо пронумерованы (для массива - индекс), а не перемешаны рандомно
superhackkiller1997 03.07.2013 15:14 # −1
>и любой поток - последовательного или произвольного (как в массиве) доступа - упорядочен, т.к. байты идут один за другим, либо пронумерованы (для массива - индекс), а не перемешаны рандомно
Изначальная софтварная абстракция - есть массив. Поток - это поток, а массив это массив.
У тебя есть какой-нибудь кеш, аля примитивные 4*! на ячейку, что получается? У тебя набор этих елементов - есть массив. У тебя массив массивов. А вот то, что идёт по шинам - уже поток байт.
Поток - есть набор байтов за t - т.е. t+0 - первый байт, t+1 - второй и т.д. А вот массив - это статичная конструкция. И основа всего - это массив, ибо если бы небыло статичных байтов - неоткуда было бы взятся потоку.
Поэтому взависимости от уровня интерпритации - это может быть всё, что угодно - ибо ты можешь дойти до електронов и прочего.
Lure Of Chaos 03.07.2013 15:39 # 0
в отличие от потока, массив не может быть неограниченным, "бесконечным"
superhackkiller1997 03.07.2013 15:55 # −1
roman-kashitsyn 03.07.2013 15:58 # +1
ща, угу. Иди попроси бесконечный байтовый поток без произвольного доступа у своего ethernet-адаптера.
Lure Of Chaos 03.07.2013 16:09 # 0
да запросто. бесконечный байтовый поток с последовательным доступом.
а вот бесконечный байтовый массив с произвольным доступом - уже сложнее
Lure Of Chaos 03.07.2013 16:02 # 0
он не мой.
и не зря я сказал "бесконечным" в кавычках. потому как принципиальная разница именно в том, что у массива определена некая длина, а поток может быть сколько угодно открытым, пока не придет сигнал окончания потока.
поэтому, массив может быть потоком, но поток массивом может быть, а может и не быть.
bormand 03.07.2013 10:20 # −10
Ну да, для 64-битки хороший вариант.
> Никто не говорит, что они одинаковые
А это тогда что было: p-offset/p+offset? Я к этой записи и придирался.
superhackkiller1997 03.07.2013 14:17 # −3
В это записи лишь говорится, что к какому-то указателю прибавляется оффсем и получается другой указатель.
bormand 03.07.2013 15:59 # −10
Если же p-offset и p+offset это, разные, независимые формулы, в которых offset'ы друг к другу никакого отношения не имеют (и поэтому могут быть хоть одинаковыми, хоть разными), то претензий не имею.
TarasB 03.07.2013 10:36 # 0
bormand 02.07.2013 20:02 # −10
А строитель, хорошо научившийся ложить кирпичи, без проблем сможет построить 10 этажный дом без помощи архитектора... Кул стори, бро.
Lure Of Chaos 02.07.2013 22:11 # 0
> ложить
кажется, я знаю такого одного
bormand 02.07.2013 22:17 # −10
На меня намекаете? :)
Lure Of Chaos 02.07.2013 22:20 # +4
= )
superhackkiller1997 03.07.2013 01:28 # −2
Да, строитель который досканально знает основу всех материлов, все их х-ки и прочее. Архитектор, глупая, анскильная, ты моя лалка - учит материалы, и уже зная особенности материлов - может строить любые конструкции.
Только вот максимум, что архитектор выучит - это марки бетона. Пропацану не упали марки бетона, ибо он в идеале знает х-ки компонентом и может сам себе смесить бетончик.
Ну и да, питух, строитель даже из 10% может построить 10-этажный дом без помощи архитектора. Строитель может не знать, ибо он аскиллед типа вас, какие именно ему нужны стены, на чём можно сэкономить - он просто захреначит коробку коробку из боковой лесенки в кирпича 3-4 и конструкция тупо на свой жесткости простоит.
Хотя вы же сродни панельщикам - вы клепаете панельно говно и кричите "ты не знает форм панелей" - хотя я могу тупо из кирпача составить любые мыслимые и не мыслимые формы, а так же отлить из бетона. И мне ваши примитивные формы понелей не упёрлись, ибо я знаю основу - бетон и арматура в идеале и могу хреначить всё, что душе угодно.
anonimb84a2f6fd141 03.07.2013 02:05 # 0
Ты забыл написать - в принципе может. Расшифровку "в принципе" читай в пасте Карманова.
superhackkiller1997 03.07.2013 09:38 # 0
bormand 03.07.2013 07:29 # −10
Ну готовые структуры данных юзают не только потому, что не могут на ходу придумать свои...
Во-первых да, ты прав, не каждый программист способен придумать структуру и реализовать ее. А писать как-то надо. Ведь гениев совсем мало, а прикладная опердень их совершенно не интересует. Вот и приходится большинству юзать готовые реализации готовых структур, не вникая в то, как они работают.
Во-вторых это экономит время на написание кода. Нахрена каждый раз писать реализацию какого-нибудь хешмапа, если уже есть готовая и достаточно шустрая? Да, не спорю, этот код будет работать медленнее, чем заточенная под конкретный случай реализация.
В-третьих код, в котором используют стандартные структуры быстрее читается. Не ну я не спорю, разобраться можно в любом коде, просто это займет больше времени.
В-четвертых, в своей реализации можно допустить ошибку. Забыть какой-нибудь крайний частный случай, или погнавшись за оптимизацией допустить какой-нибудь косяк в реализации. Если писать свою реализацию для известной структуры, или вообще взять готовую, вероятность ошибки намного меньше.
P.S. Не пойму, почему ты так уперся в перформанс... Рвать всех по скорости конечно круто, и интересно, но ведь есть еще такие характеристики как время разработки, надежность, легкость модификации и т.п... Да и не далеко не всем кускам кода нужен этот перфоманс.
superhackkiller1997 03.07.2013 09:37 # −1
На 90% только поэтому.
>Во-первых да, ты прав, не каждый программист способен придумать структуру и реализовать ее. А писать как-то надо. Ведь гениев совсем мало, а прикладная опердень их совершенно не интересует. Вот и приходится большинству юзать готовые реализации готовых структур, не вникая в то, как они работают.
Поэтому и существует проблема 95%. Не каждому дано думать, разваваться, быть человеком. Проще быть шаблонным ущербаном и глушить ягу/пивасик(замени нан ужное слово) с горямыки.
>Во-вторых это экономит время на написание кода. Нахрена каждый раз писать реализацию какого-нибудь хешмапа, если уже есть готовая и достаточно шустрая? Да, не спорю, этот код будет работать медленнее, чем заточенная под конкретный случай реализация.
Я уже это объяснял - в хешмапе сложность не в самом хешмапе, а в хеше. На подбор нормального хеша у тебя уйдёт больше времени, чем на написание самого хешмапа, а в 50% случаев всё сводится к перфектхешу и банальному массиву. В остальных случаях - самое сложное - это обработка коллизий - но и тут захреначь туда связный список - получи хешмап за 5минут.
>В-третьих код, в котором используют стандартные структуры быстрее читается. Не ну я не спорю, разобраться можно в любом коде, просто это займет больше времени.
Нет, не быстрее. Быстрее читается неосиляторами, мозг которых не способен понимать что-то за гранью стл. По вашей логике ваши 100строчек читается проще нормальных 20, но всё какраз-таки наоборот.
superhackkiller1997 03.07.2013 09:38 # −1
Какую такую ошибку? Очередная отговорка - шанс на допуск ошибки у неосиляторо в stl-api больше, чем у человека зафейлить что-то. Ты можешь зафейлить, когда ты пишешь в комментике на говнокоде, ибо тебе лень запустить код, но в реальной жизни - ты можешь запустить свой код и поглядеть.
>P.S. Не пойму, почему ты так уперся в перформанс... Рвать всех по скорости конечно круто, и интересно, но ведь есть еще такие характеристики как время разработки, надежность, легкость модификации и т.п... Да и не далеко не всем кускам кода нужен этот перфоманс.
Для конкретно меня - писать любые конструкции - это 5-10% времени - остальное время я думаю. Мне проще писать так, чтобы моё представление ложилось на код без искажений - остальное меня мало интересует.
Самый простой код - самый надёжный. Чем больше кода в своей программе ты можешь написать сам, а лучше пишешь сам - тем надёжней твой код. Тогда для тебя не будет никаких чёрных ящиков в программе, всё будет идеально сопрягаться и не будет кастылей, которые и дают 95% багов. Да и на любое неправильное поведение - ты уже будешь примерно представлять где оно не работает, а лалка будет гадать, ибо он даже не знает, как работает его стл.
Самая лёгкая модификация - это переписать. Ты же не строишь дом, говоря - он должен легко модифицироваться. Ты строишь надёжно, красиво, хорошо и так, как тебе надо. Ты вкладиваешь в дом возможность сделать после то, что ты не сделал сейчас - это максимум.
superhackkiller1997 03.07.2013 09:38 # −1
Не всем кускам кода нужен МАКСИМАЛЬНЫЙ перфоманс - это да, но не более, ибо максимальный перфоманс основан на хаках х86 говна и это получается не минималистично и не очень красиво.
defecate-plusplus 03.07.2013 10:12 # +4
10 этажей это не хер собачий - наверное понадобится лифт, сколько лифтов нужно, очевидно, нужен технический этаж, балконы нужны или нет, какие стены несущие, должны ли стены на 2 этаже быть такой же толщины, что и на 9м, из чего крыша, какая она
далее - сметная стоимость работ, материалов, какие нужны технические средства, чем ты будешь на 8 этаж доставлять кирпич, чем будешь рыть котлован, сколько времени это займет
всегда легко пиздеть, не владея темой совершенно
кстати, рядом с моей работой есть кирпичный бизнес-комплекс из нескольких корпусов
такой же горе-10% наверное проектировал - 12 этажный дом дал трещину и начал заваливаться (ибо построили на подземной реке), потом отдельно ему стены и фундамент укрепляли, сшивая металлический каркас
http://www.kp.ru/daily/24085/318248/
superhackkiller1997 03.07.2013 16:17 # −3
Никакие ремонты никаких дамов не делаются. Срок службы у этого дома будет сотни лет. Осадка зависит не от дома.
Сколько нужно - столько и хреначат. Очевидно нужен и не технический этаж - ты упоротое животное несёшь такую херню, что я просто поражаюсь. Какая разница нужны балконы или нет? - это тебе не панелька.
Толщена стены зависит не от "должны", а от "сколько мы сэкономим". Причем тут вообще несущие стены? Ты перебираешь всё, что ты услышал/нагуглил о "строительстве"? Несущие стены - это набор стен, которые обеспечивают минимально нужную дому жеткость. Это зависит не от дома, а от стен. Какая крыша не принципиально - хреначь хоть ещё один этаж без стен.
Далее, животное, ты о5 перебираешь бесполезности? Стоимость чьх работ? моих? За мою работу отвечаю я. Посчитай. Строишь этаж - строишь лифтошахту первой, далее цепляешь на верх лифт - им и хреначишь. С плитами сложнее.
Лопатой буду рыть. Какая разница сколько времени это замёт? Я сам строю - я решию как и сколько я строю, пусть хоть 50лет буду строить.
Как всегда животное открыл статью на википедии и перебрал всё подрят, не понимая даже того, что он несёт.
>такой же горе-10% наверное проектировал - 12 этажный дом дал трещину и начал заваливаться (ибо построили на подземной реке), потом отдельно ему стены и фундамент укрепляли, сшивая металлический каркас
Реально? Он его строил? Нет - питушок.
defecate-plusplus 03.07.2013 16:29 # +4
расскажи это жителям Норильска
ты же как строитель-10% вообще нихуя не знаешь, какой толщины должна быть кирпичная, бетонная, деревянная и иная хуянная стена для удержания тепла при внешней температуре этой широты
срок службы у любого дома рассчитывается и планируется - может у тебя на украине не так, и всем похуй на ремонты и никто не чешется, пока подъезд не обвалится, у нормальной системы ЖКХ это всё учтено в бюджетах текущего и следующего периодов
ну так "сколько нужно - столько и хреначат" - как тупоголовому строителю-10% сколько нужно сообщают сверху, да так, что ему и думать не надо
осадка зависит от веса конструкции и почвы, для тебя это не очевидно? какой фундамент ты будешь делать на берегу реки для 10 этажного кирпичного (!) дома? кого посадят, если дом поедет и рухнет в течение года?
"берешь лучшие материалы - остальное не важно"
отличная логика - берёшь лучших швейцарских работников, платишь им сотню млн $ - остальное не важно
как ты думаешь, почему сейчас не стоят многоэтажных домов целиком из кирпича?
"какая разница сколько это времени займет" - теперь ты подошел к тому вопросу, о котором у тебя совершенно нет никакого представления - трудозатратам
за 50 лет ты в одиночку 10 этажный дом не построишь
я в целом не понимаю, чем ты питаешься - родители спонсируют на еду? без расчета трудозатрат обеспечивать положительный баланс денег можно только воровством.
superhackkiller1997 03.07.2013 17:12 # −4
Животное 90% многоэтажного житья в постсовке - панельки, которые клали на твоё тепло - ты что н есёшь?
>срок службы у любого дома рассчитывается и планируется - может у тебя на украине не так, и всем похуй на ремонты и никто не чешется, пока подъезд не обвалится, у нормальной системы ЖКХ это всё учтено в бюджетах текущего и следующего периодов
Анука, где нормальная система жкх? Удиви меня, питушок.
>осадка зависит от веса конструкции и почвы, для тебя это не очевидно? какой фундамент ты будешь делать на берегу реки для 10 этажного кирпичного (!) дома? кого посадят, если дом поедет и рухнет в течение года?
Животное упоротое, а так же от площади фундамента. Животное - она зависит не от дома, питух. Раскопал метров на 100 в глубь и 500метров в ширь - захреначил мильярд тонн бетотону - неуедет.
Ты жалкий питушок, который пытается выехать на цитатках из википедии.
>"берешь лучшие материалы - остальное не важно"
>отличная логика - берёшь лучших швейцарских работников, платишь им сотню млн $ - >остальное не важно
>как ты думаешь, почему сейчас не стоят многоэтажных домов целиком из кирпича?
Так ты и съезжаешь на хмл"е. В том и суть - вы все бездарные животные, вы все делаете говно. Строю я, а я строю как хочу. Суть поста не в том, чтобы построить дешевое говно, которое простоит 20лет, а суть в том, чтобы построить.
defecate-plusplus 03.07.2013 17:20 # +3
ты что, даже не можешь себе предположить, что в ссср таки были нормы и панельки за полярным кругом отличались от панелек в сочи?
у тебя прям травма по панелькам
у меня в москве - нормально
вот этим летом подъезд капитально отремонтировали
> мильярд тонн бетона
а за чей счет банкет?
что, строитель-10% уже не может посчитать сколько конкретно тонн и какого размера ему надо делать подушку под фундамент? это же просто
ты хоть понимаешь, каким конкретно образом например строили "кирпичные" высотки в нью-йорке 100 лет назад, что они стоят до сих пор?
ничего общего с "строитель в цикле ложит кирпич в 3-4 ряда"
найди информацию, просветись
superhackkiller1997 03.07.2013 18:29 # −3
Ты анскильный питух, твоё "жил" - мне не интересно. овер 50% панелек в постсовке построены в районе после середины 80-х. Тогда уже никакого совка небыло. Мб первы паре домов.
>у меня в москве - нормально
>вот этим летом подъезд капитально отремонтировали
Покрасили? От чего его отремонтировали?
>что, строитель-10% уже не может посчитать сколько конкретно тонн и какого размера ему надо делать подушку под фундамент? это же просто
Питух, никто ничего не считает. Идёшь тюкаешь молочком по земельке - мериешь углубление и силу удура - считаешь сколько неутрамованная земелька держит. делишь вес конструкции на эту байду - вуаля. Для боковых нагрузок есть сваи, если лениво хреначить гиганский фундамент.
>ты хоть понимаешь, каким конкретно образом например строили "кирпичные" высотки в нью-йорке 100 лет назад, что они стоят до сих пор?
Да, не экномили - строили нормальной кладкой нормальные стены.
>ничего общего с "строитель в цикле ложит кирпич в 3-4 ряда"
Где я такое говорил, сливпитух? Нагло врёшь, говнарь упоротый.
Дом из нормального кипича, с нормальной облицовкой вечен.
defecate-plusplus 03.07.2013 18:47 # +2
ты анскильный питух, твое не интересно мне не интересно
снипы соблюдались и в 90м году
ты просто не в курсе, ишак
это потом уже при ельцине начался пиздец
покрасили, заштукатурили, побелили, стекла заменили, лифты заменили, входную группу, почтовые ящики - достаточно прилично для ремонта за счет ЖКХ
> нью-йорк
поищи любую фотку с небоскребом в процессе строительства
посмотри, что делают до того, как кладут кирпич
superhackkiller1997 03.07.2013 22:30 # −3
>покрасили, заштукатурили, побелили, стекла заменили, лифты заменили, входную группу, почтовые ящики - достаточно прилично для ремонта за счет ЖКХ
Покрасили - копетальный ремонт - питушок. Ящики заменили - неужели, блин - капремонт нахрен.
Перекраска уже капремонтом считается - буду знать.
>поищи любую фотку с небоскребом в процессе строительства
Т.е. ты, анскильное животное, наврало и проигнорило свой слив? Ок. До того как кладут керпичь - кладут керпичь.
Фото в студию, питух.
defecate-plusplus 03.07.2013 23:09 # +4
http://polit.pro/_dr/29/52128540.jpg
даже дети это знают
Эра современных небоскребов началась в 1885 году, когда Вильям ле Барон Дженни возвел небоскреб в Чикаго, штат Иллинойс. Тогда здание было небольшой этажности, всего 10 этажей, тем не менее, это была первая в мире высотка с несущей конструкцией, которая полностью удерживала его вес. К тому же, изнутри здания использовался стальной каркас. Именно с этого дня строительство небоскребов стало развиваться огромными темпами, здания росли в буквальном смысле до небес. Прошло всего 30 лет после возведения первого современного небоскреба, как в мире появились строения уже с 60 этажами
inkanus-gray 04.07.2013 09:31 # 0
defecate-plusplus 04.07.2013 10:04 # 0
да-да, панелька п44
как раз тогда, когда по мнению питушка уже всё было плохо
но ему то лучше знать
TarasB 03.07.2013 22:58 # +4
bormand 03.07.2013 23:07 # −10
inkanus-gray 04.07.2013 09:29 # +1
superhackkiller1997 03.07.2013 17:13 # −3
за 50 лет ты в одиночку 10 этажный дом не построишь
Построю. Сколько кубов кладки надо на дом? Посчитай. Куб можно класть, с мотря какой кладки, ну за 3-4часа на среднем скилле. Это в районе 1квадрата хорошей стены за часа 2. За неделькую окольцуешь средних размеров дом на 30-40сатиметров.
Фундамент в некоторых районах вообще нахрен особо не упало строить - за пару лет можно свайки забить и запилть даже руками.
>я в целом не понимаю, чем ты питаешься - родители спонсируют на еду? без расчета трудозатрат обеспечивать положительный баланс денег можно только воровством.
У нас разное представление о мире.
Ах да, почему сишников сейчас нет, а остальные одни заедушные, бесполезные бездарности вроде тебя? Ты дешевый как граязь.
inkanus-gray 04.07.2013 09:27 # 0
Дураки что ли изобрели железобетон с металлической арматурой и здания на металлическом каркасе?
Ну расскажи, строитель, сколько этажей выдержит твоя стенка.
bormand 04.07.2013 10:55 # −10
Он будет строить керпичьную перамиду, как у египтян, чтобы не париться с каркасами.
inkanus-gray 04.07.2013 11:43 # 0
3Jlou_OguHo4ka 30.06.2013 17:21 # 0
Да, не умею.
eth0 30.06.2013 18:22 # 0
anonimb84a2f6fd141 30.06.2013 19:22 # −12
3Jlou_OguHo4ka 21.04.2023 18:02 # 0
сколько лет прошло, а говно всё не тонет.
1024-- 02.07.2013 00:16 # +6
И да, Ваш код более походит на C++, чем на JS. Во время изучения (пока Вы не реализуете что-то серьёзное, пока код Ваш не будет поддерживаться другими) следует писать JS-ориентированный говнокод, чтобы лучше познать суть:
Lure Of Chaos 02.07.2013 00:22 # +1
зато еще лучше писать что-то вроде
1024-- 02.07.2013 00:25 # +1
3Jlou_OguHo4ka 02.07.2013 07:31 # 0
1024-- 02.07.2013 08:38 # +2
К сожалению, порядок "один, два, много" пришлось нарушить, чтобы не ставить лишний восклицательный знак.
P.S. Если не передавать этой функции строки и другую гадость, которая станет NaNом, то можно ещё (n|=0) заменить на n.
P.P.S. Ни версия сверху, ни эта не возвращают верный результат для отрицательных чисел.
wvxvw 02.07.2013 09:00 # +1
Решение предыдущего оратора просто неправильно решает. (Это тоже решает неправильно, но времени нет доделать). Предыдущий оратор наивно верит в то, что в каждом дне было по 24 часа, не учитывая ДСТ.
bormand 02.07.2013 09:54 # −10
Если учитывать ДСТ, то надо тащить с собой всю таблицу этих зон. А тогда проще прицепить готовую либу для работы с датами и не париться...
1024-- 02.07.2013 10:11 # +1
bormand 02.07.2013 10:17 # −10
Имхо, человеку для оценки интервала почти всегда достаточно т.н. "fuzzy clock" - "более 2 месяцев", "полгода", "2 недели", "более часа", "чуть менее 5 минут" и т.п. Один хрен увидев 2 года 5 часов 3 минуты и 5 секунд человек подсознательно округлит это до 2 лет...
roman-kashitsyn 02.07.2013 10:24 # 0
1024-- 02.07.2013 12:07 # +3
roman-kashitsyn 02.07.2013 12:21 # 0
3Jlou_OguHo4ka 02.07.2013 12:33 # 0
roman-kashitsyn 02.07.2013 12:37 # +5
1024-- 02.07.2013 12:06 # +1
roman-kashitsyn 02.07.2013 12:22 # +4
wvxvw 02.07.2013 16:47 # +1
А вообще, лучше бы ДСТ отменили. На сколько бы проще жить стало... и не экономит оно нифига, даже в странах, где разница более заметна между зимой и летом.
bormand 02.07.2013 19:09 # −10
Лучше бы его вообще не вводили. Теперь вот его убрали, а старые даты все равно нужно пересчитывать с учетом DST.
superhackkiller1997 02.07.2013 18:17 # −2
Lure Of Chaos 02.07.2013 19:18 # +2
код в студию, мне охота сравнить
roman-kashitsyn 02.07.2013 19:19 # +3
Цари не пишут код в студии
eth0 02.07.2013 19:26 # +3
1024-- 03.07.2013 07:30 # +4
Сохранив в suka.js, запускаем под Node под Windows/Linux/MacOS и, вероятно, Android:
И получаем вывод:
Здесь си тоже использовать уместнее и проще? (перфоманс не требуется)
Lure Of Chaos 03.07.2013 08:12 # +1
1024-- 03.07.2013 08:22 # +1
inkanus-gray 03.07.2013 12:03 # +1
1024-- 03.07.2013 14:13 # +5
http://s2.ipicture.ru/uploads/20130703/5NLmsvuF.png
superhackkiller1997 03.07.2013 22:37 # −1
1024-- 03.07.2013 23:27 # +1
Для интереса проверим браузерный вариант от inkanus-gray на этой странице:
Запускаю прямо тут, в консоли хрома. Получаю результат:
* это первое измерение. результат может становиться в пару раз меньше при повторном запуске, даже если везде добавились "суки" - V8 неслабо так оптимизирует код при повторном запуске.
Думаю, даже нетбук на старом атоме сделает это в <=5 раз медленнее.
Впрочем, код я привёл, каждый может проверить и решить, когда переписать это на си.
OCETuHCKuu_nemyx 21.04.2019 12:19 # 0
OCETuHCKuu_nemyx 21.04.2019 12:20 # 0