Блог

Подписаться на эту рубрику по RSS

Баг, в словаре.

Термин "баг" имеет корни в американском сленге - bag, что означает дефект или недостаток в аппаратуре, плане и т.д. В SEO и веб-разработке означает поломку в работе сайта или какого-то алгоритма.

Примеры использования бага в общении:

1. Нашел с десяток багов на сайте. Означает, что кто-то нашел критические поломки на сайте, которые необходимо срочно устранять.

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

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

В программировании баг

В программировании баг (англ. bug — первичные значения: клоп, любое насекомое, вирус) — жаргонное слово, обычно обозначающее ошибку в программе или системе, которая выдает неожиданный или неправильный результат. Большинство багов возникают из-за ошибок, допущенных разработчиками программы в её исходном коде, либо в её дизайне. Также некоторые баги возникают из-за некорректной работы компилятора, вырабатывающего некорректный код. Программу, которая содержит большое число багов и/или баги, серьёзно ограничивающие её работоспособность, называют нестабильной или, на жаргонном языке, «глючной», «глюкнутой», «забагованной», «бажной», «баг(а)нутой» (англ. unstable, buggy).

Термин «баг» обычно употребляется в отношении ошибок, проявляющих себя на стадии работы программы, в отличие, например, от ошибок проектирования или синтаксических ошибок. Отчет, содержащий информацию о баге также называют отчетом об ошибке или отчетом о проблеме (англ. bug report). Отчет о критической проблеме (англ. crash), вызывающей аварийное завершение программы, называют крэш-репортом (англ. crash report).

«Баги» локализуются и устраняются в процессе тестирования и отладки программы.

 

Этимология термина «баг»

 
Запись в тех.журнале

Широко распространена легенда, что 9 сентября 1945 года учёные Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле, и Грейс Хоппер произнесла этот термин. Извлечённое насекомое было вклеено скотчем в технический дневник, с сопроводительной надписью: «First actual case of bug being found» («первый реальный случай, когда был найден жук»). Считается, что этот забавный факт положил начало использованию слова «debugging» в значении «отладка программы», однако, скорее всего, фраза является каламбуром.

В действительности этот случай произошёл 9 сентября 1947, а не 1945, года. Слово «bug» в современном значении употреблялось задолго до этого персоналом телеграфных и телефонных компаний в отношении неполадок с электрооборудованием и радиотехникой. Во время Второй мировой войны словом «bugs» назывались проблемы с радарной электроникой. В 1878 году Томас Эдисон писал:

Значение и классификация ошибок программного обеспечения

В зависимости от этапа разработки ПО, на котором выявляется ошибка выделяют:

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

По размеру:

  • Showstoppers;
  • Серьёзные;
  • Незначительные баги;

По времени появления:

  • Постоянно, при каждом запуске;
  • Иногда («плавающий» тип);
  • Только на машине у клиента (зависит от локальных настроек у клиента);

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

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

Поиск и исправление ошибок

Для отладки программы (англ. debugging) разработчиками ПО используются специальные программы-отладчики (англ. debugger). Например, в операционной системе Windows можно использовать программу WinDbg из пакета Microsoft Debugging Tools for Windows. Для GNU/Linux и ряда других UNIX-подобных операционных систем существует отладчик GDB (GNU Debugger).

Отчёты об ошибках

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

Например, в операционную систему Windows встроена утилита Dr. Watson, которая по умолчанию отлавливает ошибки в приложениях пользователя и отправляет отчёт на специальный Сервер компании Microsoft. Также в качестве примера можно привести аналогичные библиотеки Breakpad и CrashRpt.

Проблема 2038 года в вычислительной технике

Проблема 2038 года в вычислительной технике — ожидаемые сбои в программном обеспечении 19 января 2038 года. Данная проблема затрагивает программы и системы, в которых используется представление времени по стандарту POSIX (UNIX-время), которое представляет собой количество секунд, прошедшее с 1 января 1970 года. Такое представление времени — это стандарт для Unix-подобных операционных систем (из-за повсеместного использования языка Си).

На большинстве 32-битных систем используется тип данных time_t для хранения секунд в виде signed int (32-битного целого со знаком). Самая поздняя дата, которая может быть представлена таким форматом в стандарте POSIX — это 03:14:07, вторник, 19 января 2038 года по Всемирному времени (UTC).

Пример, показывающий сброс даты (в 03:14:08 UTC 19 января 2038 года).

Пример, показывающий сброс даты (в 03:14:08 UTC 19 января 2038 года).

Более позднее время заставит такое поле данных стать отрицательным, как бы закольцевав таким образом время (поскольку отрицательное число может быть воспринято программами как время в 1970 или 1901 году, в зависимости от реализации). В результате могут быть произведены ошибочные вычисления или результаты.

Для проблемы 2038 года не существует простого решения для существующих комбинаций процессоров и операционных систем.

Изменение определения типа time_t на 64 бита нарушит бинарную совместимость программ, существующих хранимых данных и всего другого, использующего представление времени в бинарном виде. А приведение time_t в целое без знака может нарушить работу программ, которые вычисляют разницу во времени.

В большинстве операционных систем для 64-битных архитектур уже используется 64-битное представление целого в time_t. Переход на такие архитектуры уже происходит, и некоторые ожидают, что он будет завершён к 2038 году.

Тем не менее, сотни тысяч 32-битных систем всё ещё вводятся в строй в 2010 году, в том числе и во встраиваемых системах. Вызывает сомнение, что они все будут заменены к 2038 году. Несмотря на то, что современные компьютерные системы могут модернизироваться раз в 18-24 месяцев (по «Закону Мура»), встроенные компьютеры могут действовать без модернизации весь срок, который работают системы, ими управляемые. Например, компьютеры управления процессами модели IBM 1800, выпуск которых был начат в 1965 году, всё ещё использовались на одной из атомных станций в Канаде в 2006 году.

В дополнение к этому, 32-битный формат time_t также включён в спецификации форматов файлов, таких как повсеместно распространённый архивный формат ZIP. Формат файла может существовать в течение времени, за которое сменятся многие поколения компьютеров, а это означает, что Проблема 2038 останется актуальной.

Введение 64-битного формата вносит новую дату «закольцовывания» — оно произойдёт примерно через 290 миллиардов лет (в воскресенье, 4 декабря 292 277 026 596 года в 15:30:08).

Windows

Проблема 2038 года актуальна и для 32-разрядных версий Windows, так как значительная часть самой ОС и большое число программ для неё написано на C/C++. Разработчики Windows говорят, что исправили большинство мест в коде, подверженных этой проблеме, однако, они не могут дать никаких гарантий по поводу стороннего ПО.

MySQL

Также актуально и для Web-приложений, например, популярная СУБД MySQL для типа TIMESTAMP имеет некоторые ограничения: значения, которые содержат дату и время в TIMESTAMP, находятся в диапазоне от ‘1970-01-01 00:00:01 UTC’ до ‘2038-01-19 3:14:07 UTC’.

Поддержка сайтов

Компания ПромСайт предлагает полный спектр услуг в сфере модернизации и поддержки интернет-проектов:

  • Модернизация любых существующих Интернет-проектов
  • Оптимизация контента сайтов
  • Техническая поддержка сайтов
  • Редизайн сайтов
  • Регулярное обновление материалов
  • Продвижение сайтов в поисковых системах

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

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

Разработка скриптов

Компания ПромСайт предлагает полный спектр услуг по разработке и внедрению Интернет-скриптов любого уровня сложности:

  • Форумы
  • Блоги
  • Торговые площадки
  • Доски объявлений
  • Новостные ленты
  • Фотогалереи
  • Системы администрирования сайтов
  • Системы опросов
  • Системы поиска по сайту
  • Системы почтовой рассылки
  • Формы обратной связи
  • Рейтинги
  • Системы ротации баннеров
  • Интерактивные меню
  • Интерактивные карты и схемы проездов
  • Интерактивные формы расчета стоимости (калькулятор)
  • Реализация любых Ваших идей, описанных в доступном и понятном виде.

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

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

Что такое seo-копирайтинг?

Под seo-копирайтингом понимается написание уникального текстового контента для интернет-проектов с использованием ключевых выражений. Seo-статьи должны содержать ключевые слова и одновременно быть интересными для посетителей веб-страницы. Эти тексты решают две задачи: влияют на позиции страницы в поисковых системах и несут полезную информацию, интересующую интернет-пользователей.



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



В последние месяцы поисковики усилили борьбу с неуникальным контентом: Yandex, к примеру, разработал новый алгоритм определения авторства статей. Теперь веб-страницы с уникальными текстами попадают на более высокие строчки в результатах выдачи по запросам пользователей, чем страницы с копипастом. Эти моменты необходимо учитывать и, соответственно, особое внимание уделять статьям, которые Вы размещаете на сайте. Если думать только о показателях ТИЦ и PR, не заботясь о качестве текстового наполнения, вероятность добиться высокой посещаемости ресурса крайне мала.



Оптимизированный под поисковики контент оказывает прямое влияние на то, насколько веб-ресурс соответствует (иначе говоря, релевантен) по своей тематике запросам интернет-пользователей в поисковых системах. Чем больше сайт соответствует конкретным ключевым фразам, тем более полезна информация на нем для тех, кто набирает эти фразы в поисковой строке. Именно поэтому ключевые запросы необходимо использовать при написании текстов.



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

Сайт и менеджер (сравнение эффективности)

В данной статье хотел бы провести сравнительный анализ работы сайта и работы менеджера.

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

 


 

Однажды, я пришел к выводу, что необходимо распределить свою нагрузку
на наемных сотрудников. Решил нанять менеджеров по продажам. Подал
объявление в газету "Работа Сегодня" и через некоторое
время пошли звонки от кандидатов на собеседование. Встречался,
разговаривал и вскоре определил группу потенциальных сотрудников. Провел
обучение, рассказал что необходимо делать, другими словами - ликбез по
продажам. И началась работа...

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

Условия определил следующие - оклад 5000 руб. + % с продаж.
Итого получилось на всех троих - 15000 руб. в мес. + % с оборота.
Первый месяц все было ОК, менеджеры вникали в специфику работы, делали
звонки, назначали встречи и т.д. Рабочий процесс отдела продаж был поставлен на поток.

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

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

Через некоторое время, анализ финансовых расходов и доходов был
проделан. Выяснилось, что основные поступления средств были по контактам
с сайта, а доля менеджеров была очень не значительной. Вопрос - почему?

  • во-первых, обучение было в сжатые сроки;
  • во-вторых, не была проведена работа над ошибками или так называемый разбор полетов при неудачах;
  • в-третьих, количество сотрудников не соответствовало  объему продаж в целом.

Сайт не спит, не есть, не ходит в туалет. Он
работает круглосуточно. На сайте размещена информация, которая была
проверена Руководителем и содержит работающие техники продаж. При
хороших позициях (TOP3, TOP5, TOP10) в поисковых системах - количество посещений, следовательно, контактов увеличивается.

Далее телефонный разговор, встреча и в итоге - подписание договора, предоплата.

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

увеличивать количество контактов, способствовать росту оборота и т.д.

Наймите себе грамотного сотрудника!!!