Как стать автором
Обновить
0
0
Иванов Алексей @Lindemann66

Backend

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

Yii и мультиязычный сайт. Правильные URL и гибкость в работе

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

При написании одного проекта, возникла необходимость в организации мультиязычности на сайте. Причем количество языков не должно ограничиваться двумя и URL должны быть человеко-понятные и SEO оптимизированные. Тоесть ссылки на сайте должны быть вида:
http://mysupersite.ru/ru/contacts для русского языка
http://mysupersite.ru/en/contacts для английского языка
Так как опыт у меня не очень большой, я начал вопрошать гугл. Вариантов, как оказалось, достаточно много, однако из всех мне приглянулся один вариант, который я использовал и слегка модифицировал.
Итак, как сделать сайт мультиязычным...
Всего голосов 35: ↑29 и ↓6+23
Комментарии67

Архитектурный изьян CouchDB

Время на прочтение3 мин
Количество просмотров6K
Моя любимая тема в программировании — копаться в негативных эффектах, которые преподносят нам самые, на наш взгляд, тривиальные операции.

Один из таких вопросов — удаление записей в базе данных. Данная операция, по мнению большинства программистов, ускоряет работу с базой и делает её компактнее. Фокус состоит в том, что это неправда. И если с реляционными базами это неправда только отчасти, то с NoSQL это может быть полнейшим враньём.

Вот о такой проблеме в Apache CouchDB мы и поговорим далее.
Картинка в тему:

Читать дальше →
Всего голосов 85: ↑67 и ↓18+49
Комментарии57

Единая база расширений GNOME Shell

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

Все мы привыкли расширять функционал браузера с помощью дополнений. А разработчики GNOME предлагают нам то же самое делать и с графической оболочкой. Любой пользователь GNOME 3 может зайти на сайт https://extensions.gnome.org/ и установить себе любое понравившееся расширение. Для этого достаточно лишь кликнуть переключать, согласиться с установкой и перезапустить оболочку.
Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии18

Вставляем генератор кода в сборку qmake

Время на прочтение3 мин
Количество просмотров6.1K
Лень — двигатель прогресса. Работая в программировании уже второй десяток лет, я до сих пор согласен с этим тезисом. Но в каждой шутке, как известно, есть доля шутки.
В данной статье речь пойдет о том, как заставить компьютер писать рутинный код за вас. Причём максимально автоматизировать этот процесс и интегрировать со сборкой проекта. Во всём этом нам поможет qmake

Зачем это нужно

В текущем моем проекте возникла необходимость применить объектный подход при работе с данными, физически хранящимися в реляционной БД. Стало быть, ORM. Так уж вышло, что данный проект корпоративного сегмента разрабатывается на Qt. Да, хоть это и прекраснейший фреймворк, но не вполне подходящий под задачи программирования сложных корпоративных приложений. Тем не менее, выбор в пользу Qt был сделан по ряду весьма веских причин.
Итак, есть небольшая реляционная БД из примерно 100 таблиц. Необходимо написать тонкий пока слой бизнес-логики, который в перспективе будет обрастать жирком. Имеется описание структуры БД в XML.
Можно засучить рукава и за неделю написать 100 однотипных классов бизнес-логики. Написать многочисленные тесты, сравнивающие эти классы, XML-описание метаданных и саму структуру БД. Но, это не подход настоящего джедая! Действительно, ведь у нас уже есть все необходимое для описания прототипов классов бизнес-логики, просто нужно превратить .xml в .h.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии16

Список полезных инструментов для php разработчика

Время на прочтение10 мин
Количество просмотров148K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Всего голосов 214: ↑200 и ↓14+186
Комментарии131

Умение просчитывать

Время на прочтение5 мин
Количество просмотров48K
Существует разговорный глагол «просчитывать», что означает — моделировать в голове различные варианты развития события и последствия. Сегодня хочется поговорить об умении просчитывать ходы, и почему это является важнейшим умением в жизни.

Для начала небольшое введение. Не задумывались, почему многие великие люди любят шахматы? Почему Сергей Галицкий (миллиардер, с нуля построил сеть «Магнит»), говоря о важных для начинающих бизнесмена вещах, сказал в первую очередь о логике (кстати, в шахматах Сергей хорошо поднаторел в свое время). Почему о той же логики говорит известный блоггер Фриц Морген. А выдающий бизнесмен Дмитрий Потапенко, рассказывая о том, как ему удалось построить свои сети магазинов и ресторах, при моделировании бизнес-процессов предлагает пользоваться блок-схемами алгоритмов из восьмого класса?

Потому что они умеют раскладывать задачи в голове на несколько итераций, несколько шагов.
Читать дальше →
Всего голосов 47: ↑36 и ↓11+25
Комментарии34

Обзор свежих материалов, январь-февраль 2012

Время на прочтение12 мин
Количество просмотров1.9K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-декабрь 2011.


Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии9

Nette PHP Framework: первое знакомство

Время на прочтение3 мин
Количество просмотров11K
Логотип фреймворка Nette Было очень приятно совершенно случайно обнаружить сайт этого фреймворка во второй половине рабочего дня. Новые фреймворки появляются редко, а тем более редко попадаются механизмы, которые нравятся с первого взгляда. На Хабре описания Nette я не нашел, поэтому поспешил поделиться своей находкой с Вами.

Во-первых, мне сразу приглянулось название. Nette. Это почти как Latte. Только Nette. Как оказалось позднее, есть и Latte — собственный встроенный подающий надежды шаблонизатор. Ого.
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии81

JUST — JavaScript шаблонизатор

Время на прочтение7 мин
Количество просмотров21K
Во время разработки своего экспериментального WEB-проекта на Node.JS, о котором я рассказал в двух предыдущих статьях, я столкнулся с проблемой выбора шаблонизатора. Несмотря на то, что готовых решений существует довольно много, мне не удалось найти то, которое бы удовлетворяло меня на 100%. Так родился JUST.

Конкуренты


Jade
github.com/visionmedia/jade

Этот шаблонизатор достаточно популярен среди Node.JS разработчиков. Он обладает хорошим функционалом и скоростью работы, но содержит и спорные моменты:
  1. Отказ от использования тегов в том месте, для которого они, собственно, и были придуманы. С таким подходом я, мягко говоря, не согласен. Конечно, это очень субъективно, но вид разметки страницы без привычных тегов, взрывает мозг. Верстальщик, далёкий от новомодных технологий шаблонизации, не скажет спасибо, если ему придётся вносить изменения в такой код. Также потребуется дополнительная работа при перенесении вёрстки в шаблоны, что замедлит ход разработки.
  2. Перегруженность функционалом. Любой разработчик старается сделать свой продукт максимально универсальным, но иногда нужно уметь вовремя остановиться. На мой взгляд, Jade уже перешёл эту грань.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии124

Debugging PHP applications with xdebug

Время на прочтение8 мин
Количество просмотров45K
Добро пожаловать на 4 часть повествования о xdebug. Сегодня мы попытаемся разобраться в отладке PHP кода с помощью xdebug. В данной статье мы полагаем, что вы уже давно установили xdebug на вашу систему, если нет первая статья серии опишет вам как это сделать.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии30

Начала отладки и профилирования веб-приложений

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

Вступление


Много существует статей на Хабре, описывающих интересные и сложные аспекты веб-разработки, но много существует читателей, которые, находясь в начале своей карьеры веб-разработчика, хотели бы видеть материал, который позволил бы сделать первый шаг от «PHP за 24 часа» до разработки на серьезном уровне, и я хотел бы поделиться своим опытом в этом деле.

Особенности веб-приложения делают его разделенным на две части: клиентскую и серверную. На стороне клиента работает код на JavaScript (может быть, где-то можно найти и VBScript, но мы, пожалуй, не будем рассматривать этот случай), на серверной же — много что, в принципе, но мы рассмотрим PHP, наиболее популярный язык для серверной части веб-приложений. Так же интересно было бы поговорить об отладке и профилировании Flash-приложений на клиентской стороне, но затронутая тема и так обширна, так что пока оставим это.

Так же можно отнести к задачам отладки клиентского кода анализ и валидацию HTML кода. Это, вроде бы, задача не совсем из области программирования, но также немаловажная.

Некоторые части рассмотренных задач уже рассматривались в других статьях, и я предоставил на них ссылки.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии26

Золотые правила успешной кнопки

Время на прочтение3 мин
Количество просмотров71K
Здравствуй, дорогой хабрадруг! Сегодня существуют более тысячи способов создать кнопку; чтобы понять их сущность, вам нужно лишь потратить немного времени, просмотрев работы на сайте dribbble.com. Большинство из этих примеров очень похожи друг на друга, однако время от времени попадаются и такие кнопки, на создание которых потратили чуть больше внимания, времени и сил.



Воспользовавшись замечательными параметрами CSS3, мы можем создать элегантые и стильные кнопки без особых усилий (учитывая старые браузеры, конечно). Создаете ли вы кнопку непосредственно в CSS или пользуетесь специальными инструментами для их создания, всегда нужно тщательно подумать о том, как ваша кнопка будет выглядеть в контексте веб-сайта.
Читать дальше →
Всего голосов 224: ↑215 и ↓9+206
Комментарии55

Самый большой в мире класс по изучению jQuery

Время на прочтение2 мин
Количество просмотров4.9K
Доброго времени суток!

Не так давно я опубликовал статью о наборе учеников для ознакомления с прекрасным скринкастом под названием Learn jQuery in 30 Days, который недавно удачно преодолел отметку в 40000 учеников.
Если вы по какой-либо причине (например, отсутствие свободного времени) не смогли ознакомиться со скринкастом, то не стоит волноваться, так как после того, как будет опубликован последний урок, курс продолжит своё существование и вы сможете начать обучение в удобное для вас время.
На данный момент количество учеников составляет 41358 человек. Спешите к ним присоединиться. Чтобы сделать это, вам необходимо оставить адрес своей электронной почты на странице курса Learn jQuery in 30 Days.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии39

Qt для Android (Necessitas Framework) – действительно ли это работает?

Время на прочтение3 мин
Количество просмотров28K
Этот пост участвует в конкурсе «Умные телефоны за умные посты».

Так получилось, что у меня есть кое-какой опыт разработки приложений под Qt, а недавно появился коммуникатор на Android. Узнав о том, что существует проект Necessitas (раньше он называвался Android-Lighthouse), захотелось проверить возможность запуска Qt приложений под Android на практике.



Читать дальше →
Всего голосов 63: ↑44 и ↓19+25
Комментарии32

Вам не страшно открывать редактор?

Время на прочтение13 мин
Количество просмотров3.1K
В какой-то момент я стал замечать, что пишу более качественный: оптимальный, логичный и читаемый код, но пишу его медленно. По крайней мере, куда медленнее, чем лет 15 назад. Да, на старый код без слёз не взглянешь: всё можно сделать оптимальнее и, по крайней мере, читабельнее. Но код был написан быстро.

Проблема в контроле. Я стал жестче и глубже контролировать код и… стал тратить на этот контроль слишком много ресурсов.

Основной принцип прост. Если контролю подлежит 10-20% случаев, то на контроль надо тратить… 0% ресурсов. Баги и переписывания всё равно будут. Но лучше разделить кодирование и отладку и на время кодирования об ошибках вообще забыть.
Читать дальше →
Всего голосов 171: ↑128 и ↓43+85
Комментарии115

UTF-8: Кодирование и декодирование

Время на прочтение3 мин
Количество просмотров213K
Причиной разобраться в том, как же работает UTF-8 и что такое Юникод заставил тот факт, что VBScript не имеет встроенных функций работы с UTF-8. А так как ничего рабочего не нашел, то пришлось писть/дописывать самому. Опыт на мой взгляд полезный в любом случае. Для лучшего понимания начну с теории.

О Юникоде


До появления Юникода широко использовались 8-битные кодировки, главные минусы которых очевидны:
Читать дальше →
Всего голосов 47: ↑37 и ↓10+27
Комментарии25

Попытка просто объяснить сложные, для новичков, вещи в javascript

Время на прочтение8 мин
Количество просмотров24K
Я попытаюсь просто объяснить, как работают замыкания в Javascript, как работает this, как создавать конструкторы для своих классов и чем различаются различные подходы к их созданию.
Статья не претендует на новаторство, но достаточно доступные объяснения how it works для новичков я не видел, и на мой взгляд — это три самых узких места в Javascript (не привязанному к какому либо контексту, серверу или браузеру, например).
Читать дальше →
Всего голосов 82: ↑73 и ↓9+64
Комментарии34
12 ...
8

Информация

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