Как стать автором
Обновить
0
0
Виталий Лебедев @Sarrees

Пользователь

Отправить сообщение

Пример Makefile

Время на прочтение7 мин
Количество просмотров75K
Написание makefile иногда становится головной болью. Однако, если разобраться, все становится на свои места, и написать мощнейший makefile длиной в 40 строк для сколь угодно большого проекта получается быстро и элегантно.

Внимание! Предполагаются базовые знания утилиты GNU make.
Читать дальше →
Всего голосов 126: ↑118 и ↓8+110
Комментарии59

Phing — сборка PHP проектов

Время на прочтение4 мин
Количество просмотров46K
У многих из нас, бывают ситуации когда проект требует подготовки к выводу в продакшн, и зачастую эта подготовка состоит из множества действий, которые приходится выполнять много раз(например при сборке релизной версии). Зачастую задачи сводятся к выполнению простых консольных команд, очистке кеша, минификации JS и CSS или сборки их в один файл, но вся эта рутина может занять довольно продолжительное время, а так как выполняется, чаще всего, в конце рабочего дня, довольно легко опечататься и отправить несколько дней\часов\минут работы над проектом в небытие. В такой ситуации программисты стараются, как то автоматизировать сборку и подготовку проекта к рабочему состоянию, в чём им помогают различные системы сборки, об одной из которых и пойдёт речь в статье.
Читать дальше →
Всего голосов 77: ↑74 и ↓3+71
Комментарии45

Исключительная красота исходного кода Doom 3

Время на прочтение14 мин
Количество просмотров220K
image

Сегодня вас ждет рассказ об исходном коде Doom 3 и о том, насколько он красив.
Да, красив. Позвольте мне объясниться.
Читать дальше →
Всего голосов 281: ↑256 и ↓25+231
Комментарии245

Сборник полезных ссылок для системного администратора

Время на прочтение2 мин
Количество просмотров189K
Думаю у каждого грамотного системного администратора есть коллекция ссылок на полезные в работе ресурсы. Я имею в виду различные сайты и блоги, на которых выкладываются полезные с точки зрения системного администратора посты.
Предлагаю ими поделиться в формате ссылка — описание.
Пример: habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.

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

P.S. Хабр, опеннет и лор можно не упоминать. Можно выкладывать ссылки на конкретные статьи, если считаете их очень полезными.

Начну с себя (т.к я администрирую linux, то и ссылки у меня в основном соответствующие):
Читать дальше →
Всего голосов 105: ↑88 и ↓17+71
Комментарии68

'Elite: Dangerous' Устанавливает рекорд как самый дорогой проект на Kickstarter, который успешно собрал деньги на реализацию

Время на прочтение2 мин
Количество просмотров31K
Если вы из 80-х, поздравляем, вы старик. Если вы не были в 80-х, то возьмите машину времени и перенеситесь в 1984 чтобы поиграть в Elite. Это была невероятная игра для того времени, с улучшаемым кораблем и исследуемой вселенной полной боев и торговли (хотя в и монохрмомном режиме 3D каркаса), это прадедушка таких игр как Eve Online… а так же любого другого космосима. И спасибо успешному проекту Kickstarter, мы вскоре получим сиквел.

Дэвид Брабен, основатель Frontier Developments, который был соавтором оригинальной игры, попросил от сторонников огромную сумму в 1.25 миллионов фунтов стерлингов (около 2.03 миллионов долларов) и недавно получил ее. Хотя этот проекто не является рекордсменом по сборам-это Pebble smartwatch, который собрал более 10 миллионов долларов-по словам представителя Kickstarter, это проект с самой высокой ценой, который успешно собрал деньги для реализации. Несколько проектов запрашивали большую сумму (один запросил 3.5 миллионов долларов), но ни один из них не был успешно профинансирован.

Когда я увидел что Frontier Developments запросило 2 миллиона, моей первой реакцией было, «Что ЧТО?!» Но отойдя от шока, я понял что это имеет смысл. Это не 10.000$ стартап. Брабен уже имеет опыт в игровой индустриии, выпустив с Frontier Developmets такие тайтлы как Kinect Disneyland Adventrues. Брабен хочет сделать сиквел 21го века к Elite который будет достоен этого имени: высококачественный продукт, который будет иметь ресурсы и людей для того чтобы поддержать данный амбициозный проект.

Брабен написал на странице Kickstarter,
«Я давно хочу чтобы игра Elite: Dangerous была сделана Frontier. Следующая игра в серии Elite — невероятный космос с потрясающими эффектами, затягивающий геймплей и захватывающая атмосфера, но теперь вы также можете играть с друзьями. Я хочу игру которая бы чувстовалась как оригинальная „Elite“ и с более быстрыми путешествиями (это для мультиплеерной составляющей игры) — так что вы путешествуете быстрее используюя локальные „гиперпространственные“ пути, чем перемоткой времени — но в богатой вселенной Frontier — и больше, намного больше.
Я буду откровеннен-у нас было несколько начинананий в этом направлении в течении этих лет которые не были успешными в моем понимании. И конечно понятно, что другие проекты имели более высокие приоритеты — проекты с обьявленной датой выхода или другие обязательства. До сих пор над „Elite“ работала небольшая команда которая занималась этим для себя и в свободное от работы время. Тем не менее мы готовились — закладывая фундамент для технологий и дизайна до лучших времен. И это время — сейчас.»


Менее чем за два дня до окончания, Elite: Dangerous установила новую планку: Если финансирование превысит 1.4 миллиона фунтов стерлингов, Frontier выпустит версию для Mac; после 1.5 миллионов, Frontier добавит ещё 10 игровых кораблей. (Единственным играбельным кораблем в оригинальной Elite был Cobra MKIII. И хотя вы могли улучшить лазеры и корпус, вы немогли сменить корабль.)
Но чтобы ни случилось, фанаты космосимов могут начать прогревать движки.

Примечание: Для тех кто заинтересован именем сиквела, ветераны знают что «Dangerous» это шестой рейтинг пилотов. Пилоты должны были пройти через ранги от Harmless, Mostly Harmless, Poor, Average, Competent, Dangerous, Deadly и в конечном итоге Elite.

Оригинал статьи на Forbes
Ссылка на страницу игры на Kickstarter

P.S. На момент написания статьи вторая планка финансирования была пройдена. Поздравляю всех маководов.
Всего голосов 34: ↑23 и ↓11+12
Комментарии46

Написание бота для игры в Шарики 2.0

Время на прочтение4 мин
Количество просмотров18K
Недавно наткнулся на простенькую игрушку, где необходимо стрелять шариком в группы одного цвета. Хотя в игры я играю очень редко, минут 30 я с ней посидел.
Захотелось автоматизировать этот процесс. Знаний для игры не требуется, да игр таких много.
Описываю процесс написания бота к данной игре.


Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии27

Реализация морфологического поиска на Kohana (библиотека phpMorphy)

Время на прочтение7 мин
Количество просмотров20K
Доброго времени суток, Хабрасообщество!
Недавно задался целью сделать поиск на своем сайте, написанном на Kohana Framework. Решил использовать именно морфологический поиск, т.к. считаю его более правильным (относительно полнотекстового поиска с применением LIKE). Поиски готовых модулей для Kohana с требующимся функционалом не увенчались успехом, но я нашел отличную библиотеку: phpMorphy, которая замечательно подошла для решения моих задач.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии11

Whois: практическое руководство пользователя

Время на прочтение32 мин
Количество просмотров170K
Статья рассказывает о работе whois протокола, о существующих клиентских решениях и об особенностях коммуникации с различными whois серверами (а также о выборе правильного whois сервера). Ее основная задача — помочь в написании скриптов для получения whois информации для IP адресов и доменов.

Что такое whois?


Что такое и для чего нужен whois можно прочитать, например, здесь: http://en.wikipedia.org/wiki/Whois.

В нескольких словах, whois (от английского «who is» — «кто такой») – сетевой протокол, базирующийся на протоколе TCP. Его основное предназначение – получение в текстовом виде регистрационных данных о владельцах IP адресов и доменных имен (главным образом, их контактной информации). Запись о домене обычно содержит имя и контактную информацию «регистранта» (владельца домена) и «регистратора» (организации, которая домен зарегистрировала), имена DNS серверов, дату регистрации и дату истечения срока ее действия. Записи об IP адресах сгруппированы по диапазонам (например, 8.8.8.0 — 8.8.8.255) и содержат данные об организации, которой этот диапазон делегирован.

Читать дальше →
Всего голосов 101: ↑97 и ↓4+93
Комментарии31

Разрабатываем новый формат файла для бэкапа сайтов

Время на прочтение5 мин
Количество просмотров25K
Сейчас работаю над новым PHP-скриптом, который будет бэкапить не только базу данных, но и все файлы сайта.

Изначально планировалось использовать один из распространённых форматов архивов. В данном случае, первое, что приходит в голову — ZIP и TAR. Для них есть множество готовых классов, а расширение ZIP даже входит в стандартную поставку PHP. Но изучив спецификации форматов, а также опробовал готовые решения, склонился к изобретению своего велосипеда.

Просьба «велосипедохейтеров» воздержаться от комментариев в стиле «хватит нам велосипедов». В конце концов, без создания «велосипедов» не было бы ни Google, ни Google Chrome, ни Facebook, ни WinRAR и 7-Zip.
Читать дальше →
Всего голосов 113: ↑92 и ↓21+71
Комментарии143

EgisTec ES603 — сканер отпечатков за 500 рублей или внедряем биометрическую авторизацию

Время на прочтение4 мин
Количество просмотров62K
В этот понедельник в блоге Box Overview — мини-обзор китайской копии распространённого сканера отпечатков от компании EgisTec — ES603. Такие сканеры очень часто используются в ноутбуках и мобильных устройствах.

Но в данном случае я расскажу о сканере в отдельном корпусе, который можно подключить к любому компьютеру.
Поехали!
Всего голосов 45: ↑36 и ↓9+27
Комментарии96

Юридическая безопасность ИТ бизнеса в СНГ

Время на прочтение14 мин
Количество просмотров46K
«Война — неотъемлемая часть конкуренции...», Карл фон Клаузевиц

Я довольно давно интересуюсь юридической защитой бизнеса, ведь веду бизнес на просторах СНГ, где без этого работать нельзя! За последние 8 лет работы я собрал довольно много рецептов защиты, узнал много печальных историй незащищенных бизнесов и сложил это в довольно интересную схему работы. Сегодня я хочу поделиться этой информацией со всеми желающими, ибо очень люблю справедливость и не люблю ушлых товарищей, которые сегодня часто у кого-то что-то забирают, кидают, наезжают и т.д.

Сейчас я живу в Украине и больше знаком с украинским законодательством, но для других стран СНГ правила ведения бизнеса точно такие же, общая схема идентична, отличаются только нюансы и номера законов. Тех, кто увидят отличия для РФ и других стран СНГ – приглашаю в комментарии к статье.

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


Читать дальше →
Всего голосов 118: ↑109 и ↓9+100
Комментарии178

Система мониторинга на BASH

Время на прочтение12 мин
Количество просмотров27K

Система мониторинга: зачем?


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

Лично я разрабатывал эту систему для решения проблемы скрытого удаленного наблюдения за вверенными мне компами. На этапе реализации мне предложили получить некоторый профит с этого проекта и сделать все на BASH как проект для некоторой конференции.

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

Описание платформы, зависимости


Не так давно я обновился до 12.10й версии всеми любимой Kubuntu (Ubuntu с KDE в качестве WM, GNOME не переношу). Система девственно чиста, никаких манипуляций с ней не производилось, так что в ней не будет пакетов, которых нет у Вас.
Ядро 3.5.0-21, KDE. Для работы самой системы нам понадобятся дополнительные пакеты, которые можно найти в стандартном репозитории. Набираем следующее:
Читать дальше →
Всего голосов 49: ↑30 и ↓19+11
Комментарии47

Продвинутая настройка VIM

Время на прочтение13 мин
Количество просмотров46K
Одно из правил эффективного использования редактора гласит следующее — определите, на что у Вас тратится больше всего времени при наборе текста, и улучшите это.
Как показывает практика, часто пользователи этого редактора ограничиваются установкой опций, коих конечно не мало. Затем ставят какой-нибудь плагин-мега-пак по советам знатоков, и вроде бы все устраивает, кроме… первого, второго, третьего…
Но ведь если пойти дальше, можно обнаружить бесконечный потенциал для увеличения производительности в использовании своего редактора.



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

Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии30

Создание робота телеприсутствия

Время на прочтение3 мин
Количество просмотров44K


Прочитав несколько статей о платформе Arduino и вдоволь наигравшись миганием светодиодов, я решил попробовать свои силы в робототехнике. Проект не претендует на уникальность, индуизм в быдлокоде зашкаливает, однако, если вас это не пугает…
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии28

[Перевод] Как я читаю книги по программированию

Время на прочтение4 мин
Количество просмотров139K
Я получил образование по специальности «Электротехника» и единственными языками программирования, которые мы изучали были C/C++, ассемблер и Matlab. После того как я посетил Startup Weekend, я понял, что информатика и разработка программного обеспечения мне небезразличны и решил погрузиться в эти области с головой. Также я осознал, что мне требуется изучить еще несколько языков программирования, помимо тех, которые я изучал в университете.

За прошедшие полтора года я начал изучать Java (для Android), а также Python, JavaScript, HTML и CSS (для web-разработки) и выявил для себя, что лучший способ изучать язык программирования, разбирая книгу или туториалы, — читать все по три раза! Да, именно по 3 раза!!! Чтение нового материала подобным образом, хорошо помогло мне понять новые языки программирования и концепции.
Читать дальше →
Всего голосов 59: ↑45 и ↓14+31
Комментарии30

Полезные хаки и сниппеты для .htaccess

Время на прочтение7 мин
Количество просмотров463K


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

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

Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
Узнать больше
Всего голосов 114: ↑92 и ↓22+70
Комментарии82

Пара слов об интернационализации приложений

Время на прочтение12 мин
Количество просмотров46K
Я давно регулярно читаю Хабр и заметил, что здесь довольно мало внятных статей о локализации ПО, ориентированных на разработчиков. По своему опыту управления проектами локализации я могу сказать, что локализация — это не только перевод строк и адаптация приложения к контексту той или иной страны, но и постоянное противоборство (в идеальных случаях — равноправное взаимодействие) с разработчиками.
В этой статье я постараюсь на примере показать, как можно создать так называемый localization-friendly code, то есть, организовать ресурсы таким образом, чтобы существенно облегчить локализацию приложения, снизив избыточные временные и финансовые затраты.
Сразу же оговорюсь, что речь пойдёт в первую очередь об интернационализации, то есть, об учёте всех лингвистических особенностей на этапе разработки. Если же ресурсы вашего проекта изначально не подразумевали локализацию, а впоследствии вы решились на неё, то их «затачивание» под локализацию может выйти намного дороже, чем доход от неё.



Читать дальше
Всего голосов 115: ↑113 и ↓2+111
Комментарии66

Опыт использования вертикальной мыши или спасаемся от туннельного синдрома

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

Под катом — медицинский ликбез о причинах возникновения туннельного синдрома, о том, как его избежать, и конечно, обзор вертикальной мышки.
Читать дальше →
Всего голосов 94: ↑77 и ↓17+60
Комментарии181

Quipu — эзотерический язык программирования на основе узелковой письменности Инков

Время на прочтение6 мин
Количество просмотров30K
Один мой друг, историк по профессии, подкинул мне замечательную идею об использовании древней мнемонической и счетной систем в современной криптографии. В процессе его рассказов об узелковой письменности Инков, я начал соображать, что все новое — хорошо забытое старое и было бы не плохо как-то применить древний опыт в современном мире. Первое, что пришло в голову — криптография. Это самое очевидное — просто сконвертировать узлы с ниток в байты и шифр готов. С одной стороны все казалось понятным, но потом я вспомнил про криптостойкость и другие параметры шифров и понял, что не обладаю достаточным опытом и знаниями в области криптографии, чтобы в одиночку разработать новый шифр.

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

Четвертая версия языка оказалось удачной: я написал факториал, затем генерацию последовательности Фибоначи и дюжину простых примерчиков аля “сумма чисел от 0 до 99”. Язык получился что надо: необычный и в тоже время с простой понятной идеей. Главное — язык может решить любую (ну или почти любую) задачу которую можно выразить в виде вычислимой функции.

А теперь все по-порядку
Всего голосов 82: ↑78 и ↓4+74
Комментарии40

JavaScript: от начала до конца

Время на прочтение6 мин
Количество просмотров189K
TL;DR
Эта обзорная статья. Такое себе "краткое содержание предыдущих серий". Она будет полезна для новичков, или тех, кто не следил за отраслью в последнее время. Для новичков это будет первый шаг во "Вселенную JavaScript", бывалые смогут освежить свои знания.

У JavaScript очень удивительная судьба. Он преодолел путь от самого не понимаемого до самого удивительного языка. У него было тяжелое детство:
Изначально Автор хотел написать функциональный язык. Но менеджеры хотели получить, «обычный» объектно-ориентированный. И чтобы было легко искать разработчиков для новоиспеченного языка синтаксис решили сделать похожим на Java и даже название сделали похожим.
Но на этом история не заканчивается. Java, JavaScript это торговые марки Sun (а теперь Oracle). Microsoft не мог воспользоваться именем JavaScript (Netcape и Sun дружили против Microsoft). В результате Microsoft решил сделать реверс инжиниринг JavaScript и назвал его JScript. Сделали реверс инжиниринг, и сделали его настолько хорошо, что даже содрали все баги в реализации. Позже решили сделать стандарт и назвали его ECMAScript.
Читать дальше →
Всего голосов 127: ↑114 и ↓13+101
Комментарии116

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность