Search
Write a publication
Pull to refresh
47
0
Никита Галкин @galk_in

Backend developer

Send message

Рефакторинг: миссия (не)выполнима?

Reading time4 min
Views2.1K
Что делать, если исходники проекта напоминают болото, а жить в нем планируется еще долго? Рефакторинг исходных кодов проекта — это более выгодная из двух альтернатив разобраться с означенной проблемой. Вторая из альтернатив — выбросить и переписать все заново — обычно не устраивает, по разным причинам.

А как делать этот самый рефакторинг, если даже неизвестно, с чего начать? Как осушить болото кода и не утонуть нем?

Конечно, идеальный вариант — считать рефакторинг одной из активности на проекте с самого его начала и выделять на него проектное время команды. В жизни, как ни странно, однако чаще всего оказывается, что предыдущий лид проекта не сильно озадачивался этим вопросом, предпочитая плыть по течению; возможно, он надеялся когда-нибудь сбагрить эту ношу менее удачливому лиду — пока проект еще не развалился; а может быть, просто не знал, что делать. Шеф, усё пропало!

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

Рецепт успешного Твиттера

Reading time3 min
Views2.8K
Идеальный твиттерянин — это человек, который способен генерировать «короткие интересности», с частотой по две в час. При этом человек он не праздный (и это не парадокс; Твиттер — не заточен под бытие основным занятием, он скорее дерево, на котором усердный труженик ставит зарубки о сделанном (увиденном-услышанном) в «большой жизни»). Идеальный твиттерянин позитивен, не допускает грамматических ошибок, не матерится без повода и не словоблудит. Идеальным твиттерянином можно родиться. А можно им стать. По крайней мере, можно постараться.

Бытует мнение, что «в Твиттер можно писать всё то же, что и в обычный блог, только коротко». Это не так. Посты в Твиттер можно условно разделить на десять видов:

1. Лытдыбры. Такими постами впору грешить людям, которые набрали в Твиттере (или в жизни вне его) определённый «вес». Никому не интересно, что ты, Вася, скушал суп. Если, конечно, ты не Вася Стрельников (почувствуйте разницу). Хотя, если это был «суп из придатков карликовой белой слонихи», которую ты же лично и уохотил, то шансы на успех могут значительно вырасти.

2. Цитаты. У некоторых (пишу с комической гордостью) — цитаты «из себя». А вообще — любые короткие изречения. На злобу дня, или «вневременного философского значения». (Затёртый цитатник «Золотые россыпи» — за пятак у старушки на книжном развале — и дело в шляпе. Шутка.)

3. Шутки. Важно отметить — не анекдоты, а именно шутки. И лучше всего: а) свои; б) свежерождённые. (Да, именно потому, что борода в твит не помещается.)

4. Парадоксы. Блестящие опечатки, до слёз нелогичные высказывания, или полный бред вроде «пассивного некрофила». Есть сущие мастера жанра, которые очередным «задвигом» могут развеять любую депрессию.

5. Ссылки. (Ради которых, как многим кажется, Твиттер и заводят.) О «ситиаре Твиттера» мы поругаемся позже, а пока скажу так: более трёх ссылок подряд — и ты выглядишь, звучишь и пахнешь «ботом». Делай выводы.

6. Картинки. Конечно — ссылки на картинки. Хороший камуфляж для «лытдыбров». Важно! Если картинки сделаны айФоном и выложены на Твитпик, то успех практически гарантирован.

7. Новости. «Свежие новости» — вещь, конечно, фантастическая. Но вдруг тебе повезло, и именно ты держал за руку майкла джексона, провожая его в последний путь? Тогда смело пиши об этом. Но помни! Если есть куда дать ссылку, скорее всего это уже не новость. (Вот и твит, кстати; угадаешь категорию?)
Читать дальше →

Эволюционирующий контент в MMOG

Reading time1 min
Views1.1K
Некоторые многопользовательские игры явно выделяются из ряда обычных MMOG. Например, космическую игру Galactic Arms Race делают учёные из университета центральной Флориды (игра похожа на старый добрый StarControl), и здесь разработчики пытаются реализовать некоторые принципиально новые подходы. Например, эволюционирующее оружие.

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

