Search
Write a publication
Pull to refresh
24
0
Нарек Мкртчян @Gunger

Руководитель

Send message

Куда идем вечером?

Reading time1 min
Views538
Привет всем!

Наверное, каждый из нас часто сталкивается с проблемой выбора развлекательного заведения в определенном районе Москвы. Скажем, вы находитесь в точке X и хотите найти кинотеатр, кафе, клуб в радиусе Y метров-километров. Сайтов, предоставляющих информацию с адресами заведений (а иногда и ближайшим метро), достаточно, но искать таким способом место назначения не очень удобно.

Мы предлагаем вам использовать карту заведений, которую мы недавно сделали на сайте Mooteam.ru (спасибо Гуглу и нашим программистам).
Читать дальше →

Работаем с массивами в JavaScript без велосипедов

Reading time2 min
Views42K
Эту статью я хочу посвятить тонкостям работы с массивами в JavaScript.

Наверное, у каждого JavaScript-разработчика есть фунции (самописные или библиотечные) $ (выбор элемента по id) и $$ (выбор элементов по CSS-классу). Если мы выбираем несколько элементов по CSS-классу, то мы хотим произвести с ними определенные действия. Напрашивается цикл. А если нужна выборка среди них? Преобразования? Действия над нужными элементами? Непростой получается код.

JavaScript не стоит на месте, Mozilla неустанно улучшает JavaSript в своем движке Gecko и грех не пользоваться этими нововведениями. В JavaScript 1.6 добавлены новые полезные методы для упрощения кода, необходимого в вышеописанных ситуациях.
Читать дальше →

Отладка PHP средствами Firebug

Reading time2 min
Views25K
FirePHP

Отладка PHP-скриптов определенно недостаточно освещена в интернете. Потому многие, очень многие довольствуются print_r-ками. Очевидный недостаток такого способа — нельзя отладить AJAX, SOAP-сервисы, генераторы картинок и вообще скрипты, не отдающие непосредственно HTML-документов.

Javascript-разработчики используют для отладки Firebug. Как я им всегда завидовал. Лепота — выделенная консоль, net-монитор, отладчик, и все это в любимом браузере.

Так вот, нашел такое расширение Firebug — FirePHP. Оно позволяет выводить информацию в консоль Firebug непосредственно из PHP. Делается это довольно простым вызовом:
Читать дальше →

Подборка видео-проигрывателей на флэше

Reading time2 min
Views18K


Я большой любитель собирать списки разных необходимых вещей. В этот раз это список видео-проигрывателей на флэше, жаль, но получилось всего 3 проигрывателя получилось 7 проигрывателей.

Надеюсь уважаемые комментаторы помогут дополнить список и выявить абсолютного лидера среди проигрывателей.
Уже помогли. Отдельные спасибы Elected, atri, rmb. Кармы всем за мой счет ^_^

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

Построение таблиц «Один-к-разным»

Reading time4 min
Views18K
Передо мною встала задача — «объединить» несколько типов объектов с разными свойствами в одной таблице для «глобального» поиска. Я перепробовал несколько решений такой задачи. Возможно, вы предложите что-то новое, чего я не смог разглядеть в потенциале SQL.

Рассмотрим задачу более конкретно:
Читать дальше →

Управление доменами

Reading time2 min
Views9K
День добрый, Хабралюди.
В данном посте хочу попросить совета как лучше управляться с доменами.

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

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

Что посоветуете в связи с вышесказанным? Где складируете свои домены?
Удобный интерфейс нашел на r01, кто пользуется, насколько там всё гибко?

Заранее спасибо.

АПдейт:
Читать дальше →

Пространство имён в php 5.3 и php 6

Reading time2 min
Views6.3K
Пространство имён (namespace/package) знакомо java и c# программистам, теперь доступно и в php. Нужно оно для того, что-бы не писать длинные перефиксы к названиям классов, как сейчас делается в Zend, PEAR и других библиотеках и платформах для совместимости.
Вместо этого классы, функции, интерфейсы (абстрактные классы) и константы могут быть объединены в одно пространство имён. Глобальные переменные в это пространство не входят.

Простой пример


Определяется пространство ключевым словом namespace
//определяем класс в пространстве
namespace MyCMS::Core;
class System{}

Использование этого класса в третьих библиотеках осуществляется ключевым словом use
require_once('mycms/core.php');
use MyCMS::Core::System; //импортируем только заданный класс
$objSystem=new System;

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

Как работают таймеры в JavaScript

Reading time2 min
Views18K
Примечание: ниже перевод заметки John Resig «How JavaScript Timers Work», в которой автор jQuery ясно и подробно излагает тонкости работы различных методов отложенного исполнения функций. Мои комментарии по клиентской производительности далее курсивом.

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

  • var id = setTimeout(fn, delay); — создает единичный таймер, срабатывание которого выливается в вызов определенной функции после указанной задержки. Данный метод возвращает уникальный ID, с помощью которого можно в дальнейшем отменить таймер.
  • var id = setInterval(fn, delay); — похож на предыдущий метод setTimeout, но совершает вызовы заданной функции постоянно (каждый раз с заданной задержкой), пока не будет отменен.
  • clearInterval(id);, clearTimeout(id); — принимают в качестве параметр ID таймера (возвращаемый двумя предыдущими методами) и предотвращают дальнейшие вызовы таймера.


Для того чтобы уяснить внутренние аспекты работы таймеров, стоит учесть одну важную деталь, которую стоит осветить: задержка при выполнении таймера не гарантируется. Так как весь JavaScript исполняется в браузере в один поток, то асинхронные события (например, клики мышкой или таймеры) запускаются только по возникновению «окна» в этом основном потоке (обработчики событий и вызываемые функции, фактически, «встраиваются» в основной поток выполнения, подробнее об организации тяжелых вычислений). Лучше всего это можно продемонстрировать с помощью следующей диаграммы:

Схема работы таймеров в JavaScript

Рисунок 1. Схема работы таймеров в JavaScript

читать дальше на webo.in →

Mooteam День рождения!

Reading time1 min
Views559
Привет всем!

Мы Вам уже рассказывали о запуске нашего сайта – Mooteam.ru и некоторых дополнительных сервисов. Недавно мы запустили акцию «Отмечай день рождения и получай скидку!» для тех наших пользователей, которые планируют отмечать праздник в кафе или ресторане!
Читать дальше →

Особенности условных конструкции со строками в PHP

Reading time3 min
Views3.6K
На Хабре часто обсуждается какой язык лучше для написания безопасных приложений. При этом часто отмечается, что PHP спроектирован таким образом, что начинающий разработчик будет допускать ошибки, приводящие к дырам безопасности. В этом хабрапосте я хочу рассказать о, на мой взгляд, нелогичном поведении операций сравнения, операторов if и switch при работе со строками. Опытным разработчикам данные особенности известны, но решил все же собрать их в одном месте. Думаю пост будет полезен начинающим разработчикам и тем, кто работает в PHP, имея опыт программирования на других языках.

Что есть истина?

Какие строки истинны? Рассмотрим пример:
Читать дальше →

Динамическая висячая пунктуация в HTML

Reading time2 min
Views6.3K
Наверняка вы видели на многих сайтах свешивающиеся в начале строк кавычки и скобки. И хотя на бумаге такое полное свешивание в простых текстах (не заголовках) как минимум спорно, на вебе это выглядит отлично. Такое поведение текста называется «висячая пунктация», и на текущий момент есть ровно один способ её реализации в (X)HTML/CSS — добавление парных стилей. Этот способ, скажем, применён на сайте Артемия Лебедева.

Главный минус классической «лебедевской» реализации висячей пунктуации на вебе — её статичность. Поясню, как у них это сделано.

В CSS прописаны парные стили: .h[symbol] и .s[symbol], например, .slaquo и .hlaquo. Для каждого из них прописан отвес через margin. При использовании свешивающихся символов в тексте к пробелу перед символом добавляется стиль s[symbol], а к самому символу — h[symbol]. Соответственно, когда и пробел, и символ, находятся в одной строке, отвесы взаимно компенсируются, и текст выглядит как обычно. А когда свешивающийся символ по каким-то причинам сносится на следующую строку — первый стиль (балансирующий второй блок) остаётся на предыдущей строке, поэтому нужный символ свешивается влево на заданный отвес.

Реализация по сути хорошая, с одним «но» — шрифты. Для каждого шрифта отвес, скажем, открывающей кавычки-ёлочки или открывающей скобки разный. Да, конечно, мы можем его вычислить вручную и прибить в таблице стилей гвоздями (так и сделано у Лебедева на сайте), но для этого придётся быть уверенным, что как минимум у 90% посетителей сайта будет именно этот шрифт. В случае, если браузер покажет это каким-то иным шрифтом, начнутся проблемы с разъезжающимися строками.

Что было сделано?
Читать дальше →

Jevix: опубликована php-версия 0.9 (beta)

Reading time1 min
Views1.3K


Jevix — средство применения правил набора текстов (типографики), фильтрации тегов и аттрибутов, предотвращения XSS-атак. Jevix предназначен для использования в составе интернет-проектов, публикующих пользовательские материалы, будь то крупная социальная сеть или авторский блог.

Jevix способен полностью взять на себя все возможные проблемы с обработкой пользовательского материала в формате простого текста или HTML.

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

Веб-типографика сегодня. Часть IV

Reading time13 min
Views44K
Часть IЧасть IIЧасть IIIЧасть IVЧасть V — Часть VI

Часть IV



Итак, настала пора выяснить, какие шрифты и с какой долей вероятности могут оказаться установленными в тех или иных операционных системах либо в результате каких-то особых ситуаций (например, при установке пакетов Microsoft Office, Adobe Creative Suite или CorelDRAW! Suite), либо в «девственно чистых» ОС (что, несомненно, наиболее приемлемый вариант). А также узнать, какие из этих шрифтов пригодны для использования и в каких конкретно случаях.

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

Переменные сессии на яваскрипте без кук

Reading time3 min
Views30K
Мне никогда не нравилась реализация кук в Яваскрипте. Объем ограничен (4х20 Кб на домен), хранить возможно только в строковом типе, синтаксис для установки и получения кук избыточно сложен.

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

Поэтому я написал маленький скрипт, который позволит вам использовать переменные сессии в Яваскрипте без установки кук. Он позволяет хранить до 2 Мб данных, что намного меньше ограничивает в возможностях, чем решение на основе кук.

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

Вредная верстка

Reading time9 min
Views75K
Как определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.

Из этой статьи вы узнаете:


  • О плохих приемах современной верстки;
  • О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.


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

Не хотят работать с вашей компанией из-за упрощенки?

Reading time1 min
Views23K
Иногда попадаются такие менеджеры или бухгалтеры на стороне заказчиков, которые говорят: «Ааааа, у вас упрощенка». И делают кислое лицо. Дескать, из-за вашей упрощенки они не получат возврат НДС, 18% от стоимости.

Этот вопрос в 90% случаев решается правильной беседой с заказчиком.

Вы говорите: «Если бы мы работали не по упрощенке, то к нашей цене в 1000000 рублей добавился бы еще 18% НДС, и вы платили бы 1180000 рублей, а потом ждали бы, когда государство вернет вам 180000 рублей НДС. Работая с нами, вы не платите лишних 18% и не ждете потом их возврата, эти деньги работают на вас, а не болтаются у государства в кармане».

И тогда происходит чудесное преображение, и адекват нисходит на головы бухгалтеров, финансовых директоров и менеджеров.

Программирование в Mac OS X: пишем для iPhone

Reading time3 min
Views11K
в этом топике я покажу как написать простенькое приложение для iPhone с использованием официального SDK. Заполучить его просто, нужны:
1. Intel-based Mac(хотя и на PowerPC тоже работает, но после некоторых телодвижений)
2. iPhone SDK. Я буду писать на beta 2. Последнюю версию можно получить, зарегистрировавшись на developer.apple.com. Beta 2 можно найти в торрентах
Читать дальше →

Хронология РИТ 2008. День второй.

Reading time3 min
Views684
День первый

11:00 — Инфраструктура Фейсбук — особенности крупных социальных приложений. Алекс Москалюк


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

Хорошее начало своего бизнеса

Reading time6 min
Views1.9K
Эту статью я написал не так давно, уже имея опыт предпринимателя. Одни моменты в ней — советы из собственной практики, другие — развитие идей, умозаключения. Но, думаю, если бы перед тем, как начинать свободное плавание предпринимателя мне кто-нибудь дал почитать подобный материал, я бы действовал несколько иначе.

Intro

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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity