Как стать автором
Обновить
92
0

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

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

Обработка критических ошибок в PHP

Время на прочтение6 мин
Количество просмотров32K
В статье описан функционал, который доступен в PHP (актуально для 5.3.х) для обработки ошибок всех типов, включая ошибки интерпретации кода (E_ERROR, E_PARSE, E_WARNING, etc). Эта обработка поможет вам для управляемого отображения страницы в случае возникновения таких проблем. В статье присутствует множество описаний и рабочих примеров(архитектуры) для того, что бы сразу воспользоваться в своем программном продукте. В конце концов, ну немного сломали сайт, ну надо же, об этом сообщить поисковику с заголовком 4хх или 5хх и повеселить пользователя, вместо возврата белого экрана (или что хуже экрана со священной информацией, для хакеров) с ответом 200 Ok.



Идея написать этот топик возникла, когда я на храбре задал 2 вопроса:

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

Если заинтересовались, то подробности под катом…
Читать дальше →
Всего голосов 116: ↑105 и ↓11+94
Комментарии57

Полупроводниковая электроника

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


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



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





Иллюстраций: 34, символов: 51 609.



Читать дальше →
Всего голосов 488: ↑479 и ↓9+470
Комментарии152

Нифига себе сходил за хлебушком, или история одного взлома

Время на прочтение8 мин
Количество просмотров115K
Всё началось с того, что ко мне (как к фрилансеру) обратились за помощью и попросили настроить exim4 так, чтобы почтовая рассылка не попадала в спам. Даже заботливо ссылку прислали на замечательную статью.

Работы на пару часиков включая обновление DNS, но не тут то было. Залогинившись под рутом я включил свой любимый screen по привычке командой screen -x и лицезрел прелюбопытнейшее действо в любимой многими папке /dev/shm. Злоумышленник не удосужился прикрыть сессию screen, либо всё еще работал в ней. И тут начинается квест:

Первое, что я сделал — просмотрел, чем же занимался злоумышленник:

Читать дальше →
Всего голосов 592: ↑576 и ↓16+560
Комментарии150

Методы борьбы с DDoS-атаками

Время на прочтение5 мин
Количество просмотров114K
Хотелось бы поговорить с вами на актуальную нынче тему, а именно — про DDoS и методы борьбы с ним. Рядовые администраторы знают, что это такое, а вот для большинства вебмастеров это аббревиатура остается загадкой до того момента пока они на личном опыте не столкнуться с этой неприятностью. Итак, DDoS — это сокращение от Distributed Denial of Service (распределенный отказ в обслуживании), когда тысячи зараженных компьютеров отправляют на сервер множество запросов, с которыми он, в последствии, не может справиться. Целью DDoS атаки является нарушение нормальной работы сервера, а в дальнейшем — «падение» сайта или сервера целиком.

Как же от этого защититься? К сожалению, универсальных мер защиты от DDoS-атак до сих пор не существует. Тут необходим комплексный подход, который будет включать меры аппаратного, программного и даже организационного характера.
Читать дальше →
Всего голосов 123: ↑94 и ↓29+65
Комментарии66

Lua что новенького в BitTorrent DHT?

Время на прочтение3 мин
Количество просмотров3K
Какое-то время назад я написал для Shareaza внешний DHT Tracker на Lua (GitHub). Для Shareaza это обычный локальный трекер, а по сути это BitTorrent DHT клиент, который позволяет ей качать торенты по магнет ссылкам без трекера.

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

Итак, что новенького мы наловили в BitTorrent DHT.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии10

Установка GSM-сигнализации на даче

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

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

image
Головное устройство сигнализации.

В интернетах я прочитал про GSM-сигнализации и стал искать сайты продавцов. В результате нашлась одна контора, которая предлагала несколько головных блоков на выбор и к ним – всякие датчики и прочую комплектуху. Цена головного устройства в 4000 рублей устроила меня полностью и я стал прикидывать то, что требуется для покупки.
Читать дальше →
Всего голосов 141: ↑132 и ↓9+123
Комментарии163

Загрузка страницы с помощью Ajax как ВКонтакте

Время на прочтение3 мин
Количество просмотров76K
Не так давно я задался вопросом, как же можно сделать так, чтобы страницы загружались с помощью ajax скрипта, как вконтакте и при этом были проиндексированы поисковыми машинами.

Данный скрипт я сделал на основе JS фреймворка jQuery (перейти на сайт) и плагина HashChange (перейти на страницу плагина).

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

Подключение скриптов:
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/hashchange.js"></script>


Функция:
	$jQuery = jQuery.noConflict();
	$jQuery(window).hashchange(function(){
		var link = window.location.hash.replace("#", "");
		get_page_by_hash(link);
	});

Читать дальше →
Всего голосов 61: ↑33 и ↓28+5
Комментарии41

Получаем бесплатный SSL сертификат

Время на прочтение4 мин
Количество просмотров516K
Привет, хабр!

О StartSSL я узнал от небезызвестного lissyara, в связи с чем ему очень благодарен.