Нейросеть по генерации вооружения ранее была опробована главным разработчиков в его прошлом проекте NEAT. Автор подчёркивает, что NEAT можно использовать также для генерации и другого контента: 3D-моделей, текстур, эффектов. Подробности описаны в этой научной работе.

В принципе, сейчас становится общим мнением, что алгоритмы эволюции должны генерировать контент в MMOG наравне с UGC. Именно такими будут успешные многопользовательские игры будущего, потому что разработчики просто не успевают своими силами удовлетворять потребности геймеров, особенно в самых популярных MMOG. Разработчики шесть месяцев создают новый контент-пак, который игроки проходят за пару часов.

via slashdot

Правильный выбор CMS интернет-магазина для новичков

Reading time7 min
Views5.9K
Я нашел пару статей на эту тему на хабре, но статью я написал придерживаясь определенной философии для начинающих торговцев: «простота=успех». Поэтому и советы по выбору давал исходя из этого тезиса.
Прошу судить строго, но карму не минусовать)

Пятая статья цикла “Интернет-магазин с нуля. Помощь начинающему предпринимателю”


Выбор движка. Движок или исполнитель? Критерии отбора движка. Как не ошибиться с выбором. Аренда движка. Хостинг и домен. Список русских CMS-решений.

Хочу сразу сказать: в этой статье не будет рекомендации выбрать какой-то определенный движок.

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

На этапе, когда надо выбрать, как создавать функционал ИМ, я бы посоветовал обратиться за консультацией к профессионалу или на форум Oborot. Существует множество факторов, которые влияют на решение вопроса, к примеру: регион, товар, бюджет. Потраченное время или даже платная консультация помогут пойти путем наименьшей потери сил, времени и денег. Консультация может обойтись в 20 у.е. тогда как решение создать ИМ в регионе в 300 у.е. и оказаться лишь амбицией бизнесмена без серьезных аргументов.

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

Китай запретил виртуальные деньги

Reading time1 min
Views764
Два китайских министерства (торговли и культуры) опубликовали совместное заявление о грядущем запрете обмена виртуальных денег на реальные деньги или реальные товары. Виртуальные деньги (в том числе карты предоплаты для игр) отныне можно менять только для виртуальные товары, которые создаются разработчиками той или иной игры. При этом покупать карточки предоплаты за настоящие деньги тоже запрещено.

Как известно, к сегодняшнему дню китайцы (298 млн пользователей интернета) практически монополизировали рынок сбора голда и низкоуровневой прокачки персонажей во многопользовательских играх, в том числе World of Warcraft. Собранные деньги и прокачанные персонажи продавались игрокам с западных стран, которые не хотели тратить время на длительную и скучную деятельность на низких уровнях игры.

По оценкам экспертов, годовой объём виртуальных товаров в Китае составляет около $500 млн и растёт на 20% в год. Несмотря на крепкие позиции вышеупомянутых игровых «экспортёров», которые собирают голд на продажу и зарабатывают для страны валюту, китайские власти всерьёз опасаются массовой популярности подобных MMOG. Ведь если треть миллиарда пользователей интернета начнут выкладывать по $10-20 в месяц за игровую подписку, то это может сильно испортить внешнеторговый баланс страны. Кроме того, через виртуальную валюту можно осуществлять отмывку настоящих денег, осуществлять нелегальные переводы средств за рубеж и многие другие виды преступлений.

Как Яндекс.Метрика продает вашим конкурентам «обобщенную статистическую информацию» вашего сайта

Reading time2 min
Views94K
Все уже столкнулись, что запрос в поисковую систему сохраняется в ваши пользовательские предпочтения и потом «используется против вас» — реклама по этому запросу будет долго преследовать вас по всему Интернету.

Но сегодня меня озадачила реклама, которую показал Яндекс на сайте Яндекс.Погоды — с одной стороны тема мне знакома (это бизнес клиента, с сайтом которого мы работаем), но с другой стороны я осознал, что никогда не искал эту тему в Яндексе. В голову закралось подозрение, которое я проверил.

В режиме «инкогнито» браузера я открыл сайт клиента, а затем сайт Яндекс.Погоды. Сначала реклама не старгетировалась, но через 30 секунд я получил то, что искал — пять объявлений от конкурентов нашего клиента. Информация о моем визите «утекла» через Яндекс.Метрику и тематика сайта была записана в мои пользовательские предпочтения. Проверил на других тематиках — результат аналогичный.

Получается следующая ситуация. Вы можете потратить кучу сил и денег чтобы привлечь человека на сайт, причем это могут быть вообще офлайн-мероприятия — знакомства на выставке, наружная реклама или визит человека в фирменный салон. Или это может быть онлайн-реклама, не имеющая к Яндексу никакого отношения — например Гугл.Эдвордс.

И вот посетитель пришел к вам на сайт (без участия Яндекса), получил информацию и ушел думать. И тут «добрый» Яндекс решает «помочь» вашему бизнесу и начинает активно и всюду показывать этому человеку рекламу ваших конкурентов. И это на основании того, что вы воспользовались сервисом статистики от Яндекса.

Легально ли это? Да, вы соглашаетесь с пунктом номер 11 из условий использования Яндекс.Метрики. Этично ли это? Для каждого будет свой ответ.
Действия для повторения эксперимента

30 полезных сервисов для веб-разработчиков и дизайнеров v2

Reading time3 min
Views86K
Предыстория: я веду свой паблик ВК о веб-разработке, в связи с чем я каждый день имею дело с большим количеством материалов о веб-разработке. Однажды (3 месяца назад) мне пришла в голову идея опубликовать на хабре подборку «30 полезных сервисов для веб-разработчика». Тот пост набрал почти 100 000 просмотров, и мне приятно, что он оказался полезен сообществу. С тех пор у меня поднакопилось больше 30 новых сервисов, которые будут полезны как разработчикам, так и дизайнерам. Лучшие из них я собрал в этом посте. Осторожно, под катом много картинок!
Читать дальше →

SEO в разработке eCommerce проектов (20 правил для разработчика)

Reading time4 min
Views22K
В последний год мы написали много статей по UX / UI проектированию eCommerce проектов и не только. Концепция проекта и интерфейсы – это, безусловно, очень важно, однако есть еще несколько крайне важных вещей, которые нужно учесть. Не важно, кто их будет учитывать: UX / UI Designer, SEO Specialist, Web Developer, Project Manager или кто-то еще, важно на каком этапе жизни проекта. А сделать это нужно задолго до запуска проекта, на этапе разработки.

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

  1. Robots.txt. Файл для правил индексации поисковыми системами. Создать и положить в корень сайта. В идеале индексация должна быть открыта всем поисковым системам и всему сайту (за исключением закрытых разделов, таких, как личный кабинет).
  2. Файл Sitemap.xml. Карта сайта для поисковых систем. Создать и положить в корень сайта. Сделать автогенерацию с заранее заданным весом страниц разбитым по типам информации (например, страница товара 8, страница категории 9, страница статьи 7 и т.д.). Загрузить файл в поисковые системы.
  3. Карта сайта. Кроме Sitemap.xml еще желательно сделать отдельную страницу на сайте, дать ссылку на неё в нижней части сайта и также поместить ссылки на основные страницы. На одной странице не должно быть больше 300 ссылок. Если на сайте больше страниц, то проблему можно решить через пагинацию внизу страницы «Карта сайта».

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

Обновление HTML5 Web Designer от Google

Reading time1 min
Views36K


В сентябре прошлого года компания Google выпустила Web Designer — бесплатную программу под Windows, Mac и Linux, с помощью которой можно разрабатывать интерактивные HTML5-приложения, сайты и баннеры. С тех пор программа несколько раз обновлялась, но вчерашний апдейт является самым значительным.
Читать дальше →

Оптимизации WordPress. Конкурс «ВПС на год за лучшие идеи!»

Reading time9 min
Views28K
По данным HackerTarget.com 20.9% сайтов из списка Alexa (104 684 из 500 000) работают на CMS WordPress. Из небольшого движка для блогов WordPress вырос в универсальную платформу для разработки сайтов, породив целую экосистему.

Компания Aberdeen Group провела исследование, согласно которому увеличение времени загрузки сайта на 1 секунду имеет следующие последствия:
  • уменьшение количества просмотров страницы на 11%;
  • снижение удовлетворенности покупателей на 16%;
  • снижение рейта конверсии посетителей в покупателей на 7%.

40% мобильных покупателей покинут интернет магазин, страницы которого загружаются дольше 3 секунд.

В этой статье мы затронем тему оптимизации WordPress. Для лучшего раскрытия темы в будущих статьях мы проводим конкурс: пришлите нам рекомендации по оптимизации WordPress, не вошедшие в эту статью. Автору наиболее полных и полезных советов по оптимизации будет предоставлена VPS 1024 на год. В конце статьи ссылка на регистрацию бесплатной Cloud VPS для экспериментов с оптимизацией WordPress.

Тестирование производительности WordPress до оптимизаций


Давайте определим время загрузки сайта. Для тестирования воспользуемся сервисом GTMetrix.

Infobox GTMetrix VPS

Получено время загрузки страницы по сети 2.62 секунды.
Читать дальше →

Первый взгляд на Avocode

Reading time3 min
Views114K


Доброго времени суток, Хабр!

Так уж завелось, что подавляющее большинство веб-дизайнеров создают макеты сайтов в Adobe Photoshop. И каждый раз, мы, бедные верстальщики, испытываем на себе все минусы и проблемы PS. И нам всегда приходилось с ними мириться, либо использовать всяческие плагины костыли, и сторонние приложения костыли. Даже новомодный и перспективный Sketch создан, в первую очередь, для создания макетов, а не для извлечения информации для верстки.

Но темные времена прошли, и тучи начинают рассеиваться над миром фронтенд-разработчиков. Итак, встречайте: Avocode!
Читать дальше →

MongoDb for developers. Неделя 2

Reading time7 min
Views15K
Доброе время суток, хабр. Этот топик — продолжение цикла статей, основанных на материалах онлайн курса M101 от 10gen. Поскольку вторая неделя является одной из самых насыщенных, она будет разбита на две статьи.
Добро пожаловать под кат

Noisli: онлайн-генератор фоновых шумов, помогающих сконцентрироваться

Reading time1 min
Views182K


Один из главных отвлекающих факторов, мешающих сосредоточиться — шум. Однако не любой шум мешает работать — очень многие гораздо легче погружаются в «поток» под музыку или в шумном кафе. Существуют даже научные исследования, подтверждающие положительное влияние умеренного шума на решение творческих и интеллектуальных задач.

Сайт Noisli содержит коллекцию фоновых шумов на любой вкус и возможность смешивать их в произвольной пропорции. Здесь есть и звуки природы — шум дождя, плеск воды, пение птиц, шуршание листьев, и звуки техногенного характера — стук колёс поезда, звук работающего вентилятора, и звуки многолюдного кафе. Есть и искусственные белый, розовый и коричневый шум. Коллекция звуков постоянно пополняется.
Читать дальше →

Видео-курс по Swift на русском языке

Reading time1 min
Views116K
Здравствуй, Хабр!

Мы сделали видео-уроки по языку Swift на основе бесплатной книги The Swift Programming Language от Эппл.



Все 32 урока доступны на нашем сайте. Несколько уроков – под катом.
Читать дальше →

Умная обрезка картинок с использованием точки фокуса

Reading time3 min
Views32K
Недавно передо мной встала задача обрезать около сотни огромных картинок из фотобанка под несколько десятков разных размеров. Эти готовые картинки потом будут использоваться клиентами CMS для оформления своих сайтов. Прикинув сколько времени займет этот процесс в Фотошопе, я пригорюнился — встретить следующий Новый год за обрезкой картинок не входит в мои планы.
Читать дальше →

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

Reading time8 min
Views47K


Я стал замечать, что в последнее время build-системам стали уделять всё больше внимания, и, под влиянием этого, их в одночасье стало настолько много, что, честно говоря, уже всех и не упомнить. Последнее время у меня на слуху четыре системы: Grunt, Gulp, Brunch и Gear. Про все что-то где-то было написано, но ни разу не ставился вопрос о том, какие преимущества или недостатки они имеют друг перед другом? И именно поэтому я решил провести сравнительный анализ самых популярных build-систем(по версии google).

Но сперва надо определиться с критериями, по которым мы будем оценивать эти системы:

  • Начало работы.
  • Производительность. Никто не хочет ждать по минуте после изменения одного coffee-файла.
  • Документация. Чем нагляднее и проще — тем лучше.
  • Плагины. Ведь мы не хотим столкнуться с проблемой, когда мы начали использовать билд-систему, а в ней нет адаптера, скажем, для jasmine?


Теперь, я полагаю, с вводной частью можно покончить и приступить, наконец, к сравнению.
Читать дальше →

Маркетинг головного мозга. Делаем карту сайта через SWOT-анализ, маркетинговое послание и УТП

Reading time9 min
Views28K

Маркетинга нет...



                                                    Артемий Лебедев
                                                    $115. О маркетинге
                                                    11 июля 2005

                                                               Маркетинга не существует.

                                                    http://www.artlebedev.ru/kovodstvo/sections/115/


Парадокс. С каждым днем мы в нашей компании все более погружаемся в интернет-маркетинг. И тем не менее я согласен с Лебедевым в тезисе из эпиграфа. Нету там ничего твердого и основательного. Во что погружаемся — непонятно. Немного психологии, немного аналитики, немного веб-технологий — такой жиденький супчик. На голову вылить — в волосах не застрянет. На толковое образование не тянет. Если человек говорит “я по образованию маркетолог”, сразу возникает ощущение платного вуза из подворотни и неуместных понтов. А в письмах предсказуемо не хватает запятых, зато много псевдо-деловых фраз типа “пантон доллара”, “надо брифовать” и “сбрасывайте ваши варианты, мы будем смотреть с руководством”.
Читать дальше →

Промо-сайт для мобильного приложения. Часть 1

Reading time5 min
Views28K
Дисклеймер

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

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

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

Анатомия Ember.js (часть первая, теоретическая)

Reading time5 min
Views32K
image Ember.js сложный в обучении. Хотя даже не так. Концепты Ember.js сложны в освоении и понимании. Мне кажется, что любой курс обучения Ember.js должен начинаться с этих слов.

Я разработчик, работающий с Ruby on Rails (до этого я программировал в .NET и Python). Для меня было довольно проблематично понять магию, заставляющую Ember.js работать. Иногда я общаюсь с другими начинающими разработчиками, вставшими (или пытающимися встать) на путь Ember.js — все их проблемы начинаются из-за того, что они не понимают, как устроен данный фреймворк.

Да, с одной стороны есть официальная документация в которой детально описаны все аспекты данного фреймворка. Но ей не хватает концепции; для начинающего разработчика это просто осколки информации разбросанные случайным способом. Из документации, например, можно узнать что у нас есть в арсенале контроллеры, модели и виды (controller, model, view). Но для того что-бы узнать за что они отвечают и как работают начинающему разработчику предлагают сначала наступить на грабли пару десятков раз. Плюс в нагрузку к контроллерам, моделям и видам Ember.js нам дает целый взвод разношерстых объектов типа компонентов, шаблонов, маршрутизатора и путей (component, template, router, route).
Читать дальше →

Дерек Сиверс: «Метод интервального повторения — лучший способ изучения языков программирования»

Reading time6 min
Views115K
Краткая справка: в 1998 году Дерек Сиверс основал компанию CD Baby и превратил ее в крупнейшего онлайн-продавца независимой музыки. В 2008-ом вырученные от продажи компании $22 миллиона Дерек передал в благотворительный траст на нужды музыкального образования.
Речи Дерека на TED просмотрели более 5 миллионов раз, а его собственная книга занимала первую строку в чарте книг для предпринимателей на Amazon.
Сам себя Дерек считает «вечным учеником».


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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity