• Как создается HashCode для строковых переменных в Java?

    svd71
    @svd71
    1. Если установить сырцы Явы, то можно посмотреть источники.

    2. На счет уникальности не помню точно, но вроде бы будет все как вам нужно. Но лучше посмотреть в сырцах.

    3. Уникальность хеша можно брать адрес объекта (точее переменной this с кастингом под тип).
    Ответ написан
    1 комментарий
  • Что выбрать для соединения iphone и arduino по воздуху?

    svd71
    @svd71
    нет. модули одни и теже. соедитение происходит с созданием последовательного порта. Просто на Android куча мануалов и он более доступен для экспериментов.
    Ответ написан
  • Каким образом хранить большой (2400*1800) двумерный массив в БД?

    svd71
    @svd71
    А почему не устраивает обычная таблица с тремя полями?
    create table dimmension (
    dimIdx1 int not null,
    dimIdx2 int not null,
    val char
    );
    Ответ написан
  • Что скрывается за понятием сlass в ООП?

    svd71
    @svd71
    ваши рассуждения - лапша полнейшая.

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

    Другая интересная особенность - это классовые методы и поля (или применительно в к Яве - статические). Эти элементы уже распределены в классе в единственном экземпляре. Потому они и доступны из любого объекта. Но отличие таких методов от объектовых - первая переменная всегда ссылается на начало класса. Это значит в таких методах ничего не известно что творится в объектах. Да и вызов из них методов объектов всегда требует наличие самого уже созданного объекта. В некоторых ЯП такая проверка не проводится. поэтому можно иногда "смухлевать" : если в методе нет работы с полями объекта или ссылок на другие методы, где ведется работа с полями объекта, можно фиктивно вызвать указав, что объект это 0 (пример такого "глюка" есть в С++, в Дельфи, в ПХП [хотя это не язык]).

    Поосторожней со словом "интерфейс". В ЯП интерфейсом называется расширение функциональности классов, внося в них общие признаки. Классы можно масштабировать только наследованием (инкапсуляцию касаться не будем). То есть два класса невозможно объединить общими признаками, если они не "родственники". Но тут на помощь приходят интерфейсы. Если предствить наследование как "вертикальное" расширение, то с интерфейсам добиваются "горизондального" расширения.

    Теперь о событиях. Для того, что бы организвать какое то событие в ЯП нам необходимо знать две вещи: объект, который должен реагировать и метод, который нужно вызывать в этом объекте. Это означает, что событие описывается минимум двумя полями. В Яве это довольно проблематично каждый раз сосдавать такую сложную структуру. Поэтому для событий придумали листенеры - объекты, расширенные каким-либо специфическим интерфейсом. Наличие в объекте такого интерфейса дает гарантированное присуствие нужного метода и нам нужно сохранять только ссылку на нужный объект.
    Ответ написан
    4 комментария
  • [PHP] Почему не работает mail()?

    svd71
    @svd71
    может нужно сначала установить мэил-сервер на локалке или на хостинге?
    Ответ написан
  • Где можно скачать 1C Bitrix и Шаблон для него?

    svd71
    @svd71
    битый оказался, потому что на денвер пытался установить. у битрикса есть bitrix environment. вот под него и надо устанавливать. в закладке битрикс веб окружение.
    Ответ написан
  • Возможно разобраться в Битриксе за 2 дня?

    svd71
    @svd71
    под такие запрося разобраться можно. у битрикса лет 5 назад был набор статей "*** за 5 дней" или чтото такое. делается за 2 -3 часа. раза четыре сделать будет понятно.

    Если реализация была произведена технически правильно, то под ваши запросы это пойдет.
    Ответ написан
    Комментировать
  • Вывод данных с MYSQL

    svd71
    @svd71
    SELECT posts.post_id, posts.name, posts.ctime, posts.author, posts.post
    , (select COUNT(*) from comment   WHERE comment.post_id=posts.post_id ) as COUNT
    FROM posts
    Ответ написан
    5 комментариев
  • Какой есть хороший Javascript SOAP Client?

    svd71
    @svd71
    например такой javascriptsoapclient.codeplex.com
    или такой stackoverflow.com/questions/124269/simplest-soap-e...

    Технология SOAP сама по себе подразумевает два запроса. По первому выдает структуру, по которой строится Document Object Model в XML. По второму происходит уже прием таких документов и ответ по ним. То есть все сводится к банальной обработке XML.
    Ответ написан
    Комментировать
  • Стоит или не стоит использовать Unset?

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

    посмотреть весь зоопарк в памяти можно командой print-r($GLOBALS);
    Ответ написан
  • Как работает этот SQL запрос?

    svd71
    @svd71
    главным запросом является таблица С. именно количество записей в ней будет отображатся в выборке. а столбцы text1 и text2 вытаскиваются из вложенных запросов к таблицам В и А. а те в свою очередь будут брать значения для поиска из основного запроса, то есть из таблицы С.
    Ответ написан
    1 комментарий
  • Защищает ли PDO от SQL-инъекции?

    svd71
    @svd71
    Защищенность PDO от инъекций строится на использованании не динамически создаваемых запросов, но запросов с параметрами. Любой момент изменения запроса в коде под какие-то (часто необдуманные) нужды приводит к возможности инъекции.

    пример вам уже привели, повторю его:
    $qry = 'select * from users where user_id='".$usrname.'" and passwd='".md5($passwd.'$salt).'"';


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

    $usrname = '"; update users set passwd="12345" where id="admin"; -- ';

    приведет фактически к такому запросу
    select * from users where id=""; update users set passwd="12345" where id="admin"; -- passwd=''


    совсем другое дело PDO. Он не допускает мультикомандные запросу как факт (то есть после первого select обработка не пойдет). А во вторых указанные инъекции просто запицется в параметры запроса, что будет обработанно корректно.
    Ответ написан
    1 комментарий
  • Что лучше - FTP или HTTP?

    svd71
    @svd71
    для закачки файлов, особенно в массом порядке а также ими управление лучше подходит ftp. Протокол специально для этого и создан.

    Для скачивания файлов лучше подходит протокол http. Если предполагается предоставлять доступ на скачивание всем, то безопасней для хостера именно http. В протоколе не предусмотрено управление и изменение файлов., что намного безопаснее ftp.

    Хоть оба протокола открыты, а требуется передавать секретные данные (не для всех), то можно воспользоваться их шифрованными аналогами sftp и https.
    Ответ написан
    5 комментариев
  • Почему тип Varchar определяется как TWideMemoField?

    svd71
    @svd71
    Отсуствие длинны может дать понять датасету, что предоставленные данные из BLOB-полей. Поэтому попробуйте задать длинну или же добавляйте поля нужного типа вручную в дизайнере или перед открытием в рантайме.
    Ответ написан
    1 комментарий
  • Как избежать попадания ненужной информации в поисковую выдачу?

    svd71
    @svd71
    попробуйте страницы с переходом на поисковый запрос разместить в файле robots.txt как запрещенные для обработки.
    Ответ написан
    Комментировать
  • Как заставить работать этот код?

    svd71
    @svd71
    1. Убедитесь, что пароль и имя пользователя такие же, как и должны быть.

    2. попробуйте переписать строку соединения с базой на полный путь, а не на относительный путь. База должна располагаться не на съемном носителе. Так же попробуйте localhost заменить на 127.0.0.1 и попробуйте с указанием порта 3050. Часто такой глюк бывает на Виндовс системах, где инсталяция криво пробежала и не модифицировала services.

    3. В строке сединения нужно еще указать с каким charset будуте работать.
    Ответ написан
  • Как из базы данных (MySQL) заполнить значения html?

    svd71
    @svd71
    <?
    $sth = $dbh->prepare("SELECT * FROM  tableName LIMIT 1"); //создать курсор
    $sth->execute(); //выполнить его
    $result = $sth->fetchAll(); //запросить все значения
    //цикл для вывода всех строк из базы
    foreach($result as $item){
    ?>
    <div>
      <p>
        <?=$item['nameDB'];?>
      </p>
    </div>
    <? } ?>
    Ответ написан
    3 комментария
  • Как осуществить динамическое расширение массива?

    svd71
    @svd71
    обычно я делеаю такие штуки так:
    i := Length(Eat);
    SetLength(Eat, i+1);
    Eat[i].EatName := Eatname; 
    Eat[i].EatCoun t:= EatCount;
    Ответ написан
    Комментировать
  • Почему windows не пингует хост?

    svd71
    @svd71
    На Дебиане установлена ли samba? Дело в том, что у винды под это дело есть специальная служба Wins. Она обычно и конвертирует имена. Если сервера с такой службой нет, то это должны делать клиенты. Клиенты делают, если установлена надлежащая программа. В данном случае samba.
    Ответ написан
  • Java vs C++. Что полезнее?

    svd71
    @svd71
    Всякие кодеры нужны, всякие кодеры важны.
    Советую посмотреть на каком-нибудь хэдхантерском сайте, каких спецов более разыскивают и за что.
    Ответ написан
    Комментировать