Pull to refresh
21
0
Александр Сергеевич Инсайт @Insayt

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

Send message

парсим сайты легко и непринуждённо вместе с phpQuery

Reading time3 min
Views112K
Привет хабр, думаю у некоторых из вас возникала потребность стянуть что нибудь нужное с какова нибудь сайта. Но писать тонны функций, чтобы вытащить фразу, это очень муторно, долго и не продуктивно.
Представляю вашему вниманию phpQuery. Это php вариант известного javascript фраемворка — jQuery.
Автор постарался на славу и портировал почти всё что нам нужно.
  • Selectors
  • Attributes
  • Traversing
  • Manipulation
  • Ajax
  • Events
  • Utilities
  • Plugin ports

Давайте посмотрим что она умеет.
Поехали

PHP HTML DOM парсер с jQuery подобными селекторами

Reading time3 min
Views146K
Добрый день, уважаемые хабровчане. В данном посте речь пойдет о совместном проекте S. C. Chen и John Schlick под названием PHP Simple HTML DOM Parser (ссылки на sourceforge).

Идея проекта — создать инструмент позволяющий работать с html кодом используя jQuery подобные селекторы. Оригинальная идея принадлежит Jose Solorzano's и реализована для php четвертой версии. Данный же проект является более усовершенствованной версией базирующейся на php5+.

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

Frustro: невозможный шрифт

Reading time1 min
Views13K


Венгерский дизайнер Марци Хегедус (Martzi Hegedűs) создал оригинальный шрифт Frustro, который основан на идее невозможных фигур — одного из видов оптических иллюзий. Как и классический треугольник Пенроуза, буквы этого шрифта можно представить направленными или в одну, или в другую сторону, и для них невозможно создать 3D-модели.
Читать дальше →

60 FPS? Легко! pointer-events:none!

Reading time2 min
Views99K


Вы, наверное, уже читали интересную статью о том, как можно отключать эффекты :hover при скроле – это позволяет здорово сохранить отзывчивость сайта, но имеет один недостаток – вам приходится опираться на один общий класс, и это плохо.

.hover .element:hover {
  box-shadow: 1px 1px 1px #000;
}
Читать дальше →

Самое интересное из мира веб-дизайна. Дайджест Genue №1, февраль 2014

Reading time4 min
Views26K
Рады представить первый выпуск «Самого интересного из мира веб-дизайна». Мы постараемся делать такие выпуски регулярно. В сегодняшнем выпуске мы поговорим про дизайн как таковой: 1) Что должен знать дизайнер об отступах в заголовках; 2) Как иконка прелоадера влияет на наше отношение к сервису; 3) Азы адаптивного дизайна; 4) Использование «Photoshop Generator» для создания прототипов; 5) Руководство по стилю от Yelp. Расскажем о новых интересных и красивых сервисах: 1) Генератор случайных пользователей; 2) Сервис Peek. Видео-отзыв о сайте от реального человека; 3) Recordit.co. Сервис для записи скринкастов; 4) Peekcalendar. Карманный календарь. Покажем, что нового, у всем известных ребят: 1) Iconfinder. Версия 5.0; 2) Новый Ted.com 2.0




Что должен знать дизайнер об отступах в заголовках


image

В своей статье Артём Гобунов раскрывает простое «правило внутреннего и внешнего», которое является частным случаем теории близости. На конкретном примере демонстрируется, как нужно рассчитывать вертикальные расстояния между заголовком и подзаголовком, а также между ними и контентом страницы, чтобы все элементы не «смешивались в кашу».

http://artgorbunov.ru/bb/soviet/20140224/


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

MySQL шпаргалки

Reading time3 min
Views827K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

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

Основы дизайна

Reading time3 min
Views16K
Рекомендуем познакомиться с неоднократно переиздававшимся классическим учебником по основам дизайна, одним из самых популярных в мире. Теория дизайна, масса практических примеров и вся необходимая информация для начинающих дизайнеров и профессионалов, желающих совершенствовать свое мастерство.

В новом издании «Основ дизайна», как и в восьми предыдущих, текст подвергся переработке. Вы спросите, какие же внесены изменения, касающиеся элементов и принципов дизайна? В действительности сами средства и формы, в которых мы их используем, эволюционируют очень быстро. В каждое последующее издание добавляются новые средства, новые виды искусства и новые изображения из повседневной жизни. Наряду с этим приводятся примеры из различных эпох и культур, как и в предыдущих изданиях. Но это еще не всё. В тексте каждого раздела есть ссылки на другие, так что идеи перекликаются и развиваются от раздела к разделу. Это становится очевидным на примере двух картин, к которым мы возвращаемся в каждой главе. Насколько сильно различаются «Арлекин» Пикассо и «Дуэль после маскарада» Жерома! Как много они могут сказать о композиции и всех аспектах дизайна помимо того, что на них изображен человек в костюме арлекина! Переделки, изменения неотделимы от процесса создания дизайнерского решения. Даже шедевры получаются после серии изменений: мы это видим на фотографиях, запечатлевших процесс создания картины Матисса «Розовая обнаженная». Художники не всегда фиксируют этот процесс, но зачастую он очевиден. Исправления, которые мы видим, называются пентименто, что означает, если переводить с итальянского дословно, «художник раскаивается». Это самый трудный
урок для начинающих дизайнеров: перестать цепляться за первую идею и после череды изменений прийти к другой, лучшей. Написание этого текста также было процессом непрерывного переосмысления и переделок. Как упоминалось ранее, в этом издании появилось много новых изображений. Также здесь вы найдете ряд новых обсуждений.

image

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

Видео-курс «Введение в логику» на русском языке

Reading time1 min
Views62K
Здравствуй, Хабр!

Представляю вам курс «Введение в логику», недавно прошедший на Хекслете. Он основан на учебнике по математике Романа Добровенского. Курс состоит из шести лекций общей продолжительностью 2 часа 20 минут.



Первая лекция. Базовые понятия логики, логические операции, наша первая теорема и закон Де Моргана.


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

Javascript: ООП, прототипы, замыкания, «класс» Timer.js

Reading time19 min
Views97K
Здравствуйте программисты начинающие, законченные, а также все сочувствующие. Как известно, ничто не познается так хорошо, как на собственном опыте. Главное, чтобы опыт был полезный. И в продолжении этой простой мысли я хочу предложить заняться несколькими полезными делами сразу:
  • Побеседовать на тему «ООП с человеческим лицом».
  • Разобраться с прототипами в javascript, коротко и сердито!
  • Вспомнить, что «замыкание» это не только ценный мех… удар током.
  • Написать на javascript класс Timer — этакий планировщик событий для запуска анимаций, событий, любых функций.
  • Весело провести время!

Предупреждение! Если вы не ждете от статьи ничего веселого… то ошибаетесь. Людям с пониженным чувством юмора читать… еще более рекомендуется! Ну-с, приступим…
Читать дальше →

Алгоритм Диффи — Хеллмана

Reading time1 min
Views166K
Одна из фундаментальных проблем криптографии – безопасное общение по прослушиваемому каналу. Сообщения нужно зашифровывать и расшифровывать, но для этого обеим сторонам нужно иметь общий ключ. Если этот ключ передавать по тому же каналу, то прослушивающая сторона тоже получит его, и смысл шифрования исчезнет.

Алгоритм Диффи — Хеллмана позволяет двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены канал связи. Полученный ключ можно использовать для обмена сообщениями с помощью симметричного шифрования.

Предлагаю ознакомиться с принципом работы алгоритма Диффи – Хеллмана в замечательном видео от Art of the Problem в моем переводе.

Дайджест интересных новостей и материалов из мира PHP № 36 (9 — 23 февраля 2014)

Reading time5 min
Views21K


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

Приятного чтения!
Читать дальше →

Init.js: Зачем и как разрабатывать с Full-Stack JavaScript

Reading time13 min
Views31K

История


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

Окей, значит людям это нужно. На этом можно даже заработать денег. И единственная причина, по которой люди до сих пор этим не пользуются: вы не реализовали свою идею. Пока не реализовали.

И наконец, в один прекрасный день вы решили: “Сделаем это!”. И вот вы уже пытаетесь разобраться как реализовать бизнес-логику своего приложения, ту киллер-фичу, которая будет двигать продукт вперед. У вас есть идея как это сделать, и вы знаете, что способны на это. И вот вы говорите: “Готово! Работает!” У вас есть успешный прототип! Осталось только упаковать его в веб приложение.

“Окей, сделаем сайт,” говорите вы.

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

Перед вами десятки и десятки архитектурных решений, которые необходимо принять. И вы не хотите ошибиться: требуются технологии, которые позволят вести быструю разработку, поддерживают постоянные итерации, максимальную эффективность, скорость, устойчивость и многое другое. Вы хотите быть бережливым (lean) и гибким (agile). Вы хотите использовать технологии, которые помогут вам быть успешным как в краткосрочной, так и в долгосрочной перспективе. А выбрать их далеко не всегда так просто.

“Я перегружен”, говорите вы и чувствуете себя перегруженным. Энергия уже не та, что была в начале. Вы пытаетесь собраться с мыслями, но работы слишком много. Прототип медленно блекнет и умирает.
Читать дальше →

«Теоретический минимум» Леонарда Сасскинда издан на русском

Reading time4 min
Views67K
Рады сообщить, что в издательстве «Питер» вышел перевод новой книги Леонарда Сасскинда и Джорджа Грабовски — «Теоретический минимум» (ориг: The Theoretical Minimum: What You Need to Know to Start Doing Physics).

В Америке эта книга, несмотря на свой формат лекций по физике и классической механике, неожиданно стала настоящим бестселлером, а The Wall Street Journal вообще признал ее «Книгой 2013 года». В России книга вышла в издательстве «Питер» при поддержке гуманитарного фонда «Династия», цель которого — содействовать изданию лучших современных научно-популярных книг в области естественных и гуманитарных наук.

image

Мы уже издавали одну книгу Сасскинда на русском — «Битву при черной дыре» (пост о ней был на Хабре) — но «Теоретический минимум» по формату и содержанию кардинально от нее отличается.
Читать дальше →

Подсветка текста в «TextArea»

Reading time4 min
Views20K
Эта статья покажет, как в современных браузерах можно сделать подсветку текста в поле редактирования (WYSIWYG).
Пример можно посмотреть, в google.docs или на некоторых продвинутых форумах.

Уверен, многим это будет интересно.

Атрибут contentEditable и параметр designMode


Именно contentEditable или designMode и делает для нас всю основную «грязную» работу.

Если этот атрибут поставить в тег, то всё, что внутри тега, становится автоматически редактируемым.

<html><head></head><body>
  <div contentEditable="true"><b>C</b>ontent<u>!!!</u></div>
</body></html>
работающий пример

Этот атрибут не поддерживается сейчас некоторыми старыми браузерами (например, FireFox 2.0). Но есть более «глобальный» параметр страницы, который сейчас поддерживают все браузеры, который нам может помочь —
designMode

Range, TextRange и Selection

Reading time13 min
Views78K
Многим JavaScript-разработчикам приходилось сталкиваться с объектами, перечисленными в заголовке, например, при решении следующих задач:
— создание визуальных редакторов (wysiwyg),
— поиск в окне браузера,
— выставление BB-кода,
и т.д.

В этой статье автором предпринята попытка собрать перевод документации об этих объектах в одном месте + написать небольшие сопроводительные примеры. Перевод вольный, не дословный, так что если встретите неточность или корявую формулировку — пишите в комментариях.

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

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

Каркас для web-приложений, построенный на CodeIgniter

Reading time9 min
Views36K
image
Наверняка, многие веб-программисты изучали и, может быть, даже использовали такой замечательный фреймворк как CodeIgniter. Мой выбор пал на него ввиду того, что у него самый низкий порог вхождения, он наиболее прост в изучении, хорошая документация, быстрый и т.д. и т.п. Для простых проектов самое «оно», чтоб попробовать свои силы именно как разработчик. Само собой, для более серьезных проектов лучше использовать более функциональные и навороченные фреймворки.

Далее буду описывать, как я «апгрейдил» CodeIgniter, чтобы использовать этот каркас для разных проектов, т.к. базовый его функционал и примеры из документации, мягко говоря, очень простые, а в жизни всё гораздо сложнее. Итак, начнем-с.
Читать дальше →

Facebook знает, в кого ты влюбился

Reading time1 min
Views50K


Специалисты по анализу данных из компании Facebook опубликовали статистику, собранную с анонимных профилей в социальной сети. Как романтично сказано в официальном блоге, статистика показывает «формирование любви» между парами.

«В течение 100 дней перед началом отношений мы наблюдаем медленное, но стабильное увеличение количества сообщений между будущей парой», — пишет автор исследования Карлос Дьюк (Carlos Diuk). Но самое интересное происходит потом: резкое уменьшение коммуникаций в социальной сети сразу после установления отношений (и нового статуса в профиле).
Читать дальше →

Почему курсор мыши наклонён на 45°?

Reading time1 min
Views262K
Посетитель сайта вопросов-ответов StackExchange задал на первый взгляд глупый вопрос: а почему все курсоры во всех операционных системах немножко «кривые», то есть имеют определённый наклон, а не указывают прямо? В самом деле, почему курсор не располагается вертикально, ведь это наиболее удобно для выделения текста и прочих задач?



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

Пространства имен в PHP, разъяснение

Reading time5 min
Views125K
Прим.пер.: Я в курсе, что на момент перевода актуальная версия PHP — 5.5, а также что есть мудрая книга мануал. Но мне показалось интересным, то как автор преподносит namespace функционал, возможно кому-то из тех, кто только постигает азы (да и не только, есть немало бородатых разработчиков, остановившихся на PHP 5.2), статья поможет проникнуться. Ходор.

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

В PHP у вас не может быть два класса, названных одинаково, все они должны быть уникальны. Проблема этого ограничения в том, что если вы используете чью-либо стороннюю библиотеку, предоставляющую класс с именем User, то вы не можете создать свой собственный класс, также названный User. Это по настоящему скверно, ведь User — очень удобно имя для класса, не так ли?

Пространства имен позволяют нам обойти эту проблему, и мы можем создать столько классов User, сколько нам понадобится.Кроме того пространства имен позволят нам организовать код в удобные пакеты, а также обозначить свои права владения этим кодом.
Давайте взглянем на самый обычный класс...

Несколько интересностей и полезностей для веб-разработчика #11

Reading time3 min
Views36K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Node App



Вы когда нибудь задумывались о возможности писать приложения для iOS и OSX на Node.js? А проект, позволяющий решить эту задачу уже есть. Более того часть (хоть и маленькая) функционала доступна уже сейчас. Пишу о проекте с мыслями о том, что хабраобщество значимая единица социального коддинга…

Scala.js


Существует достаточно много разработчиков, предпочитающих создавать веб на Scala, но JavaScript остается самым популярным языком программирования. Видимо, поэтому на свет появился Scala.js — компилятор Scala в JavaScript с очень проработанной функциональной совместимостью.

Hackathon Starter



Замечательный boilerplate для Node.js проектов. Базовая регистрация через email, авторизация по OAuth (Twitter, Facebook, GitHub, Google), красивые уведомления на animate.css, автокомпиляция LESS, Bootstrap 3 + Flat UI + iOS7 Theme, контактная форма и стандартный функционал управления аккаунтом.

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

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity