• Что значит этот код?

    @vilgeforce
    Раздолбай и программист
    $ - либо адрес текущей инструкции, либо следующей, не помню точно. Соответственно, ищут смещение до начала array.
    Ответ написан
    Комментировать
  • Насколько эффективен скрипт↓?

    elevenelven
    @elevenelven
    Php Dev @ Amadeus
    У вас непарное количество открывающих и закрывающих фигурных скобок.

    xreservederror - это константа? А это $GLOBALS[xreservederror] что такое?

    hexdec($i) я бы заменил на intval($i,16). Но hexdec('ff') вообще заменил бы на 255.

    Создали бы переменную
    $fileName = './db/'.$pre.dechex($i).'.list'

    Вот этот кусок:
    if($i<16)
          $pre=0;
    
        if(!file_exists('./db/'.$pre.dechex($i).'.list'))
          mkfile('./db/'.$pre.dechex($i).'.list');

    Если $i>=16, то переменной $pre не будет.

    Как указал 27cm, это что-то странненькое.
    if($i>hexdec('ff')){
          return false;
          $GLOBALS[xreservederror].='<t>[u01] Database is full.</t>';
          break;
        }


    Вот этот кусок:
    $data.=str_repeat(' ', $size);
    $data=substr($data, $size);

    Я так понимаю, вы берете некоторую строку и увеличиваете её длину на $size, а потом берете фрагмент получившейся строки отступив $size с начала строки. Я тут вижу много входных данных, которые приведут к созданию файла заполненного пробелами.

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

    ---------------
    UPD

    О! Спасибо что откомментировали код, и стало немного яснее. Я понял ваш вопрос.
    Вы хотите забабахать свое хранилище данных, на файловой системе. Объемы будут в районе 3ГБ.
    ---------
    Я вам сейчас скажу крамольную вещь, но вроде очевидную. Файловая система, это не самый лучший вариант по быстродействию. А ваш код не предусматривает никакого кеширования.

    Я бы отошел от идеи использовать свой велосипед. Индустрия изобрела для вас кучу различных хранилищ. Sql, NoSql, ключ-значение, хеш-таблицы. Вы хотите что-то хранить на диске?!
    MySQL и Redis хранят данные на диске, но в то же время у них есть кеширование и механизмы оптимизации, выгрузка в RAM.

    А кроме того, ваш код:
    - слишком примитивен и не оптимален. Нет поддержки транзакций и явного механизма блокировок. А это вылезет коллизиями при нагрузке.
    - не учитывает очень важные нюансы работы, например особенности работы php с файловой системой.

    что на счёт быстродействия?
    Быстродействие будет посредственное, а главное с коллизиями.

    не нагнётся ничего при 3 ГБ данных?
    Вы будете создавать излишнюю нагрузку на диск.
    Вопрос надо ставить не в гигабайтах, а в обращениях в секунду. Диск захлебнется.
    Ответ написан
  • P2P html5 web player?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Невозможно.
    Ответ написан
    4 комментария
  • Насколько эффективен скрипт↓?

    27cm
    @27cm
    TODO: Написать статус
    Хоть я и без приглашения, но кажется что-то тут не так:
    if($i>hexdec('ff')){  // $i > 0xFF
        return false;
    
        // Сюда никогда не попадём =(
    
        // А тут ещё и undefined константа
        $GLOBALS[xreservederror].='<t>[u01] Database is full.</t>';
        break;
    }


    Неиспользуемая переменная:
    $xreserveddbstrings=1000;


    примитивный скрипт БД для хранения ссылок

    Если вы что-то пишете и читаете из файла, файл от этого не становится базой данных.

    В целом это говнокод, потому что:
    • Нет комментариев
    • Нет форматирования
    • Использование $GLOBALS для сохранения сообщений об ошибках, хотя для этого есть исключения
    • Fatal error, warning'и, ...
    • Дублирование кода видно невооруженным глазом:
      if(!file_exists('./db/'.$pre.dechex($listindex).'.list')){
          // ...
      }elseif(filesize('./db/'.$pre.dechex($listindex).'.list')<($liststring*($size+1))){
          // ...
      }else{
          $listf=fopen('./db/'.$pre.dechex($listindex).'.list', 'r');
          fseek($listf, ($liststring*($size+1)));
          // ...
      }



    Насколько эффективно его использовать при общем объёме данных около 3 ГБ (xreservedmaxstrings будет больше)?

    Что мешает, сгенерировать 3Гб данных и проверить, замерить время и память?
    Ответ написан
  • Отношение заказчиков к исполнителям?

    @abcd0x00
    Я бросил это дело, даже не начав как следует.

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

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

    Так что лучше сарафан - сделаешь одному хорошо, он расскажет десяти про тебя. А там уже можно и на оплату договариваться.
    Ответ написан
    Комментировать
  • Как замедлить прокрутку страницы на сайте вниз?

    @bears
    Можно так:
    <ul class="nav">
        <li><a href="#category-1">Категория 1</a></li>
        <li><a href="#category-2">Категория 2</a></li>
        <li><a href="#category-3">Категория 3</a></li>
    </ul>
    
    <div id="category-1">Описание категории 1</div>

    $(function(){
    
        $('.nav a').on('click', function(e){
            e.preventDefault();
            $('html, body').animate({scrollTop: $($(this).attr('href')).offset().top}, 2000);
        });
    
    });
    Ответ написан
  • Место работы для студента: как сделать правильный выбор?

    opium
    @opium
    Просто люблю качественно работать
    Уехать в Москву и получить в пять раз больше опыта и в пять раз большую зарплату
    Ответ написан
    5 комментариев
  • Не могу понять, каким методом подсчитывается вклад в теги на тостере?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Система закрытая, вдобавок она в любой момент может быть изменена, если заподозряд шаманство.
    В третьих этот вклад вообще никак и нигде и ничего не дает.
    Я просто отвечаю на вопросы, задаю свои и не парюсь.
    Ответ написан
    1 комментарий
  • Почему не работает ссылка?

    Punkie
    @Punkie
    Потому что сегодня у лиги экстрасенсов выходной. Завтра приходите.
    Ответ написан
    2 комментария
  • Как записать одну строку в пять переменных в С?

    Ответ написан
    Комментировать
  • Как должно выглядеть портфолию сисадмина?

    qmax
    @qmax
    программер
    Картинки! Все любят картинки.

    Нарисуйте архитектуры администрируемых систем.
    С иконками из стандартного клипарта cisco.
    Ответ написан
    Комментировать
  • Насколько важен ТИЦ для продвижения сайта в топ?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    важен, насколько - Яндекс знает

    h1 h6 важны, но лепить все на страницу, где нет текста, не нужно, h1 h3 достаточно
    Ответ написан
    Комментировать
  • Почему большая разница во времени отклика от сервера?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Для такой хтмл странички даже 350мс - это ОЧЕНЬ медленно. Должно быть 80-120мс. С другой стороны, это же Shared. Хотите быстро - берите VPS и учитесь админить.
    Ответ написан
    Комментировать
  • Не могу понять, каким методом подсчитывается вклад в теги на тостере?

    @dmitryKovalskiy
    программист средней руки
    Ответы не учитываются вовсе. Только "лайки" , "решения" и вопросы.
    Ответ написан
    Комментировать
  • Какую виртуалку выбрать?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Под мак, если мне не изменяет память, неплохая виртуализация у Parallels. Под Linux я бы предложил QEMU и KVM.
    Ответ написан
    2 комментария
  • Отношение заказчиков к исполнителям?

    Есть 2 категории заказчиков:

    1) Посредники всех мастей, начиная от крупных веб студий и digital агентств и заканчивая частными интернет-предпринимателями, желающими "поднять денег" в интернете.

    Если заказчик занижает цену, мотивируя, что в проекте "делов для специалиста на пять минут" ("самбысделал да времени нет") - это самый стрёмный посредник, чья выгода от низкой цены очевидна. Такие индивиды идут лесом.

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

    2) Прямые заказчики. Бизнесмены, представители компаний, в общем лица плохо представляющие техническую сторону вопроса.

    Как правило прямые заказчики не разбираются в вопросе, просят постоянно что-то переделать, выходят за рамки ТЗ, так как они банально не могут отличить вёрстку от бекенда и возникают сопутствующие проблемы. И чтобы не попасть к ним в рабство - я просто не берусь за низкую оплату (ваш кэп), а даже намеренно завышаю цены на 20-50%. Например при работе с прошаренными людьми из студий я себя так не веду, т.к. риски при работе с ними минимальны, всё чётко и понятно.

    Из-за своей ценовой политики так выходит, что я редко работаю с прямыми заказчиками о чём я почти не жалею, так как заказов с агентств хватает за глаза.

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

    2.1. Если хотите работать за хорошую оплату придётся каждому потенциальному клиенту объяснять, почему Ваша цена не может быть иной, расписывать всё в деталях перед каждым клиентом, а учитывая, что разброс цен на рынке огромен и клиент "не шарит", нужно иметь очень подвешенный язык, чтобы убедить заказчика, что Ваша цена за данный вид услуг самая справедливая.
    Лично мне лень этим заниматься, как-то больше хочется тратить время на профессиональный рост, а не на разговоры о ценовой политике. Поэтому предпочитаю прямым заказчикам студии и агентства.

    Прикол из жизни:
    spoiler
    В начале моей фриланс карьеры мне позвонил какой-то дядя в скайп, сказал что у меня очень интересная цена и попросил объяснить с чем связан такой разброс цен на рынке, мол он ничего не понимает и хочет разобраться в вопросе, прежде чем заказывать работу (привожу его слова: "ребята, я х**ю с вас фрилансеров - один просит 500 рублей, другой 20 000 за одну и ту же работу, как так?"). Я предлагал за 3000 сверстать лендниг, в то время как другие просили от 5000 до 15000. Но я абсолютно не был готов отвечать на его вопрос и плавненько слился, так как мне нужен был опыт работы, а не общение с клиентурой, причём столь неадекватной.
    2.2. Путь вникуда - демпинг. Но демпингуя помните, что неважно сколько Вам заплатят, от работы и возможно рабства Вам не уйти. Так, например в начале своей карьеры на фрилансе я брался за самые низкооплачеваемые заказы, и пока не удовлетворял все прихоти заказчика не мог получить нещастные 1500-3000 рублей, на которые соглашался, в итоге некоторые заказы длились почти неделю, а на некоторые заказы я тупо забивал, так как начинал понимать, что игра не стоит свеч (опыта ещё не было). В итоге пришёл к очевидному выводу, что смысла работать за копейки нет, и я решил если уж "пахать" по 40 часов в неделю на кого-то, тратить время на переговоры и правки, то минимум за 500$.
    Ответ написан
    3 комментария
  • Что понадобится для реализование онлайн видео чата?

    riot26
    @riot26
    <:З )~~
    Можно покопаться в опенсорсных решениях, например PeerChat
    Ответ написан
    Комментировать