Для начала расскажу, что же за зверь это. Как известно, SSL сертификаты выдаются центрами сертификации, чьи корневые сертификаты хранятся в хранилище сертификатов браузера\ОС (либо другого ПО, использующего SSL). Цена на большинство сертификатов зашкаливает, и платить приходится за каждый сертификат. Но у StartSSL весьма интересный подход — сами сертификаты у них бесплатные, вы платите только за проверку вашей личности.

Так же не может не радовать наличие русскоязычной поддержки.
Читать дальше →
Всего голосов 136: ↑123 и ↓13+110
Комментарии134

Обзор CDN-сервиса CloudFlare

Время на прочтение3 мин
Количество просмотров210K
Привет, хабр! Сегодня я расскажу о сервисе CloudFlare. Куча возможностей, помощь в переносе, и многое другое.
Хотелось бы начать с того, что данным сервисом можно пользоваться бесплатно. В CloudFlare предусмотрены PRO возможности, но лично мне эти возможности не нужны. Стоимость PRO довольна высока — $20 в месяц.
Читать далее
Всего голосов 58: ↑45 и ↓13+32
Комментарии86

Шортики — короткие и смешные, или как мы готовили сайт к Хабраэффекту

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


Намба 0: Вступление

Однажды, задумчиво листая башорг, я вдруг понял, что большинство цитат довольно длинные и очень часто их просто лень читать. В наш век всеобщей спешки — на это уходит много времени. Таким образом родился новый формат: Шортики (от английского слова Short — короткий). Шортик — это короткая (из одного-двух предложений) шутка, жестко ограниченная 255 символами (чтобы не повадно было).

Как раз в этот момент я хотел подучить программирование и искал несложную задачу. Сайт я накидал довольно быстро — за пару вечеров, рассказал о нем коллегам по работе и паре знакомых в IRC, и собирался уже о нем забыть, как вдруг обнаружил, что за два дня сайт посетило 500 человек, из которых чуть ли не треть подписалась на RSS. Стало понятно, что концепция людям понравилась. Немного прилизав сайт внешне, я решился показать его Хабрасообществу — Шортики — короткие и смешные, прошу любить и жаловать.

P.S. Учитывая то, что это не совсем стартап (проект пока некоммерческий, да и «стартап» — слишком громкое слово для моей поделки), приобретенная за годы пребывания на сайте хабрасовесть не позволила мне написать нетехническую статью. Поэтому, под катом вас ждет занимательная история о том, как мы готовили Шортики к Хабраэффекту.

Читать дальше →
Всего голосов 230: ↑193 и ↓37+156
Комментарии205

Флаги 254 стран одним спрайтом

Время на прочтение1 мин
Количество просмотров15K
Однажды, nickivanov нарисовал миниатюры для кучи разных флагов и выложил их в свободный доступ. А недавно, artpolikarpov собрал их в один спрайт и написал к нему удобный css, который позволяет легко отобразить любой флаг просто указанием нужного класса.

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

И был бы этот топик топиком-ссылкой, да по необъяснимым причинам не разрешает Хабр в топиках-ссылках указывать авторов, заслуживающих похвал. Так что вот они ссылки:
Описание: artpolikarpov.ru/projects/flags
Архив с флагами: artpolikarpov.ru/projects/flags/flags.zip
Всего голосов 215: ↑200 и ↓15+185
Комментарии39

Web-интерфейс для Iptables

Время на прочтение4 мин
Количество просмотров73K
# iptables -t nat -N test
# iptables -t nat -A test -p tcp -j REDIRECT --to-port 80
# iptables -t nat -A test -p tcp -j MASQUERADE
# iptables -t nat -A POSTROUTING -j test
iptables: Invalid argument. Run `dmesg' for more information.
# dmesg | tail -n 1
ip_tables: REDIRECT target: used from hooks POSTROUTING, but only usable from PREROUTING/OUTPUT
# iptables -t nat -A PREROUTING -j test
iptables: Invalid argument. Run `dmesg' for more information.
# dmesg | tail -n 1
ip_tables: MASQUERADE target: used from hooks PREROUTING, but only usable from POSTROUTING


Это пост о программе Iptables и о веб-интерфейсе для неё.
Читать дальше →
Всего голосов 91: ↑61 и ↓30+31
Комментарии49

IPO for dummies. Часть II: стоимость акций, биржа, самый лучший способ торговать картошкой, и кого же можно встретить на бирже

Время на прочтение6 мин
Количество просмотров6.7K
Начало и оглавление см. в первой части.

А что вообще такое — «биржа»?

Представьте себе магазин, в котором продаётся картошка.
Читать дальше →
Всего голосов 237: ↑230 и ↓7+223
Комментарии99

IPO for dummies. Часть I: акции, мажоритарии, контроль над компанией

Время на прочтение5 мин
Количество просмотров16K
Во время недавнего обсуждения IPO Яндекса в комментариях прошла дискуссия на тему того, как торгуются акции на бирже, как проходит IPO, кто и какую от него получает пользу. По совету других участников обсуждения выношу в отдельную тему — а точнее, в серию тем — небольшой рассказ, который был рассредоточен по нескольким комментариям. Если вы тогда внимательно следили за темой, основная часть рассказа вам уже известна, но тем не менее… Если нет, вы наверняка найдете что-то интересное.

Disclaimer: эта и дальнейшие статьи серии написаны двумя хабраобитателями: honeyman — программистом стартапов, в свободное время экспериментирующим с торговлей на бирже и созданием аналитического софта для этого, в сотрудничестве с kaichik — журналистом и главредом автомобильных проектов. Если вы в предыдущем предложении не заметили слов «финансист», «лицензированные консультативные экономические услуги» и «богатый опыт» — то наверное, это потому, что их там не может быть.

  • Часть I: акции, мажоритарии, контроль над компанией.
  • Часть II: стоимость акций, биржа, самый лучший способ торговать картошкой, и кого же можно встретить на рынке бирже.
  • Часть III: процесс IPO, его польза для компании, основателей и владельцев, а также почему у руководства компании при открытии торгов такой замученный вид.
  • Часть IV: влияние IPO на доход от адулт-партнёрок.
  • Часть V: жизнь после IPO.
  • Часть VI: сложности выбора — два Lamborghini Gallardo или один Aventador?
  • Часть VII: про инсайд.
  • Часть VIII: о мотивации.


Итак, часть I: акции, мажоритарии, контроль над компанией.

Что такое акции, и для чего они нужны?

Читать дальше →
Всего голосов 231: ↑224 и ↓7+217
Комментарии80

Google SPDY: жизнь после HTTP 1.1

Время на прочтение2 мин
Количество просмотров2.9K
С 19 января 2011 года в браузере Chrome появилась поддержка протокола SPDY (SPeeDY), он также включён для SSL-трафика на серверах Google. Таким образом, все сайты, принадлежащие Google, грузятся значительно быстрее в Chrome, чем в любом другом браузере. Четыре месяца пользователи Chrome получают многие странички с сайтов Google вообще не по HTTP.

Кому-то это может напомнить ситуацию с Microsoft, которая «улучшала» стандарты в браузере IE таким образом, чтобы серверы IIS отвечали быстрее, чем Apache. Но здесь ситуация кардинально иная. Речь идёт не о получении какой-то монополии, а об обеспечении быстрого интернета для всех, что выгодно Google априори.
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии46

Храните мелкие картинки в CSS

Время на прочтение10 мин
Количество просмотров146K
Храните мелкие картинки, которые нельзя засунуть в спрайты, в data:image base64 в CSS — это экономит кучу запросов к вебсерверу.
Читать дальше →
Всего голосов 144: ↑105 и ↓39+66
Комментарии131

Правила хорошего тона при работе в «Фотошопе»

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

www.ilovepsd.ru — небольшой справочник по «Фотошопу» для веб-дизайнеров, но будет полезен и верстальщикам. Например, если вы занимаетесь версткой, то можете ссылаться на него, как на требования к макетам дизайнера.

Справочник призывает работать в «Фотошопе», соблюдая правила хорошего тона. Цель проекта — ускорить процесс дизайна, улучшить чтение файлов проекта и облегчить процесс верстки.

Полезные (и по делу) советы от комментирующих будут добавлены в проект. Велкам.

UP. Сделана фейсбук пейдж для желающих отписаться.

Читать дальше →
Всего голосов 121: ↑104 и ↓17+87
Комментарии199

SSH-туннель домой без необходимости оставлять включённым домашний ПК

Время на прочтение5 мин
Количество просмотров211K
Disclaimer
Этот пост появился здесь по нескольким причинам:
1) Меня попросил сам Boomburum
2) Есть предположение, что на хабре всё-таки есть люди, имеющие прямое отношение к IT, но при этом имеющие весьма отдалённое представление о пользе SSH и её извлечении из обычного домашнего роутера, и которым, надеюсь, будет весьма интересно и полезно об этом узнать.

Хабралюдям, познавшим Дао IOS, tun, VPN, *wrt, WOL… etc, предлагается на выбор:
А) Закрыть топик, заняться делом и не выводить себя из нирваны чтением этой любительской фигни.
Б) Потратить время на конструктивную критику и полезные дополнения в комментариях.
Специально для GrammarNazi:
Пишите пожалуйста об ошибках в личку — обещаю исправиться.
Бла-бла-бла, а топик-то о чём?
Итак, я обещал рассказать «как поднять ssh-туннель домой без необходимости оставлять включённым домашний ПК» и, как правильно догадался peter23 речь пойдёт про ssh-сервер на роутере.
Читать дальше →
Всего голосов 259: ↑234 и ↓25+209
Комментарии100

Apache Traffic Server — уникальный кеширующий прокси-сервер для CDN

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

Однажды возникла идея запустить русско-язычную версию популярного американского сайта. После недолгих размышлений было решено реализовать полностью интерактивную схему вида examplesite.com — > examplesite-ru.com и заставить машину делать как можно больше работы.

Некоторое изучение и эксперименты с различными прокси-серверами привели к интересному продукту — Apache Traffic Server, о котором я и хочу рассказать.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии14

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность