Pull to refresh
20
0
AlexKuk @AlexKuk

User

Send message

Игра «Космические охотники»

Reading time2 min
Views2K


В начале октября 2010 года вышла демо-версия игры «Космические охотники» — космической RPG, идейно близкой таким играм, как «Космические рейнджеры» и «Космические рейнджеры 2: Доминаторы». Поиграть в демо-версию можно на сайте www.spacehunters.ru.

Впрочем, «Космические охотники» никак нельзя назвать плагиатом – с «Космическими рейнджерами» их объединяет сходство игрового процесса, однако в остальном «Охотники» — совершенно новая игра с уникальной вселенной, яркими персонажами и остроумными диалогами.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments9

Второе пришествие червяка Джима

Reading time2 min
Views2K
imageНа хабре довольно редко пишут об играх для мобильных платформ. Хочется пополнить копилку публикаций, благо для этого есть повод — выход версии знаменитой игры девяностых Earthworm Jim для всего, что движется мобильных телефонов, в том числе и для iPhone.
Читать дальше →
Total votes 80: ↑59 and ↓21+38
Comments42

Азбука хорошего разработчика. Книжки для чтения

Reading time2 min
Views3.4K
Часто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Total votes 73: ↑72 and ↓1+71
Comments66

Создаем модуль «Новая почта» для Magento (часть 2)

Reading time11 min
Views23K

Оглавление


  1. Создаем модуль «Новая почта» для Magento (часть 1), где мы добавляем новый метод доставки в Magento
  2. Создаем модуль «Новая почта» для Magento (часть 2), где мы учим Magento хранить и синхронизировать с Новой Почтой базу складов


После перерыва, связанного с запуском проекта для вредного заказчика, я продолжу начатое. Напомню, все исходники можно найти на GitHub: github.com/alexkuk/Ak_NovaPoshta, они дополняются по ходу разработки.

В этой части мы получим API ключ и напишем синхронизацию складов и городов из Новой Почты в базу Magento.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments11

Codeception — тестирование по-новому

Reading time4 min
Views87K
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.

С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');


Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments68

Tzdata — глобальная база знаний о часовых поясах

Reading time6 min
Views39K
Если нам где-либо (например, в каких-то приложениях) требуется работать не только с универсальным временем UTC, но и с местным временем в различных точках Земли, то здесь встаёт вопрос о необходимости некой базы знаний о том, как вычисляется локальное время относительно UTC в различных регионах мира.

Многие Unix-like системы для хранения информации обо всех мировых часовых поясах используют базу tzdata (она же tz database, она же zoneinfo database, она же Olson database — в честь Артура Олсона, основателя этой базы знаний).

Впервые начал собирать эту базу Артур Дэвид Олсон (Arthur David Olson), позже к этому проекту подключились и другие участники. Сейчас же основным коммитером новой информации в базу tzdata является Пол Эггерт (Paul Eggert), а Артур Олсон сейчас занимается разработкой и поддержкой утилит для работы с локальным временем и данными о часовых поясах (пакет tzcode).

В базе tzdata содержится детальная информация обо всех часовых поясах во всех регионах мира:
— координатная привязка основных населённых пунктов, характеризующих часовой пояс;
— смещение локального времени в различных регионах относительно универсального времени UTC;
— указано, в каких регионах применяется летнее время (DST), насколько оно смещается относительно стандартного, указаны точные даты и время переключения на летнее время и обратно в различных регионах в различные периоды;
— информация о високосных секундах (leap seconds).
Читать дальше →
Total votes 74: ↑67 and ↓7+60
Comments12

Не переписывайте классы в Magento

Reading time2 min
Views5.1K
Уже порядка двух лет я плотно работаю системой Magento. За это время довелось работать с чужими модулями и проектами и я понял, что в нашей компании код на хорошем уровне. Наверно, потому что мы узко специализируемся на Magento.

Так вот, часто приходится наблюдать ошибки и проблемы совместимости в чужих модулях. О конкретной проблеме большинства модулей и пойдет речь в этой статье.

Если вы новичок в Magento и хотите как-то изменить или расширить ее базовую функциональность, то на просторах интернета вам, наиболее вероятно, посоветуют:
1. внести изменения прямо в core файлы;
2. скопировать файл класса со структурой папок из app/code/core в app/code/local и внести изменения в локальную копию;
3. переписать класс через XML конфигурацию в своем модуле.

Первый вариант не стоит рассматривать вообще. Второй – в редких случаях, если вам очень нужно переписать какой-то абстрактный класс или класс библиотеки. Третий – если вы переписываете класс модели, блока, хелпера или контроллера.

Я предлагаю четвертый вариант:
4. Не переписывайте классы в Magento!

Читать дальше →
Total votes 29: ↑21 and ↓8+13
Comments18

10% пользователей кликают по ссылкам два раза

Reading time2 min
Views2.5K


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

Один из крупных интернет-магазинов, разработанных нами на базе Magento Enterprise, был выпущен в свет. Через неделю после запуска мы начали получать жалобы от посетителей, у которых дублировалась информация о заказе. Не буду вдаваться в технические подробности проблемы, но ее решение было совсем не таким очевидным как может показаться.
Читать дальше →
Total votes 139: ↑122 and ↓17+105
Comments183

Ёгород

Reading time2 min
Views540


Я уже несколько лет с удовольствием посещаю Хабрахабр. Хабр – определенно феномен, но рассказывать о нем здесь бессмысленно, поэтому перейду к нашим пирогам.

Наш пирог Ёгород.Ру родился из идеи сделать «как хабр» (знакомо, да?), но для нормальных людей негиков, с возможностью делиться новостями и публиковать свои размышления на любые темы.
Читать дальше →
Total votes 29: ↑8 and ↓21-13
Comments10

Интересные возможности языка PHP

Reading time3 min
Views7.7K
В данной статье я хочу рассказать о интересных, но не очень распространенных базовых возможностях языка PHP. Все, что написано далее в том или ином виде присутствует в документации к PHP в разрозненном виде. Автор вполне отдает себе отчет в том, что большинство профессиональных разработчиков все это отлично знает, но новички могут узнать что-то новое.

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

Читать дальше →
Total votes 156: ↑114.5 and ↓41.5+73
Comments174

Репозиторий пакетов популярных игровых программ для Ubuntu

Reading time1 min
Views2.9K
Нашел в сети ресурс Playdeb с репозиторием сборок пакетов распространенных игр для Ubuntu Linux. Список игр на данном ресурсе полностью аналогичен списку игр с ресурса www.getdeb.net, но установка и обновление проще, т.к. позволяет установить игру в один клик(используя AptURL) и обновлять потом через репозиторий.
Раньше я такого ресурса не видел и думаю он многим «ленивым»(и не только ;-) ) геймерам будет полезен.

UPD. Топик перенес в Убунтариум.
Total votes 58: ↑54 and ↓4+50
Comments24

SSH для частого использования

Reading time2 min
Views69K
Наверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
Читать дальше →
Total votes 159: ↑145 and ↓14+131
Comments120

Как найти нужный шрифт, не зная его названия?

Reading time3 min
Views408K
Я уверен, что у любого дизайнера был такой момент, когда он видел где-то какой-то шрифт, который так мог бы пригодится в проекте, но… что за шрифт?.. Ответ на этот вопрос затаился в глубине Вашего сознания, либо в глубине Вашего «незнания» (что разумеется простительно).



В этой статье мы рассмотрим несколько ресурсов, которые могут помочь вам в идентификации понравившегося шрифта.

Конечно, нельзя рассчитывать, что эти источники дадут вам 100 процентную уверенность в том что вы найдете нужный шрифт, но что помогут, так это точно.
Читать дальше →
Total votes 139: ↑131 and ↓8+123
Comments28

Вредная верстка

Reading time9 min
Views74K
Как определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.

Из этой статьи вы узнаете:


  • О плохих приемах современной верстки;
  • О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.


Читать дальше →
Total votes 203: ↑175 and ↓28+147
Comments339

Рабочая библиотека веб-типографа и контент-менеджера

Reading time4 min
Views7.5K
Несмотря на то, что основной инструмент работы веб-типографа и контент-менеджера — это Интернет, пока ещё не весь корпус полезных для нас материалов переведён в электронную форму. Поэтому я решил перечислить те бумажные книги, которые стоят у меня на отдельной полке, и на которые не успевает оседать пыль из-за постоянного их использования.

Список книг будет разбит на группы по темам, и каждая из них — на группы «обязательно прочесть и иметь» и «можно прочесть и иметь» (это выделение безусловно субъективно, так что спорить насчёт него не буду точно). В принципе, большинство книг есть в широкой продаже, в том числе и в крупнейших российских интернет-магазинах. Некоторые есть в отсканированном виде и их можно найти в Интернете.

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


Читать дальше →
Total votes 86: ↑82 and ↓4+78
Comments47

Оптимизация работы с MySQL

Reading time3 min
Views78K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments107

Information

Rating
Does not participate
Location
Харьковская обл., Украина
Registered
Activity