Search
Write a publication
Pull to refresh
3
0.5

WEB-программист, сетевой администратор

Send message

Способ разделения frontend/backend-частей в Yii

Reading time5 min
Views68K

О чем это я?


Хочу немного рассказать, как я разделяю фронтэнд/бекэнд-части сайта во всех своих проектах на Yii. Не претендую на авторство этого способа, просто хочу немного объяснить, что и как организуется и работает.

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

Есть несколько способов добиться этого. Не буду вдаваться в подробности каждого из них, если вам интересно — можете поискать на форуме yiiframework.com.
Самым элегантным и удобным мне показался вариант с использованием своего “поведения” запуска приложения. Он позволяет очень удобно разграничить приложение в плане директорией, использовать разные конфиги для каждой части сайта и т.п.
Читать дальше →

Начальная настройка маршрутизаторов Juniper SRX

Reading time15 min
Views224K


     В этой статья я постараюсь максимально доходчиво рассказать о том, как настроить Juniper серии SRX «из коробки». Статья подобного рода уже есть: habrahabr.ru/post/144218, однако моя отличается большей полнотой и подробностью настройки.
     Почему именно Juniper SRX, а не какая-то конкретная модель типа SRX100 или SXR240? Да просто потому что настройки будут полностью идентичными, ввиду полной одинаковости платформы – Junos OS. Это очень удобно, когда вроде бы разные по цене и производительности девайсы настраиваются абсолютно одинаковым образом. В этом лишь одно из достоинств Junos OS.
Читать дальше →

Можно так просто взять и скрыть информацию

Reading time9 min
Views82K
Каждый из читателей наверняка много раз видел фильмы, где супергерой / суперзлодей передавал зашифрованную информацию. Мы привыкли к слову «шифр», «шифрование» и любая тайная передача информации сейчас ассоциируетсяименно с этими словами. Хотя на самом деле, это далеко не так. Безопасная передача информации далеко не ограничивается криптографией (шифрования), а есть еще много методов и средств для этого.
Читать дальше →

Уязвимость PHP в режиме CGI

Reading time2 min
Views11K
Существует уязвимость на некоторых настройках основанных на CGI (на Apache + mod_php и Nginx + PHP-FPM не влияет), которая оставалась не замеченной, по крайней мере 8 лет. В 7 разделе спецификации CGI говорится:
Некоторые системы поддерживают метод для передачи [sic] массив строк в CGI скрипт. Используется только в случае «индексных» запросов. Определяется «GET» или «HEAD» HTTP-запрос со строкой поиска URL не содержащей незакодированных "=" символов.

Читать дальше →

То, что вам никто не говорил о z-index

Reading time3 min
Views360K

Проблема z-index в том, что многие просто не понимают, как он работает.
Всё, описанное ниже, есть в спецификации W3C. К сожалению, не все её читают.

Описание проблемы:


Итак, пусть у нас есть HTML код, состоящий из 3 элементов.
Каждый из них внутри себя содержит по одному . А каждый , в свою очередь, имеет свой фон: красный, зеленый и синий, соответственно. Плюс ко всему, каждый позиционирован абсолютно левого верхнего края документа таким образом, что он немного перекрывает собой следующий за ним . Первый имеет z-index
, равный 1, у остальных двух z-index не задан.
Читать дальше →

Продуктивное использование PHPStorm

Reading time7 min
Views328K
В процессе использования IDE иногда случайно, иногда специально находятся полезные фишки, сочетания клавиш и прочие заложенные разработчиками приятные штуки, которые никогда не оседают в памяти без регулярного их использования и всячески ускользают при чтении мануалов.

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»
Что ж там такое?

Phonerlite — лучший бесплатный SIP клиент для Windows

Reading time2 min
Views217K
PhonerLite — довольно популярный бесплатный sip-клиент. Но с первого раза в нем разобраться не просто, причиной тому служит не очевидный способ перевода звонков и выбора устройств записи/воспроизведения. Многие так и не понимают, как это сделать, от чего софт-фон бракуют.
Пять не очевидных фишек:

1) Условный перевод звонка.
Сначала вызовем двух собеседников, после чего берем и бросаем (drag & drop) второго на первого.

Читать дальше →

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

Reading time7 min
Views470K


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

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

Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
Узнать больше

Светодиодная лента в качестве освещения комнаты

Reading time15 min
Views1.3M
Изначально для основного освещения одной из комнат, где шёл капитальный ремонт, планировалась обычная люстра. Но недавно мне на глаза попалась суперяркая светодиодная лента Ultra 5000 со светодиодами smd 5630 торговой марки Arlight. Решение было принято быстро, окончательно и бесповоротно — хочу такую ленту в качестве основного света в комнате.



О реализации светодиодного периметра освещения далее

Howto Установка Redmine2.2.0 Debian+Apache+PostgreSQL+passenger

Reading time3 min
Views4.8K
Потратив 4 дня в осмыслении на чем это все работает и как ставится, перелопатив тонны более чем странных ошибок, написал себе шпаргалку… и с остальными поделится не прочь. Нижеописанное с малыми исправлениями ИМХО годно и для убунтария

redmine + PG


На начало установки имеем Debian 6.0.6 его установку я опускаю.
Проверка и обновление зависимостей:

sudo su
<пароль>
apt-get update
apt-get upgrade

Читать дальше →

Suit Up! Простой и легкий WYSIWYG

Reading time10 min
Views58K


Статья делится на три части:
UPD Критика


Вступление


Не так давно, а, точнее, года два назад, в кругу разработчиков, с которыми я имел честь общаться (почти все — новички), каждый, кому поступила задача поставить WYSIWYG, ставили монстрообразный TinyMCE. Этот редактор считался почему-то стандартом у многих веб разработчиков, хотя, мало кому нужны были то большое количество функций, которые предлагались программистам. Тут тебе и то и это. Наверно, таким образом, новички пытались сказать клиенту «смотри, мы тебе на сайт запилили Ворд».

Однажды (не помню при каких условиях), мне захотелось или понадобилось разобраться в том, как работают браузерные «рич эдиторы». Моему удивлению не было предела, когда я сам, не имея каких-либо глубоких познаний в веб разработке, сделал две кнопочки: Bold и Italic, что оказалось очень простой задачей. Мне захотелось больше узнать о том, что же делать дальше. Так я познакомился с серией статей «WYSIWYG HTML редактор в браузере» (по ссылке первая статья, советую прочесть). Но информация на тот момент мне показалась несколько сложноватой. Поэтому я решил методом тыка, наступая на уже растоптанные кем-то грабли, написать свой простой редактор.

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


Простейший редактор


Для того, чтоб дать возможность пользователю менять содержимое блока (в данном случае, обычного дива) просто задаём ему (блоку) атрибут contenteditable:
<div contenteditable></div>

Редактор готов!
Читать дальше →

Программирование под Android для начинающих. Часть 1

Reading time5 min
Views1.2M
Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.

Читать дальше →

Хитрости сисадминов

Reading time3 min
Views140K
У каждого системного администратора за время его работы накапливаются мелкие, но полезные действия, которые облегчают работу в той или иной области его ответственности. Такие действия или привычки, к которым он привык и которые он выполняет на автоматизме, могут быть не знакомы его коллегам. Поэтому в этом списке, я хочу сделать подборку некоторых своих и собранных в интернете привычек, которые могут оказаться полезными и вам.

Читать дальше →

Nginx+php-fpm+perl под Debian Squeeze

Reading time10 min
Views125K

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

В качестве теста решил перевести все свои сайты на nginx, до этого все работало на Apache из состава ZendServerCE. Интересно было пробовать насколько сложно будет полностью переехать на новый для себя веб-сервер, ведь используется несколько CMS (DLE, Wordpress, самописныеCMS).

Задачи:
  • базовая работа web сервера — обработка html;
  • запуск php скриптов;
  • корректная работа phpmyadmin для всех сайтов на сервере;
  • запуск cgi и pl скриптов;
  • использование кеширования и подбор оптимальных параметров для увеличения производительности.


Имеем свежеустановленный сервер Debian 6 в минимальной установке из netinstall. И так поехали.
Читать дальше →

Создание гостевого доступа в Интернет с Web-аутентификацией

Reading time8 min
Views41K
Приветствую, коллеги.

Пролог


Возникла у нас задача – сделать гостевой интернет. Т.е. гость приходит, подключается к сети (WiFi или кабель) и пытается выйти в Интернет. При попытке зайти на сайт у него «должно спросить пароль».
Надо отметить, подобные вопросы о решении такой задачи часто возникают на форумах. Есть куча платного софта (не рассматривался в принципе, ибо задача низкоприоритетная) и какие-то бесплатные решения. Поиск по форумам не дал определиться с выбором, посему было решено в свободные минуты сделать сие самостоятельно.

Основными требования:


Ресурсы на создание – как человеческие (рабочее время), так и материальные – минимальны.
Нагрузка – маленькая. Обычно такой системой будут пользоваться не более 10 человек в день.
Критичность доступности – низкая. Если система сломалась – то ремонтировать будут в последнюю очередь. Потеря нескольких пакетов – не принципиальна.
Изолированность – полная. Если сломают какие-либо части – локальная сеть не должна пострадать.
Платформонезависимость – клиентами будут всякие гаджеты – от телефона до большого компа.
Читать дальше →

Numeral.js — библиотека для форматирования чисел

Reading time3 min
Views21K
На создание библиотеки для удобного форматирования чисел программиста и веб-дизайнера Адама Дрэйпера вдохновила аналогичная библиотека для даты и времени — moment.js. Numeral.js позволяет задавать число знаков после запятой, символы-разделители для дробной части и групп разрядов, формат представления валют, процентов, времени, аббревиатуры для миллионов, миллиардов, мегабайтов и т.п. Кроме того, можно восстанавливать числовые значения из существующего строкового представления. Библиотека распространяется под лицензией MIT.
Читать дальше →

DivShot — онлайн-сервис прототипирования Bootstrap

Reading time1 min
Views75K
DivShot — отличный новый инструмент для работы с Twitter Bootstrap. С помощью него создавать прототипы интерфейсов с использованием популярного CSS-фреймворка стало до безобразия просто.

Читать дальше →

Новое для веб-дизайнера за первую половину декабря

Reading time1 min
Views53K
Новые полезные штуки для веб-дизайнеров за первую половину декабря 2012. Прошлый месяц: ноябрь. Во все подобные топики буду добавлять тег "новое для веб-дизайнера"

Сервисы и инструменты


Weavly — бесплатный онлайн-сервис для удобного создания роликов из видео, аудио и gif-картинок.

Читать дальше →

Схема обработки ошибок в Yii

Reading time4 min
Views34K
Всем привет!
Процесс обработки ошибок в Yii был для меня не совсем прозрачным с первых дней использования этого фреймворка. Даже несмотря на наличие в документации специального раздела Error Handling. В каких случаях какие view используются, как влияет ajax или debug-режим, зачем нужен errorAction, в чем отличия при обработке исключений?
В итоге после копания в документации и исходном коде фреймворка я нарисовал наглядную схему обработки ошибок, которая лично для меня оказалась весьма полезной и наверняка пригодится кому-то еще.
Под катом собственно схема и некоторые комментарии к ней.
Читать дальше →

gps.conf для всех, или как ускорить работу GPS на Android

Reading time2 min
Views467K
Сегодня в очередной раз задумался над темой плохого приема GPS сигнала на моем китайском смартфоне Jiayu G2. Но, неожиданно для меня, проблема решилась буквально за пару минут — «китаец» находит спутники в течение 20 секунд. А теперь обо всем по-порядку.
Читать дальше →

Information

Rating
3,595-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity