Программирование

Сортировать:
На этой странице вы можете найти и скачать книги жанра «Программирование» бесплатно. Для поиска используйте функционал сортировки книг по рейтингу, количеству просмотров, дате публикации, c помощью него расширяются возможности, вы сами оцените простоту и удобство интерфейса. Читать книги из жанра «Программирование» можно на мобильных устройствах с Android и iOS: iPhone, iPad, а также на Kindle. Надеемся вам понравится!
Создаем вирус и антивирус
5
Способы внедрения COM-вирусов Рассмотренный вирус дописывался в конец файла, а в начало файла вписывал переход на себя. Существуют и другие способы внедрения вирусов. Рассмотрим два варианта внедрения COM-вируса в начало файла. Вариант первый. Вирус переписывает начало программы в конец файла, чтобы освободить место для себя. После этого тело вируса записывается в начало файла, а небольшая его часть, обеспечивающая перенос вытесненного фрагмента программы, на прежнее место – в конец. При восстановлении первоначального вида программы тело вируса будет затерто, поэтому код вируса, восстанавливающий программу, должен находиться в безопасном месте, отдельно от основного тела вируса. Этот способ внедрения изображен на рис. 1.3. Рис. 1.3 При загрузке зараженного таким способом файла управление получит вирус (так как он находится в начале файла и будет загружен с адреса 0100h). После окончания работы вирус передает управление коду, переносящему вытесненную часть программы на прежнее место. После …
Освой самостоятельно С++ за 21 день.
5
Программы Слово программа используется в двух значениях: для обозначения отдельных блоков команд (или исходного кода), написанных программистом, и для обозначения исполняемого программного продукта как единого целого. Это различие в понятиях может ввести читателя в заблуждение, поэтому постараемся явно определять, что имеется в виду: исходный код или исполняемый продукт. Итак, программу можно определить либо как набор написанных программистом команд, либо как выполняемый на компьютере продукт. Исходный текст программы можно превратить в выполняемую программу двумя способами. В одном случае интерпретаторы переводят исходный код в машинные команды, и компьютер сразу же их выполняет. В качестве альтернативного варианта компиляторы переводят исходный код в исполняемый файл программы, который затем можно использовать самостоятельно. Хотя с интерпретаторами работать легче, большинство серьезных программ создается с использованием компиляторов, поскольку скомпилированный код выполняется намного …
Краткое введение в программирование на Bash
5
Переменные Переменные это просто «контейнеры», которые содержат некоторые значения. Создавать их нужно по многим причинам. Вам нужно будет как-то сохранять вводимые пользователем данные, аргументы или числовые величины. Например: #!/bin/bash x=12 echo ”Значение переменной x - $x” Здесь мы присвоили переменной x значение 12. Строка echo “Значение переменной х - $x”напечатает текущее значение x. При определении переменной не допускается наличие каких-то пробелов между именем переменной и оператором присваивания: «=». Синтаксис следующий: имя_переменной=ее_значение. Обращение к переменным выполняется с помощью префикса «$» перед именем переменной. Именно таким образом мы получаем доступ к значению переменной х с помощью команды echo $x. Есть два типа переменных — локальные и переменные окружения. Переменные окружения устанавливаются системой и имеют специальной назначение. Обычно их значение может быть выведено с помощью команды echo. Например, если ввести: $ echo $SHELL /bin/bash Вы получили …
Сборка Qt с использованием MinGW32
5
Предисловие Предполагается, что вы прочитали Введение Моя концепция работы с библиотекой Qt выглядит следующим образом: Не редко возникает необходимость работать с несколькими версиями библиотеки, а также по-разному собранными либо как динамические библиотеки либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я не люблю работать в консоли, то я запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, а он получается запущен в определенном окружении. И из него уже открываю исходники или файлы проектов. Далее вам понадобится скачать некоторые компоненты из интернета. Основные компоненты • Компилятор MinGW32 (скачать: сетевой автоустановщик) • Исходники библиотеки Qt (скачать: версию 4.3.4 или версию 4.3.2 ) Дополнительные компоненты …
C++
8.11
Исторические замечания Безусловно, С++ восходит главным образом к C [7]. C сохранен как подмножество, поэтому сделанного в C акцента на средствах низкого уровня достаточно, чтобы справляться с самыми насущными задачами системного программирования. C, в свою очередь, многим обязан своему предшественнику BCPL [9]. На самом деле, комментарии // (заново) введены в С++ из BCPL. Если вы знаете BCPL, то вы заметите, что в С++ по-прежнему нет VALOF блока. Еще одним источником вдохновения послужил язык Simula67 [2,3], из него была позаимствована концепция класса (вместе с производными классами и функциями членами). Это было сделано, чтобы способствовать модульности через использование виртуальных функций. Возможности С++ по перегрузке операций и свобода в расположении описаний везде, где может встречаться оператор, похожи на Алгол68 [14]. Название С++ – изобретение совсем недавнее (лета 1983-его). Более ранние версии языка использовались начиная с 1980-ого и были известны как «C с Классами». Первоначально …
Информационные системы
5
С выходом платформы Microsoft.NET достоинства и недостатки языков программирования стали сглаживаться, появилась возможность межъязыковой интеграции. Создавать программное обеспечение для .NET можно с помощью восьмой версии Delphi. Для кого предназначена эта книга Книга в первую очередь предназначена для начинающих программистов, не имеющих большого опыта разработки информационных систем. Основное внимание в книге уделяется вопросам разработки клиентской части информационных систем с использованием системы визуальной разработки приложений Borland Delphi. При этом обращается внимание на смещение акцентов в разработке информационных систем в сторону концептуального проектирования. В книге содержится большое количество материала, посвященного вопросам разработки баз данных, в частности, рассматриваются основные методологии проектирования информационных систем, приводится подробное описание стандарта SQL-92 ANSI, излагаются теоретические сведения о реляционной модели данных. Таким образом, …
Модель зрелости процессов разработки программного обеспечения
5
1.2. Фундаментальные концепции, лежащие в основе понятия зрелости производственных процессов Согласно словарю Вебстера, процесс является «системой операций для производства чего-либо… последовательностью действий, изменений или функций, предназначенных для достижения окончания или результата». Комитет IEEE определяет процесс как «последовательность шагов, выполняемых для достижения заданной цели» [IEEE-STD-610]. Производственный процесс может быть определен как набор операций, методов, практик и преобразований, используемых разработчиками для создания и сопровождения ПО и связанных с ним продуктов (например, планов проекта, проектных документов, кодов, сценариев тестирования и руководств пользователя). По мере того, как организация становится более зрелой, ее производственный процесс становится все более четко определенным и последовательно применяемым в рамках всей организации. Продуктивность производственного процесса описывает совокупность ожидаемых результатов, которые могут быть достигнуты …
Веб-Самоделкин. Как самому создать сайт быстро и профессионально
5
Что представляет собой современный веб-сайт? Итак, что же представляет собой современный веб-сайт? На этот вопрос мы попытаемся ответить в данном разделе. Очень многое зависит от того, кто и с какой целью создал сайт, каково его информационное наполнение, выполнена ли оптимизация, много ли посетителей, и т. д. Несомненно одно: современный веб-сайт представляет собой мощный программный (а иногда – и программно-технический) продукт, адресованный широкому кругу посетителей и призванный решать вполне конкретные задачи. Например, кто-то создает сайт для общения, кому-то он необходим для работы, кто-то зарабатывает с его помощью деньги, и т. д. Что касается предприятий и организаций, то отсутствие собственного сайта здесь зачастую считается признаком дурного тона. Давно прошло время, когда сайтом называлась средней привлекательности страничка в Интернете, на которой содержалась статичная информация вроде «наша фирма открылась тогда-то, мы продаем бананы и ананасы, наш адрес такой-то, а телефон …
Программирование в X Window средствами Free Pascal
5
1.1.3 Управление окнами Окна могут располагаться на экране произвольным образом, перекрывая друг друга. X имеет набор средств, пользуясь которыми программа-клиент может изменять размеры окон и их положение на экране. Особенностью системы является то, что она не имеет встроенной возможности управлять окнами с помощью клавиатуры или мыши. Чтобы это можно было осуществить, нужен специальный клиент, который называется менеджер окон (Window manager). Стандартный дистрибутив X содержит такую программу - twm. Возможности этого менеджера ограничены, но, тем не менее, он позволяет осуществлять базовые действия: передвигать окна с помощью мыши, изменять их размер и т.д. Более развитым оконным менеджером является, по всей видимости, программа mwm (Motif Window Manager), которая поставляется в рамках системы OpenMotif. Но менеджер не может корректно управлять окнами, ничего о них не зная. В одних случаях удобно иметь заголовки окон, в других случаях окно не может быть сделано меньше определенных размеров, …
Учебник QBasic
6.25
  Сейчас, вы знаете: Относительно типов переменной, операторы PRINT, INPUT, и  LET. Это базовые детали из среды БЕЙСИКА, но теперь мы должны двигаться в комплексную область БЕЙСИКА.  Переменные используются в каждой программе, независимо от того какая программа это. Именно поэтому переменные настолько важны в БЕЙСИКЕ. Однако, когда много строк, сотни переменных, названия которых трудно запомнить, вводят МАССИВЫ.     Массивы - большое поле в памяти компьютера. Вы можете помещать различные вещи в поля массивов, но их организовывают в одно большое поле. Чтобы создавать массив, используют команду DIM:   DIM ArrayName$ (number)   ArrayName - название массива, сопровождаемого типом переменной($,!,# и т.д.) номер в круглых скобках - количество "полей" в массиве. Чтобы использовать массив, назначают значения массива, используя команду LET. Например:   DIM Day$(2)  LET Day$(1) = "Воскресенье  LET Day$(2) = "Понедельник   И так далее. Чтобы ПЕЧАТАТЬ …
19 смертных грехов, угрожающих безопасности программ
5
Структура книги В каждой главе описывается один «смертный грех». Вообще–то они никак не упорядочены, но самые гнусные мы разместили в начале книги. Главы разбиты на разделы: □ «В чем состоит грех» – краткое введение, в котором объясняется, почему данное деяние считается грехом; □ «Как происходит грехопадение» – описывается суть проблемы; принципиальная ошибка, которая доводит до греха; □ «Подверженные греху языки» – перечень языков, подверженных данному греху; □ «Примеры ошибочного кода» – конкретные примеры ошибок в программах, написанных на разных языках и работающих на разных платформах; □ «Где искать ошибку» – на что нужно прежде всего обращать внимание при поиске в программе подобных ошибок; □ «Выявление ошибки на этапе анализа кода» тут все понятно: как найти грехи в своем коде. Мы понимаем, что разработчики – люди занятые, поэтому старались писать этот раздел коротко и по делу; □ «Тестирование» – описываются инструменты и методики тестирования, …
Вальсируя с медведями
5
Часть I Почему? • Зачем нужно управлять рисками, почему бы просто не избегать их? • Что такое риск и что такое управление рисками? • Каковы последствия неуправляемого риска? • Достаточно ли иметь хорошие технологические процессы, чтобы считать, что меры против риска приняты? • Почему нам нужна эта новая дисциплина? Глава 1 Стремление к рискам Избегать рисков – дело проигрышное. Порой вы встречаете проект, кажущийся полностью свободным от рисков. Раньше вы могли бы отнестись к этому как к неожиданному подарку и благодарили удачу за посланный для разнообразия проект, сулящий безмятежную жизнь на время его осуществления. Мы реагировали так же. Какими глупцами мы были! Проекты без риска – удел неудачников. В них почти всегда и выгоды никакой нет, потому-то их и не осуществили давным-давно. Поберегите свое время и силы и потратьте их на что-нибудь стоящее: Не беритесь за проект, если в нем нет рисков. Риски и выгоды всегда ходят парой. Проект полон рисков потому, что ведет на нехоженый путь. …
Советы по Delphi. Версия 1.0.6
5
Преобразование десятичного числа в шестнадцатиричное Самое простое преобразование – через строку. HexString:= Format('%0x', DecValue); Преобразование ASCII в шестнадцатиричное представление Строка представляет собой массив байтов в виде ASCII-символов. Необходимо организовать преобразование типов по аналогии с Delphi-функциями Ord и Chr. Функция BytesToHexStr преобразует, к примеру, набор байтов [0,1,1,0] в строку '30313130', HexStrToBytes выполнит обратное преобразование. unit Hexstr; interface uses String16, SysUtils; Type PByte = ^BYTE; procedure BytesToHexstr(var hHexStr: String; pbyteArray: PByte; InputLength: WORD); procedure HexStrToBytes(hHexStr: String; pbyteArray: Pointer); procedure HexBytesToChar(var Response: String; hexbytes: PChar; InputLength: WORD); implementation procedure BytesToHexStr(var hHexStr: String; pbyteArray: PByte; InputLength: WORD); Const HexChars : Array[0..15] of char = '0123456789ABCDEF'; var i, j: WORD; begin SetLength(hHexStr, (InputLength * 2)); FillChar(hHexStr, …
Рекурсия
5
Вот, что у меня получилось: // начало кода { 0 } unit Unit1; { 1 } { 2 } interface { 3 } { 4 } uses { 5 } Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, { 6 } Dialogs, StdCtrls, FileCtrl, CheckLst, ExtCtrls; { 7 } { 8 } type { 9 } TForm1 = class(TForm) { 10 } Panel1: TPanel; { 11 } Button1: TButton; { 12 } Button2: TButton; { 13 } CheckListBox1: TCheckListBox; { 14 } Label1: TLabel; { 15 } procedure Button1Click(Sender: TObject); { 16 } procedure FormCreate(Sender: TObject); { 17 } procedure Button2Click(Sender: TObject); { 18 } private { 19 } { Private declarations } { 20 } public { 21 } { Public declarations } { 22 } end; { 23 } { 24 } var { 25 } Form1: TForm1; { 26 } Path : AnsiString; // путь к папке с программой { 27 } Dir : AnsiString; { 28 } CCount : integer; // счетчик удалений { 29 } { 30 } implementation { 31 } { 32 } {$R *.dfm} { 33 } { 34 } function ScanEmtyDir(Target : AnsiString):boolean; { 35 } var { 36 } Found : integer; // результат поиска ( …
Раскрутка: секреты эффективного продвижения сайтов
5
Слагаемые бюджета на SEO Современное SEO – не шаманство, а комплекс рациональных мер, вписанный в сферу цивилизованного интернет — маркетинга: кампания дробится на этапы, каждый – с конкретными задачами и KPI2. Однако в большинстве случаев, кто бы ни брался за раскрутку сайта – агентство или оптимизатор — одиночка, – заказчик редко получает подробный отчет о той или иной статье расходов. Гораздо прозрачнее SEO выглядит при использовании автоматизированных сервисов поискового продвижения. В системе SeoPul финансовая составляющая рекламной кампании и вовсе разложена по полочкам – с первого взгляда видно, какие суммы уходят на покупку ссылок. Но ссылки – это далеко не единственная часть поисковой оптимизации. Финансовых вложений требуют и иные меры, без принятия которых до попадания в топ будет как до Антарктиды на самокате. Так что владельцу сайта лучше заранее разведать, сколько денег может быть потрачено из бюджета на продвижение и на какие именно задачи. Внутренняя оптимизация Работа с …
arrow_back_ios