Search
Write a publication
Pull to refresh
20
0
Send message

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

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

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

Codeigniter: делаем сессии наконец стабильными (прежде всего для авторизаций)

Reading time2 min
Views15K
Сессии в Codeigniter хороши всем. Правда, очень удобно сделаны, особенно когда вы храните сессии в БД (что я считаю единственно верным). Куки шифрованные, в куках ничего, кроме идентификатора нету. Они привязываются к user_agent и, опционально, к IP. Красиво, безопасно.

Но есть у них очень существенный недостаток: жизнь сессии считается от поля last_activity. Это значит, что если у вас стоит expire сессии в двое суток, то при обращении к сессии, у которой last_activity < time()-172800, она ликвидируется и начинется новая. Следственно, для того что бы пользователям не приходилось каждый раз логиниться на сайт, last_activity нужно поддерживать в акутальном состоянии.
Поле last_activity обновляется в двух случаях: когда вы записываете что-то новое в сессию, либо когда сессия обновляется (по-умолчанию каждые 5 минут, опять же, относительно last_activity; указывается в конфиге). И вот главная проблема в том, что при обновлении сессии меняется session_id и текущая сессия у пользователя сессия прерывается, стартует новая.

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

Проблема «животрепещущая», о ней часто вспоминают на форумах Codeigniter, но толкового решения там нигде я так и не увидел.

Но голь, как известно, на выдумки хитра, поэтому простое решение таки нашлось.
Читать дальше →

Backend в проекте на Yii

Reading time4 min
Views13K
В сети очень мало информации по созданию административных страничек в приложениях и наверно каждый использует свои решения. Именно сейчас хотел бы рассказать к чему я дошел за пол года разработки сайтов на Yii (статья только для тех, кто разбирается во фремворке).
Читать дальше →

Yii 1.1 Application Development Cookbook, финальная версия и процесс

Reading time3 min
Views4.6K
Вот и вышел мой англоязычный сборник рецептов по фреймворку Yii.

image

Сначала я немного расскажу про книгу, а потом попробую описать процесс её создания.
Читать дальше →

Tactoom.com изнутри — социальная блог-платформа на NodeJS/NoSQL

Reading time7 min
Views6.5K
Tactoom.com - under the hoodИтак, пришло время раскрыть некоторые карты и рассказать о том, как устроен Tactoom изнутри.

В этой статье я расскажу о разработке и выведении в production веб-сервиса с использованием:
NodeJS (fibers), MongoDB, Redis, ElasticSearch, Capistrano, Rackspace.
Читать дальше →

Общая статистика независимого разработчика — Johnny-K (продолжение)

Reading time6 min
Views4.8K

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

Имена людей и интерфейс

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

image

Заинтересованная аудитория: авторы HTML-контента, разработчики скриптов серверных приложений (PHP, JSP и т.д.), менеджеры веб-проектов и любые другие люди, так или иначе связанные с дизайном форм ввода данных, дизайна баз данных и онтологий, которые затрагивают личные имена людей.

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

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

Пещерные технологии будущего

Reading time7 min
Views2.7K
Никогда не обращали внимание, как часто старые интерфейсы, старый код и вообще старые решения выглядят странными и уродливыми? Причём всё это может стать старым за считанные годы. Когда приходится очень быстро бежать только, чтобы оставаться на месте, возникает желание как-нибудь срезать, заглянуть немного в будущее, перепрыгнуть через пару пунктов.

Давайте попробуем. Для этого нам необходимо понять по каким принципам идет развитие: внимательно рассмотреть те пещерные технологии, что мы использовали пару лет назад и то, как они превращались в “технологии будущего”, что мы используем сегодня.
Читать дальше →

Базовая архитектура веб-приложения на Backbone.js

Reading time2 min
Views22K
Разработчики часто просят рассказать о моём опыте использования Backbone.
Многие слышали об этом MVC-фреймворке, смотрели примеры и документацию, но не решаются начать с ним работать. Поэтому вчера я сделал мини-доклад на встрече MoscowJS, призванный рассказать о том, как мы построили базовую архитектуру и какие получили плюсы. И сегодня в этой статье я публикую слайды, схемы и краткое описание.


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

Node.js — раковая опухоль

Reading time5 min
Views136K
Если и есть что-то, что веб-разработчики любят, так это знать что-то, что лучше традиционного. Но традиционное является таковым по одной причине: это дерьмо работает. Что-то давно беспокоило меня во всей этой шумихе вокруг Node.js, но у меня не было времени разобраться, что именно, пока я не прочитал полный боли в жопе пост от Райана Дала, создателя Node.js. Я бы забыл его, как любое очередное нытьё какого-то осла о том, что Unix слишком сложен. Но, как полицейскому, который, жопой чуя, что что-то не так с этой семьёй в микроавтобусе, останавливает его и находит пятьдесят килограммов героина, мне показалось, что что-то не так с этой слезливой историей, и возможно, просто возможно, он понятия не имеет, что делает, и много лет программирует, никем не контролируемый.

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

Проблема «maximum-subarray» на примере курса доллара

Reading time3 min
Views7.2K

В чём суть


В статье предлагается найти промежуток дат, за который можно было заработать больше всего на разнице в курсе доллара к рублю за последние 5 лет.
image
На русском языке наименование проблемы будет звучать примерно как максимальная сумма элементов подмассива в массиве. В статье приведен алгоритм вычислений, а так же результат его работы.
Читать дальше →

Классифицируем фирменные стили

Reading time3 min
Views3.9K
imageМногие компании, занимающиеся веб-разработкой, предоставляют услуги создания логотипа и фирменного стиля. Мы тоже. Может быть такая расфокусировка не очень верна, но это в любом случае удобно для заказчиков. К тому же, для IT-компаний сайт выступает в роли основного носителя фирменного стиля, и при его отсутствии работы приходится начинать именно со стиля.

Нам вообще не нравится словосочетание «фирменный стиль» — оно ничего толком не означает. Точнее означает, но все время что-то разное. Наверное, больше ни с одним термином нет такой неразберихи.

Мы разделили этот вид работ на 4 направления — называются они у нас совсем по-другому и соответствуют вполне конкретным задачам наших заказчиков. Нам показалось, что такая классификация может пригодиться другим компаниям, как разработчикам, так и заказчикам.

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

Учимся писать userscript'ы

Reading time7 min
Views294K
Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).

В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!

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

Дневник репатриантов часть 2: Как привлечь инвестиции в стартап, не имея связей и опыта

Reading time6 min
Views2.4K
В прошлом посте мы писали о том, как Островок.ru привлёк инвестиции размером 1 млн долларов от лучших инвесторов всего за 6 недель, имея только идею.

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

Мы очень хотим помогать развитию локальной предпринимательской экосистемы и этот пост — попытка рассказать о том, как запускать проекты не имея ничего, кроме желания.
image
Читать дальше →

Маленькие да удаленькие — 3 библиотеки JavaScript на всякий случай

Reading time2 min
Views4.1K
Прочитал пост про Kerning.js — небольшую js-библиотеку, можно даже сказать утилиту, для реализации чудес типографики на веб-страницах. И вспомнил, что пользовал не так давно нечто подобное — библиотеку Lettering.js.

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

Итак, Lettering.js — помощник «радикального» веб-типографа, Cryptico.js — помощник Штирлица и Rasta.js — такой простой ajax get/set помощник. Далее ссылки на сайты разработчиков этих библиотек и инструкций по их использованию.
Читать дальше →

17 простых советов для повышения продуктивности

Reading time3 min
Views33K
Эти советы — не очередная компиляция из книг и блогов, посвященных продуктивности. Каждый совет основан на моём личном опыте. На каждый совет я мог бы дать гарантию, если бы гарантия на советы была возможна в принципе.

Вступление окончено, переходим к советам!
Читать дальше →

Разработка флеш игры «King of the rocks»

Reading time9 min
Views5.3K
Прочитав несколько статей о том как наши соотечественники делают флеш игры, да ещё и неплохо зарабатывают на этом я решил во чтобы-то ни стало сделать свою игру. И непременно заработать с её продажи как минимум 1000$. Успех в этом деле значил для меня очень многое. Я всю жизнь хотел делать игры и вот сейчас я был готов и уверен в успехе на все 100%. Это история разработки моей первой флеш игры King of the Rocks


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

Shortики месяц спустя, или как же на самом деле выглядит Хабраэффект

Reading time5 min
Views3.2K
The Intro



Прошел ровно месяц с того дня, как мы представили на Хабре проект «Шортики» — короткие и смешные. За месяц своего существования, сайт превратился из случайной поделки в крупный развлекательный ресурс с большой посещаемостью, требующий ежедневного обновления. Однако в прошлом посте я кое-что не упомянул…

Сайт «Shortики» появился за пару дней до поста на Хабр. Сайт не раскручивался никаким образом, для него не покупалась реклама, я почти никому о нем не рассказывал. Единственное упоминание о сайте в сети — было на Хабре. Цель эксперимента была в том, чтобы выяснить, какое же влияние имеет пресловутый Хабраэффект на сайт. Причем не только непосредственное влияние (переходы из поста), а долгосрочное, косвенное влияние — эффект сарафанного радио, ссылки, упоминания в СМИ и прочее. Забегая вперед, скажу что эксперимент удался — под катом любопытных ожидает статистика, графики и много другой интересной информации о явлении, называемом Хабраэффектом.

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

Скрипт резервного копирования через rsync

Reading time3 min
Views28K
Возникла необходимость как-то и куда-то бэкапится. Причём чтобы процессоры не грузились и место не занималось, а бэкапы ротэйтились и удобно доставались. Раньше всегда пользовался fsbackup, но захотелось отказаться от архивирования. Для решения задачи была использована rsync и механизм жёстких ссылок (так называемых хардлинков) файловой системы.

Архитектура: есть отдельно стоящий сервер с большим винтом — на нём и работает скрипт. Есть много разных серверов с доступом по ssh, на которых в ~/.ssh/authorized_keys добавлен публичный ключ пользователя, под которым работает скрипт резервного копирования.
Читать дальше →

10 примеров меню для web страниц

Reading time1 min
Views19K
image Эти способы не являются ноу-хау или чем-то в этом духе. Тем не менее, они могут помочь начинающим дизайнерам и web технологам в реализации задуманных ими идей. Каждый из предложенных вариантов можно обыграть по-своему.

Проверял лично и убедился в том, что исправно работает под следующими браузерами:

IE7+, Opera 10.5+, FF 3.6+, Chrome 12+ (linux), Chrome 13+ (windows), Safari 5+(win) исходя из личного опыта, предполагаю о том, что работать исправно будет во всех свежих версиях Safari, FireFox, Opera и Chrome.

С помощью CSS можно построить вот такие вот симпатичные варианты:


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

Information

Rating
Does not participate
Location
Израиль
Registered
Activity