Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Публикации для программистов

Программируем на R: как перестать бояться и начать считать
28.11.2014
Возможно, вас заинтересовала проблема глобального потепления, и нужно сравнить погодные показатели с архивными данными времен вашего детства. Калькулятором тут не обойтись. Да и такие программы для обработки электронных таблиц, как Microsoft Excel или Open Calc, пригодны только для простых вычислений. Придется изучать специализированный статистический софт. В этой статье мы расскажем об одном из популярнейших решений — языке программирования R.
Smart Install Maker. Создаем установщик
23.11.2014
Появляется все больше инди-разработчиков, которые создают собственное программное обеспечение для компьютеров. Однако, чтобы продукт выглядел качественным, необходимо продумать все до мелочей, в том числе и систему установки программы. Тратить время на написание собственных инсталляторов никто не хочет, поэтому на рынке появляется все больше специализированных утилит, которые все сделают за вас. Они дают целевому пользователю то, что ему необходимо.
Функции в языке программирования C++
18.11.2014
Функцией называют обособленный модуль программы, внутри которого производятся некоторые вычисления и преобразования. Помимо непосредственных вычислений внутри данного модуля могут создаваться и удаляться переменные. Теперь расскажем о том, из каких основных частей состоит функция в C++. Самая первая часть — это тип возвращаемого значения. Он показывает, что будет передавать функция в основную программу после своих внутренних преобразований...
Урок «Hello world» на Microsoft Visual Studio 2013
13.11.2014
Статья предназначена для новичков, которые пока не знают даже как создать файл C++ в среде Visual Studio. Перед вводом кода нужно сделать проект: «File — New — Project» или при помощи быстро-вызова через Ctrl+Shift+N. В открывшемся окне слева выбираем шаблоны «Visual C++». В центральной же части нажимаем на «Empty Project». Затем вводим значимое имя проекта, чтобы помнить зачем он создавался (в нашем случае подойдёт Lesson), и нажимаем «OK»...
Код, который почти невозможно взломать
05.11.2014
Современные программы могут хранить в своем коде бесценные секреты. С помощью алгоритмов можно предсказать, какой товар на Amazon будет продаваться лучше всего или станет ли популярным сюжет нового фильма. Само собой, разработчики подобных программ не хотят, чтобы посторонние люди имели возможность изучить их код. Исследователи из Калифорнийского университета, IBM и Техасского университета в Остине не оставляют попыток избавиться от этой угрозы.
Программирование на заказ как бизнес
10.06.2014
Этот вид бизнеса, — программирование на заказ, — распространен не только в режиме оффлайн, но и онлайн. Эффективность бизнеса определяется не только хорошими познаниями и умениями в области составления программ, но и способностью отслеживать инновации, новыми технологиями и инструментами, вовремя проведенным реинжинирингом. Чаще всего эта услуга привлекается небольшими предприятиями и даже физическими лицами для автоматизации бизнес-процессов.
Лёгкое создание виртуальных машин с помощью PuPHPet. Часть 3
14.05.2014
Выполнение всех этих шагов может поначалу показаться чересчур долгим. Но когда вы разберетесь с этим лучше, сможете проделывать их быстро. Тем более, что вам ненужно каждый раз пересоздавать все с нуля. Если вы перетащите puppet/hieradata/common.yaml на puphpet.com, он автоматически заполнит форму соответственно этой конфигурации. Вам останется только откорректировать ее как надо. Один раз проделав работу, вы сможете выполнять ее быстрее и легче.
Лёгкое создание виртуальных машин с помощью PuPHPet. Часть 2
12.05.2014
Apache или Nginx? В этом руководстве я остановлюсь на Apache. Опции его конфигурирования просты. Сначала укажем модули, которые нужно установить и включить. Для этого наберем их в поле Apache Modules. При этом выпадет список доступных модулей. Это позволяет избежать ошибок при наборе. Далее перейдем к конфигурации Virtual Host. Каким должно быть имя сервера и алиас вашего приложения? Сначала указываем их, потом корневую директорию и порт.
Лёгкое создание виртуальных машин с помощью PuPHPet
12.05.2014
Окружение — одна из моих любимых мозолей в разработке софта. Его каждый раз приходится создавать заново для разных проектов с разными потребностями. Приходится обеспечивать соответствие окружения для всех разработчиков в команде (в том числе и для уделенных). Создавать окружения для разработки, тестирования и продакшена. Вас напрягает создавать и настраивать среду разработки? Это замедляет вашу работу? Если да, могу предложить решение — PuPHPet!
Краткое введение в трейты в PHP
21.04.2014
Трейт, по существу, — это группа чистых методов, которые служат строительным блоком для классов и являются элементарной единицей повторного использования кода. В этой модели классы составляются как наборы трейтов, для чего служит специальный склеивающий код, соединяющий трейты вместе и задающий их нужное состояние. Практическое обоснование трейтов заключается в том, что классы иногда слишком велики для оправданного повторного использования кода.
6 подсказок по отладке для каждого PHP-кодера. Часть 2
11.04.2014
Иногда баги очень хитры или сообщения об ошибках совершенно непонятны. В таких случаях используйте дебагер и точки останова (для этого можно воспользоваться XDebug), добавляйте в лог-файл дополнительную отладочную информацию, помещайте ошибки в песочницу и отлаживайте «с уткой». Я надеюсь, что эти подсказки сэкономят ваше время на отладке и сделают ее чуть приятнее! И не стесняйтесь делиться своими собственными подсказками в разделе комментариев!
6 подсказок по отладке для каждого PHP-кодера
09.04.2014
Программисты тратят на отладку больше времени, чем на написание кода. Когда я был новичком, я тратил уйму времени на ковыряние кода в надежде, что баги исчезнут сами собой. Не делайте этого! Представьте, сколько времени я потерял! Ваш код не работает, а вы видите лишь то, что браузер не показывает того, что должен был показать? В этой статье я покажу вам пару трюков, которые позволяют работать эффективнее, но ключевая тема — это отладка кода.
Курсоры в хранимых процедурах MySQL. Часть 3
26.03.2014
Мы углубились в хранимые процедуры MySQL, рассмотрели функциональность курсоров. В предыдущих частях статьи мы продемонстрировали, как получать скалярные данные с помощью параметров вывода (заданных как out var_name vartype в объявлении ХП). Теперь рассмотрим, как получать вычисляемые наборы данных посредством временных таблиц. Попутно будут рассмотрены некоторые другие аспекты хранимых процедур. Также продемонстрируем вызов ХП из кода PHP.
Курсоры в хранимых процедурах MySQL. Часть 2
24.03.2014
В данной части статьи на примерах демонстрируется, как создать хранимую процедуру с помощью MySQL Workbench и как использовать в этой хранимке курсор. Построчно объясняется, как работают курсоры в хранимых процедурах MySQL, основные принципы их применения. Затем в статье демонстрируется, как вызывать написанную ХП из кода PHP. В качестве примера используется реальная задача по обработке статистики игр для баскетбольного клуба ЛА Лейкерс.
Курсоры в хранимых процедурах MySQL
19.03.2014
Курсоры не могут использоваться в MySQL сами по себе. Они — неотъемлемые компоненты хранимых процедур. Я считаю их аналогами указателей в C/C++, или итераторов в цикле foreach. С помощью курсоров мы можем обойти весь набор данных и над каждой записью произвести требуемые действия. Такие операции могут производиться и на стороне PHP, но если мы хотим уменьшить объем передаваемых данных, мы можем просто получить в PHP уже готовые обобщенные данные.
Хранимые процедуры в MySQL и PHP. Часть 2
12.03.2014
В этой статье мы рассмотрим давно забытую составляющую баз данных MySQL: хранимые процедуры. Преимущества использования ХП очевидны, но напомним: Хранимые процедуры позволяют нам применять более строгий контроль доступа к определенным данным, когда это требуется бизнес-логикой. Кроме того, мы продемонстрируем основные шаги в создании хранимых процедур, пользователей и назначения соответствующих привилегий, покажем, как ХП вызываются из PHP.
Хранимые процедуры в MySQL и PHP
10.03.2014
Проще говоря, хранимые процедуры («ХП») — это сохраненные в базе данных процедуры (написанные с помощью SQL и других управляющих операторов), которые могут быть выполнены движком баз данных и вызваны из программного кода, который с этим движком работает. В этой статье мы рассмотрим создание ХП в MySQL и их выполнение на сервере MySQL из кода PHP. ХП доступны и в других СУБД. Поэтому статья поможет лучше понять работу с базами данных в целом.
WebDAV Mini-Redirector (MRXDAV.SYS). Версии и проблемы
28.02.2014
WebDAV Mini-Redirector (MRXDAV.SYS) — это компонент Windows, реализующий клиент для серверов WebDAV по технологии «веб-дисков». Протокол WebDAV — это расширение HTTP, реализующее работу с распределенной файловой системой с версионированием. В предлагаемом документе дается список известных версий MRXDAV.SYS и их багов. Этот список полезен, прежде всего, разработчикам, работающим над программным обеспечением, использующем протокол WebDAV.
Настройка аутентификации в SabreDAV
21.02.2014
После того как вы создали свой сервер WebDAV, вы, вероятно, хотите сделать его безопасным. Аутентификация в WebDAV производится с помощью базовой или дайджест-аутентификации. Хотя ее несложно реализовать самостоятельно, SabreDAV предоставляет некоторые средства, которые могут облегчить ваш труд. SabreDAV поставляется с плагином, который производит аутентификацию. Он включает в себя два бэкэнда. Один хранит логины в файле, другой — в БД.
Особенности реализации WebDAV в Microsoft Windows. Часть 2
15.02.2014
Во второй части статьи рассказывается о том, 1) как Windows понимает свойства WebDAV; 2) в каких кодировках шлет HTTP-запросы, получает ответы и о связанных с этим проблемах; 3) о баге с поддержкой {DAV:}displayname; 4) о различных других багах; 5) об имеющихся ограничениях на размер сохраняемых файлов; 6) о поддержке аутентификации на сервере WebDAV; 7) прочая информация и ссылки на ресурсы, где можно узнать больше о том или ином аспекте.
Особенности реализации WebDAV в Microsoft Windows
13.02.2014
Windows имеет два клиента WebDAV. Предпочтительным на данный момент является «веб-клиент». Старый известен как «веб-папки». Веб-клиент назначает диску букву, что весьма полезно в плане его интеграции с операционной системой. Веб-папки не позволяют редактировать файлы непосредственно, а только перетаскивать их в/из папки WebDAV. Для работы веб-клиента сервис Web Client должен быть включен и запущен. В некоторых версиях ОС он по умолчанию выключен.
Реализация файловой системы WebDAV с помощью PHP и SabreDAV. Часть 6
29.01.2014
Ранее мы добавили поддержку блокировки файлов, требуемую некоторыми клиентами WebDAV. Затем мы реализовали систему HTTP дайджест-аутентификации. Это означает, что пользователи должны вводить свои логины и пароли для доступа к серверу WebDAV. Теперь кратко опишем, как реализовать собственную виртуальную файловую систему с SabreDAV, позволяющую легко добавить WebDAV в уже существующее веб-приложение (такое как Система управления контентом).
Реализация файловой системы WebDAV с помощью PHP и SabreDAV. Часть 5
27.01.2014
Последним шагом в создании нашего сервера WebDAV станет добавление аутентификации. SabreDAV облегчает добавление как базовой, так и дайджест HTTP-аутентификации. Однако пользователи Windows могут использовать базовую аутентификацию только на защищенном сервере. Другими словами, не-SSL сервера WebDAV должны либо не использовать аутентификацию, либо использовать дайджест-аутентификацию. Раз так, покажем добавление дайджест-аутентификации.
Реализация файловой системы WebDAV с помощью PHP и SabreDAV. Часть 4
24.01.2014
Вы можете добавить несколько плагинов к серверу. Они предоставляют такие функции, как обработка блокировки файлов или промежуточные операции над файлами. С SabreDAV поставляется несколько плагинов, включающих: драйвер, который позволяет вам просматривать сервер WebDAV с помощью браузера; драйвер для блокировки файла; драйвер для игнорирования файлов ресурсов (таких, как Thumbs.db в Windows, файлы .DS_Store и «точка-подчеркивание» в Mac OS X.
Реализация файловой системы WebDAV с помощью PHP и SabreDAV. Часть 3
22.01.2014
Начало работы с SabreDAV очень простое. После того как мы сохранили наши файлы на сервере, можно использовать уже готовый обработчик локальной файловой системы. Позже в этой статье мы кратко рассмотрим создание виртуальных файловых систем, если вы хотите хранить файлы в базе данных. В этом же разделе мы начнем пошагово создавать server.php, уже упомянутый в этой статье. Затем покажем вам, как монтировать ново-созданный диск к вашему компьютеру.
Реализация файловой системы WebDAV с помощью PHP и SabreDAV. Часть 2
20.01.2014
Давайте создадим виртуальный хост для сервера WebDAV. Эта статья предполагает, что вы используете HTTP-сервер Apache на Unix-платформе. Если это не так, вам понадобится корректировка. В целях сохранения простоты мы не будем затрагивать SSL в этой статье. Если у вас есть доступный защищенный сервер, вы можете попытаться использовать его. После того, как у нас появится виртуальный хост, назначенный серверу WebDAV, скачаем и установим SabreDAV.
Реализация файловой системы WebDAV с помощью PHP и SabreDAV
17.01.2014
Покажем вам, как создавать файловую систему WebDAV с помощью PHP и открытой библиотеки SabreDAV. Мы создадим простой веб-диск, который будет сохранять файлы в заданной директории на веб-сервере. К концу статьи вы сможете эффективно примонтировать эту директорию к локальному компьютеру и обновлять в ней файлы из своей операционной системы. WebDAV — это, проще говоря, расширение HTTP, которое позволяет управлять файлами на удаленном веб-сервере.
Дональд Кнут. Человек, книга и программа
08.01.2014
Есть люди, вклад которых в развитие какой-то области деятельности невозможно не заметить, но трудно оценить. Дональд Кнут, имя которого каждому программисту известно по определению, именно таков. Американский математик и специалист в области компьютерных наук Дональд Кнут является автором самой фундаментальной монографии, посвященной программированию, 4-томного «Искусства программирования», настольной книги и Библии программистов всего мира.
Особенности программирования под iOS
18.12.2013
Если вы никогда не использовали систему Cocoa или её предшественниц NeXTSTEP и OpenStep, то, возможно, среда разработки приложений Cocoa Touch покажется вам недружелюбной. Она отличается от обычных сред разработки, используемых, например, для разработки приложений для платформы .NET или на языке Java. Не стоит беспокоиться о том, что на первых порах вам будет несколько неудобно. Просто покорпите над упражнениями, и всё встанет на свои места.
Что такое машина Тьюринга
01.04.2013
Дело было в 1936-м году. Молодой учёный Алан Мэтисон Тьюринг решил растолковать человечеству принцип алгоритмических вычислений. Дело в том, что мистер Тьюринг являлся пророком компьютерной эпохи, поэтому попросту не мог не поведать людям о том, что такое алгоритм. Вот и придумал абстрактную машину, которую назвали его именем. То бишь фамилией. Следует сразу обозначить важный момент: машина Тьюринга — исключительно умозрительное устройство...
Биржа долевых инвестиций SIMEX.

© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.