Как стать автором
Обновить
1
0
Nook Scheel @inook

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

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

Хочешь быть iOS разработчиком? Будь им!

Время на прочтение2 мин
Количество просмотров388K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

Читать дальше →
Всего голосов 234: ↑222 и ↓12+210
Комментарии38

Принцип «уверенности» высококачественного веб-дизайна

Время на прочтение10 мин
Количество просмотров21K
Краткий синопсис

Доброго времени суток, уважаемые Хабрапользователи. Я довольно давно наблюдаю за различными постами Хабра, касающихся веб-дизайна, да и дизайна в целом. Чаще всего смысл таких постов сводится к очень подробным описаниям отдельных элементов сайта и их различным вариантам — в этом нет ничего плохого, но, мне кажется, этой теме чего-то не хватает: а именно, освещения более общих и всем понятных принципов высококачественного дизайна, которыми мог бы воспользоваться любой пользователь, даже не владеющий соответствующим профилем. В этой статье речь пойдет об одном из таких основополагающих принципов.

image

Под катом примерно 1.1 Мб трафика.
Читать дальше →
Всего голосов 70: ↑58 и ↓12+46
Комментарии30

Terraria: или пишите игры правильно

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


Привет, дорогой хабрапользователь!

Надеюсь, все хотя бы раз играли в такую замечательную игрушку, как Terraria, ведь сегодня речь пойдет о ней и о том, как не стоит писать игры с точки зрения безопасности. Если интересно — добро пожаловать под хабракат!
Читать дальше →
Всего голосов 124: ↑101 и ↓23+78
Комментарии77

HTML5 History API уже сегодня и без ограничений

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

Библиотека для работы HTML5 History API


Изначально этот проект был задуман добавить поддержку HTML5 History API в старые HTML4 браузеры. Первые версии библиотеки были нацелены именно на эти потребности, но с учетом прошедшего времени и пожеланий многоуважаемых разработчиков использующих эту библиотеку, она выросла до уровня того, что выполняет некие промежуточные действия по добавлению/исправлению того функционала что описаны в спецификациях по интерфейсу History.

На сегодняшний день библиотеку я могу смело назвать, на мой взгляд, полноценно законченной. Конечно же, ошибкам в работе библиотеки думаю, место будет, тестировалась библиотека мною в разных условиях и браузерах, но как вы понимаете, все не уловишь, да что-то упустишь. И так давайте приступим к описанию возможностей и тонкостей библиотеки.
Читать дальше →
Всего голосов 85: ↑84 и ↓1+83
Комментарии49

Правильный хостинг для MODx своими руками

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

Топик рассказывает о настройке быстрого и недорогого хостинга для MODx Revolution. В принципе, вещи тут описаны общие, так что информация подойдет для любой CMS. Позже была смонтирована и видеоверсия этой инструкции.

На всякий случай, приложу видео, как должна работать админка MODx Revo.

Для быстрой и комфортной работы желательно:
  • Быстрый браузер — Google Chrome. Админка Revo работает в нем молниеносно
  • Хороший интернет-канал. Тут без вариантов, нужно всем и всегда.
  • Качественный хостинг — про него и пишу.


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

Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии113

Создаем собственный фреймворк на основе Symfony2. (Часть 3)

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

Оглавление





До сих пор наше приложение было довольно простым, поскольку содержало только одну страницу.
Что бы немного все усложнить, добавим другую страницу, говорящую «goodbye»:
    <?php

    // framework/bye.php

    require_once __DIR__.'/autoload.php';

    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\HttpFoundation\Response;

    $request = Request::createFromGlobals();

    $response = new Response('Goodbye!');
    $response->send();

Как видите, большая часть кода точно такая же как и для первой страницы.
Давайте отдельно выделим общий код для всех наших страниц.
«Выделение общего кода», звучит как отличный план для нашего первого «настоящего» фреймворка!
Читать дальше →
Всего голосов 22: ↑15 и ↓7+8
Комментарии8

Создаем собственный фреймворк на основе Symfony2. (Часть 1)

Время на прочтение4 мин
Количество просмотров19K
Оглавление


Symfony2 это набор автономных, многократно используемых библиотек, не завязанных на друг-друге, которые решают часто встречающиеся задачи в веб-разработке.

Вместо того что бы использовать низкоуровневые компоненты, вы можете использовать полномасштабный фреймворк который базируется на этих компонентах — Symfony2… Или, вы можете написать свой собственный. Эта серия статей о последнем.

Зачем вам нужен собственный фреймворк? (Why would you like to create your own framework?)



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

  1. Что бы изучить низкоуровневую архитектуру современных веб-ориентированных фреймворков, в частности Symfony2 и ее компонентов.
  2. Что бы создать фремворк «под ключ» для ваших специфических нужд. (Только прежде убедитесь, что ваши нужды действительно специфические)
  3. Для эксперимента ради удовольствия ( научился и забил )
  4. Для рефакторинга уже существующих приложений, которые нуждаются в более современных и устоявшихся практических решениях.
  5. Что бы доказать что вы это можете (… пусть и с небольшой помощью)

Читать дальше →
Всего голосов 32: ↑20 и ↓12+8
Комментарии29

Создаем собственный фреймворк на основе Symfony2. (Часть 2)

Время на прочтение6 мин
Количество просмотров7.5K
Оглавление

Часть 1
Часть 2
Часть 3
Часть 4
Часть 5

Прежде чем мы углубимся в рефакторинг кода, я сначала хочу сделать шаг назад и взглянуть на то, почему вы хотели бы использовать фреймворк вместо того, чтобы писать ваше приложение на чистом PHP. Почему использовать фреймворк на самом деле хорошая идея, даже для простейшего фрагмента кода, и почему создание собственного фреймворка на основе компонентов Symfony2 лучше, чем создавать фреймворк с нуля.
  • Я не буду говорить об очевидных преимуществах использования фреймворков при работе с большими приложениями и с более чем несколькими разработчиками; в сети уже множество хороших ресурсов по этой теме.

Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии5

Kinetic ScrollBar

Время на прочтение4 мин
Количество просмотров14K
Эффект кинетической прокрутки сейчас можно встретить практически везде. Это действительно удобно при управлении пальцами или стилусом и довольно забавно при прокрутке мышкой.

В вебе такой эффект пока только приживается. Да и не так уж просто придумать, где он будет удобен… В голову приходят пожалуй лишь scroll bar’ы, которые используются для прокрутки некоторого контента, в основном картинок, внутри страницы. Для примера, можно посмотреть реализацию галереи практически на любом сайте. Согласитесь, было бы значительно интереснее, если бы ползунок не останавливался сразу, как только отпустили кнопку мыши, а продолжал бы двигаться дальше по инерции, постепенно останавливаясь…
Я попытаюсь рассмотреть процесс создания такого эффекта «кинетического» scroll bar’a. Что получилось в итоге можно посмотреть здесь
Читать дальше →
Всего голосов 28: ↑21 и ↓7+14
Комментарии20

Underscore.js — библиотека, которая так хороша, что должна быть вне закона

Время на прочтение3 мин
Количество просмотров50K
Каждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
Go ahead, make my day
Всего голосов 177: ↑163 и ↓14+149
Комментарии51

Pathogen. Организуем плагины

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

Проблема


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

Решение


Pathogen позволяет устанавливать плагины в отдельные директории совершенно прозрачно для вима, причем плагины размещенные «по-старому» продолжат работать (например коллекция цветовых схем).

Пример директорий на рабочей машине:
$ ls ~/.vim/bundle/
eclim          nerdtree             vim-align     vim-haml      vim-ruby           vim-vividchalk
gist           PreciseJump          VimCalc       vim-markdown  vim-ruby-debugger  wombat256mod
IndexedSearch  snipmate.vim         vim-cucumber  vim-rails     vim-shoulda
jquery         SuperTab-continued.  vim-fugitive  vim-repeat    vim-surround
matchit.zip    textile.vim          vim-git       Vim-R-plugin  vim-tcomment

Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии23

Окна и буферы

Время на прочтение2 мин
Количество просмотров45K
В vim 7 появились табы — привычный способ навигации по файлам. Когда я работал в eclipse я не раз замечал, что часто скакать между табами не удобно, а знакомство с буферами в emacs натолкнуло на прочтение документации по окнам/буферам в vim.

Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии34

Эффективное использование Vim

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

Введение


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

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

Эта статья также не является tutorial’ом для начинающих пользователей Vim, хотя и им (а также пользователям Emacs) может быть интересна, поскольку некоторые упоминаемые принципы являются достаточно общими и действуют не только в системах редактирования текстов, а вообще везде, где идет речь об использовании компьютера для редактирования чего-либо. Тем не менее, я предполагаю, что читатель знаком с основными концепциями, применяемыми в Vim (режимы, регистры, буфера, команды) и не останавливаюсь на их подробном описании.

По умолчанию Vim настроен очень старомодно, и эта настройка подразумевает, что пользователь при работе с текстом будет мыслить метафорами пятидесятилетней давности, как будто бы сейчас заря эпохи UNIX. Однако дизайн Vim позволяет сделать несколько настроек, после которых система станет выглядеть вполне прилично и станет работать весьма эффективно, сочетая в себе полезные черты и древних юниксовых инструментов работы с текстом, и современных WYSIWIG-процессоров, при этом обходя, насколько это возможно, присущие им недостатки. Вот об этих настройках и приемах их использования и пойдет речь.
Читать дальше →
Всего голосов 141: ↑128 и ↓13+115
Комментарии67
12 ...
10

Информация

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