Pull to refresh
0
0
gigigi @gigigi

User

Send message

Haven and hearth

Reading time4 min
Views3.2K
Не обнаружив статьи про сей шедевр, я решил восполнить информационный вакуум.

Что такое есть этот Haven and hearth


Haven and hearth это бесплатная mmorpg (не условно бесплатная, а бесплатная, внесение денежных средств может быть только в безвозмездных целях и ничего не даёт) с приятной pixel'ной графикой (за исключением анимации животных, она веселит и ужасает), написанная на яве.
Читать дальше →
Total votes 81: ↑67 and ↓14+53
Comments66

Разговорный английский за месяц

Reading time5 min
Views21K
Перепечатано с моего ЖЖ.

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

Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments220

Quake III & Simpsons

Reading time1 min
Views1.3K
На Хабре наверняка есть большое количество людей, у кого слова Квейк и Симпсоны однозначно вызывают заинтересованность.

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


Скачать карту, 15 мб.
Читать дальше →
Total votes 107: ↑98 and ↓9+89
Comments105

Редактор цветовых схем для SublimeText 2

Reading time1 min
Views17K
В середине октября 2012 года Allen Bargi (aziz) обратил своё внимание на Angular.js и работу новых HTML5 API-интерфейсов для работы с файлами в Chrome. Эксперимент затянулся и разросся в замечательный проект — TMTheme Editor. Являясь on-line приложением, редактор TMTheme позволяет создавать и редактировать визуальные темы для популярного нынче SublimeText, так же поддерживается совместимый по темам Textmate и другие редакторы.

Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments8

Миграция на Grunt v0.4

Reading time5 min
Views9K

Предисловие


18 февраля вышел релиз Grunt v0.4.0, с чем всех и поздравляю. Если вы еще не знакомы с Грантом — прошу пройти на официальный сайт или почитать ознакомительную статью на Хабре. Вкратце, Грант позволяет автоматизировать склеивание и минификацию js-файлов, запуск тестов, проверку кода с помощью JSHint и многое другое.

Данная статья — история миграции одного приложения с Гранта v0.3.9 на вышедшую v0.4.0. Версии несовместимы и переезд оказался не таким простым делом, как я изначально предполагал. Полная инструкция по миграции на английском находится здесь, она подробнее чем мое описание.

Зачем я использую Grunt


Как любому ленивому frontend-разработчику, мне нужен был инструмент, который автоматизирует рутинные задачи, позволяя сосредоточиться непосредственно на разработке. Так я нашел Грант, который делал за меня следующее:

  • компиляция stylus в css;
  • склеивание js-файлов;
  • проверка JavaScript линтером;
  • минификация склеенных js-файлов;
  • запуск unit-тестов (qUnit);
  • отслеживание изменений исходных файлов и автоматический перезапуск вышеперечисленных задач.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments13

Адаптивные колонки

Reading time2 min
Views32K
При создании колонок обычно приходится применять специальные CSS-классы к первому и последнему элементу. В этой статье рассказано о небольшом трюке, который упрощает верстку колонок, а также делает их адаптивными.

Суть метода сводится к использованию псевдокласса nth-of-type: количество и ширина колонок меняется на экранах разных размеров (Демонстрация).

Недостатки использования классов для первого и последнего элементов


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

Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments35

Yate: Яндекс.Почта перешла на новый шаблонизатор

Reading time5 min
Views63K
imageНекоторое время назад мы писали, что в Яндекс.Почте появился новый интерфейс, в котором используется шаблонизация данных в браузере. Немногие крупные сервисы отваживались на это, но мы и сейчас считаем такое решение наиболее удачным. Оно не только ускорило работу интерфейса, но и позволяет экономить трафик пользователя и эффективнее расходовать процессорное время серверов.

Тогда в качестве шаблонизатора мы использовали XSL, а данные передавали в формате XML. Переведя проект на новый интерфейс, мы начали искать другие способы ускорения работы интерфейса Яндекс.Почты.

Недавно мы перевели всю Почту на JS-шаблонизатор и JSON-данные.
И вот как это проходило
Total votes 173: ↑159 and ↓14+145
Comments185

Сервис для создания планировок помещений и интерьеров

Reading time4 min
Views58K


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

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

Что из этого вышло
Total votes 165: ↑159 and ↓6+153
Comments176

Изучить Github за 15 минут

Reading time1 min
Views127K
TryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.



Вот таким в будущем должно стать обучение в школах!

Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.
Total votes 173: ↑155 and ↓18+137
Comments56

Клавиатурные сокращения с Javascript

Reading time1 min
Views1.9K
Mousetrap — маленькая библиотека (1.4 KB) для обработки клавиатурных нажатий.

// single keys
Mousetrap.bind('4', function() { highlight(2); });
Mousetrap.bind("$", function() { highlight(3); }, 'keydown');
Mousetrap.bind('x', function() { highlight(4); }, 'keyup');

// combinations
Mousetrap.bind('command+shift+K', function() { highlight(7); });
Mousetrap.bind(['command+k', 'ctrl+k'], function() { highlight(8); });

// gmail style sequences
Mousetrap.bind('g i', function() { highlight(11); });
Mousetrap.bind('* a', function() { highlight(12)});

// konami code!
Mousetrap.bind('up up down down left right left right b a enter', function() {
    highlight([15, 16, 17]);
});

Как видно, поддерживаются как одиночные нажатия, так и сочетания и клавиатурные комбо.

Работает в Internet Explorer 6+, Safari, Firefox, Chrome (с включенным Vimium не работает).

Пробуйте — craig.is/killing/mice
Total votes 58: ↑55 and ↓3+52
Comments28

Torque — JavaScript-интерфейс для BitTorrent

Reading time1 min
Views2.5K
Вчера разработчики протокола BitTorrent анонсировали новый инструмент, предназначенный для встраивания возможностей P2P-клиентов в браузер.

Открытый проект BitTorrent Torque находится в стадии альфа-версии и представляет из себя набор JavaScript-библиотек для доступа к возможностям Torque-плагина (сейчас доступен OneClick для Chrome). Загруженный плагин позволяет реализовать ряд возможностей (большинство из них пока недоступны на странице проекта), помимо, собственно, загрузки файлов, таких как видео-стриминг контента, доступ к устройству, манипуляция торрент-файлами, видео и аудио кодирование медиа-контента.
Узнать подробности
Total votes 15: ↑13 and ↓2+11
Comments2

Защита для NGINX — NAXSI

Reading time3 min
Views37K

Что такое NAXSI ?


NAXSI = NGINX ANTI XSS & SQL INJECTION
Проще говоря, это файрвол веб-приложений (WAF) для NGINX, помогающий в защите от XSS, SQL-инъекций, CSRF, Local & Remote file inclusions.
Отличительными особенностями его являются быстрота работы и простота настройки. Это делает его хорошей альтернативой например mod_security и апачу.

Зачем нужен NAXSI ?

Очевидно, лучше всего защищаться от вышеперечисленных атак правильно написанным кодом. Но есть ситуации, когда WAF (и в частности naxsi), поможет:
  • Низкое качество кода сайта, при отсутствии возможности/ресурсов все выкинуть и переписать нормально.
  • “Закрытый” код, в котором невозможно исправить ошибки.
  • Неизвестное качество кода в важном для бизнеса участке.


Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments60

Фоторепортаж с выставки Consumer Electronics & Photo Expo 12

Reading time2 min
Views123K
На прошлой неделе в Москве прошла выставка Consumer Electronics & Photo Expo 12 (CEPE), также известная как Фотофорум. Мне повезло побывать в столице нашей Родины и вживую посмотреть огромное количество полуголых девушек новинок мира техники.



Сначала я занудно перечислю участников, покажу фотки стендов, а потом перейдем к сладкому (надо же мне за CeBit исправляться).

ВНИМАНИЕ! ТРАФИК! ЖЕНЩИНЫ! Под катом много фотографий и большинство из них с прекрасными барышнями.

Читать дальше →
Total votes 146: ↑106 and ↓40+66
Comments118

Подсветка синтаксиса и другие плюшки для phpmyadmin

Reading time1 min
Views1.2K
Стандартному окну выполнения запросов в phpmyadmin не хватает нескольких фич:
  • подсветки синтаксиса — сразу видно опечатку
  • отправка формы по <ctrl>+<enter>
  • исполнение только выделенного текста, а не всего содержимого окна — жить без этого не могу после того как увидел SQL Developer от Оракла
Можно было бы «вшить» этот функционал в исходники самого phpmyadmin, но не везде есть доступ, да и серверов больше трех. Поэтому, решил оформить в виде плагина для Google Chrome.


Скачать из Chrome Web Store

Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments30

Почему стоит пользоваться PDO для работы с базой данных

Reading time9 min
Views323K

Перевод статьи Why you Should be using PHP’s PDO for Database Access.

Множество PHP-разработчиков привыкли использовать для работы с базами данных расширения mysql и mysqli. Но с версии 5.1 в PHP существует более удобный способ — PHP Data Objects. Этот класс, сокращенно именуемый PDO, предоставляет методы для работы с объектами и prepared statements, которые заметно повысят вашу продуктивность!

Введение в PDO


«PDO – PHP Data Objects – это прослойка, которая предлагает универсальный способ работы с несколькими базами данных.»

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

Эта статья написана для людей, которые пользуются mysql и mysqli, чтобы помочь им в переходе на более мощный и гибкий PDO.
Читать дальше →
Total votes 127: ↑115 and ↓12+103
Comments165

История настройки беспроводного IPTV по Wi-Fi

Reading time4 min
Views152K

Желание просмотра iptv по wi-fi возникла одновременно с приобретением ноутбука. Поскольку мой провайдер транслирует некодированый сигнал, то нужда в приставке отпадала, и для реализации желания требовался только раутер, способный «показывать» iptv. После недолгих мучений выбор пал на ZyXEL nbg460n, который должен был удовлетворить все возникшие потребности, при этом мною, человеком неискушенным в этих вопросах, предполагалось, что iptv само собою будет раздаваться и по wi-fi, но как раз с этим возникла проблема.
Читать дальше →
Total votes 52: ↑40 and ↓12+28
Comments69

JavaScript Gaming: Часть 1. Box2d и основы Физики

Reading time28 min
Views23K


Вместо предисловия.


Я всегда любил и буду любить компьютерные игры. Есть в них какая-то своя внутренняя магия, которая всегда привлекает и завораживает одновременно. За всю свою жизнь я переиграл в десятки игр, начиная с ветеранов Wolfenstein и Dune 2 и заканчивая современными блокбастерами. И теперь, добивая очередной хит и наблюдая за финальным роликом и титрами, в голове все чаще и чаще мелькает мысть «А что, если?..»

А ведь действительно, что если взять и написать собственную игру? Конечно же понятно, что ААА-тайтл сделать в одиночку не получится, и это годы работы и прочая и прочая, но ведь осилит дорогу идущий? Так уж получилось, что в Desktop-программироании я откровенно слаб, и вариантов для практикующего веб-разработчика не так уж много. Но за последние годы все кардинально изменилось, и теперь уже у браузера много общего с кофеваркой, а javascript может спокойно удовлетворять даже нужды военных ведомств, не то что мои собственные.

Вот как раз во время очередных раздумий и достаточно серьезной простуды мне попалась на глаза статья о Box2d в игрологе Ant.Karlov'а. Зачитавшись и замечтавшись я очень быстро нашел JS-порт этой библиотеки, и старая шальная идея сделать что-то маленькое и, главное — свое, начала донимать меня с новыми силами.

В общем, меньше патетики, больше дела. Надеюсь, вам будет интересно. Да простят меня суровые боги за использование Angry Birds в КПДВ ^_^
Читать дальше →
Total votes 153: ↑150 and ↓3+147
Comments35

Аудио плеер под GNU/Linux — DeaDBeeF

Reading time1 min
Views12K
Сегодня обнаружил для себя очень симпатичный плеер DeaDBeeF. Да что уж говорить, после Audacious и Exaile это просто сказка, а не плеер. И так, что имеем:

DeaDBeeF — аудио плеер под системы GNU/Linux. Распространяется под General Public License version 2.

mp3, ogg vorbis, flac, ape, wv, wav, m4a, mpc, cd audio (и многие другие);
поддержка utf8, cp1251;
поддержка cuesheet (.cue файлы);
не зависит от GNOME, KDE;
трей;
drag and drop;
хоткеи;
плейлисты;
18-полосный эквалайзер (поддерживает пресэты от foobar2000);
радио;
плагины;
и многое другое
Читать дальше →
Total votes 66: ↑55 and ↓11+44
Comments77

Blender. Введение в ноды (Часть 1)

Reading time1 min
Views41K
imageimage
Обойтись без нодов в блендере, для достижения интересных эффектов, очень тяжело. С помощью нод можно сделать очень многое. В этой статье я покажу очень простой и красивый эффект подмены градиента с помощью ноды ColorRamp.
Трафик (1.5 Мб)
Читать дальше →
Total votes 67: ↑50 and ↓17+33
Comments27
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity