Search
Write a publication
Pull to refresh
10
0
Владислав Шевченко @lutov

Архитектор ПО

Send message

Вертикальное выравнивание кода + немного Punto

Reading time2 min
Views21K
Приветствую. Поговорим о вертикальном выравнивании кода?

Итак, вдохновившись недавней статьей я понял как надо. Полностью автоматическое выравнивание + парсинг синтаксиса вещь конечно удобная, но нет. И у меня родилась идея. Мы просто даем программисту самому в каждом конкретном случае определить, по каким символам и в каких местах выравнивать код.

Работает это в любом редакторе и с любым текстом. Как-то так:



Сразу забрать приложение можно тут: sourceforge.net/projects/tnice/files
(выделяем текст, жмем Ctrl+Shift+D, пишем символы выравнивания, жмем Ctrl+Enter)
А подробный мануал и принцип работы под катом.
Читать дальше →

Современный бэк-офис IT-компании

Reading time11 min
Views55K
В одной из дискуссий недавно, я перечислил основные системы, делающие работу ИТ-компании цивилизованной. Список получился весьма обширный, и я решил оформить его как самостоятельную статью.

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

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

Краткий спойлер содержимого: VCS, репозиторий исходного кода, code-review, build-сервера, CI, таск-трекер, вики, корпоративный блог, функциональное тестирование, репозиторий для пакетов, система управления конфигурацией, бэкапы, почта/jabber.

Картинка с фрагментом обсуждаемой инфраструктуры:


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

Любительский подход к компьютерной лингвистике

Reading time5 min
Views19K
Этим постом я хочу привлечь внимание к интересной области прикладного программирования, бурно развивающейся в последние годы — компьютерной лингвистике. А именно — системам, способным к разбору и пониманию текста на русском языке. Но основной фокус внимания я хочу сместить с академических и промышленных систем, в которые вложены десятки и тысячи человеко-часов, к описанию тех способов, какими успехов на этом поприще могут добиться любители.
Читать дальше →

Приводим в порядок css-код. Опыт Яндекса

Reading time6 min
Views90K
Всем привет!

Я работаю над фронтендом огромного проекта — поисковой выдачи Яндекса. И у нас, как и у любого другого большого веб-проекта, есть огромное количество css-кода и немаленькая команда, которая с ним взаимодействует.

Когда много людей, используя разные инструменты, пишут и редактируют css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то — в другом, кто-то ставит кавычки вокруг url, кто-то — нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.



Но несмотря на то, что все пишут код по-разному, у нас в репозитории идеальный порядок: css-код полностью консистентен, и прекрасно выглядит. Весь.

Как мы этого добились, можно прочитать под катом.
Читать дальше →

How-to: Как купить акции технологических компаний на примере «Яндекса»

Reading time6 min
Views149K
image

В комментариях к одному из прошлых топиков нашего блога читатели попросили раскрыть тему того, как купить акции российских интернет-компаний. Поэтому сегодня речь пойдет о том, как российскому гражданину это сделать, и какие шаги для этого нужно будет выполнить. В качестве примера такой технологической компании было решено взять «Яндекс» — во-первых, эта компания недавно провела размещение акций на Московской Бирже, а во-вторых, покупка именно её акций чаще всего интересует наших читателей.
Читать дальше →

[Перевод] Магические методы в PHP

Reading time10 min
Views98K
Если Вы когда-нибудь изучали PHP-код открытых проектов, то вы могли встречать методы, начинающиеся с двойного подчеркивания. Это и есть те самые магические методы, с помощью которых вы сможете определить поведение вашего объекта при различных манипуляциях с его экземпляром.

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

Немножко полезных заметок о Steam

Reading time3 min
Views25K
Добрый день. Недавно мы вывели на Steam наш проект Steam Squad, о котором мы здесь уже писали. И сейчас я бы хотел поделиться парочкой технических моментов:
  1. Прохождение Greenlight. Впечатления и методы.
  2. Общение со Штатовской налоговой и краткий мануал, как получить штатовский ИНН за час.
  3. Мысли про продвижение.

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

2GIS API 2.0

Reading time4 min
Views56K
Мы рассказали про новый 2ГИС почти всё. Точнее, почти обо всём, с чем сталкивается пользователь. Настало время рассказать о том, что у него “под капотом”. Угадали, речь об API 2ГИС.

Если вы пользовались новым 2ГИС с момента его появления, вы уже видели 2GIS API 2.0 в деле. Сегодня же он вышел из статуса беты и стал доступен всем желающим. Отдельно хотим поблагодарить тех, кто участвовал в тестировании: ребята, спасибо, вы помогли сделать продукт именно таким, каким он получился. То есть более, чем неплохим.

Если вам не терпится попробовать новый API, то посмотрите сюда. Те, кто любит не только смотреть, но и читать, загляните под кат.


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

Авторизация через Google в Android и проверка токена на сервере

Reading time4 min
Views62K
Недавно мне захотелось создать личный проект на андроиде, и основной вопрос был такой: как однозначно идентифицировать пользователя заставляя его делать как можно меньше телодвижений? Конечно же это аккаунт Google. Я пытался пробовать множество примеров в сети — однако API несколько раз обновилось за время своего существования, многие методы не работали, мои вопросы в Google+ по этому поводу либо были вообще никак не восприняты окружением, либо были вроде «Никогда такое не делал».
В этой статье я постараюсь как можно более просто для новичков (вроде меня) описать мой метод авторизации в Google на андроид, получения токена и проверке этого самого токена на сервере.
Читать дальше →

Android Studio для NDK под Windows

Reading time25 min
Views225K


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

Сразу хочу оговориться, что я не являюсь гуру Android-разработки, поэтому каких-либо откровений в тексте вы не найдете. Зато тут есть пошаговая инструкция по установке и настройке Android Studio под Windows и созданию простейшего проекта с использованием Android NDK.

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

Как сверстать тему для WordPress

Reading time24 min
Views594K

Введение


В предыдущих статьях мы рассмотрели принципы верстки на чистом CSS и с помощью Bootstrap. Сегодняшней статьей мы начинаем рассматривать особенности верстки под популярные CMS. И начнем с WordPress, как самой популярной из них. Будем считать, что WordPress у вас уже установлен и перейдем непосредственно к созданию шаблона, в качестве которого у нас по-прежнему будет выступать Corporate Blue от студии Pcklaboratory. Если вы не знаете как установить WordPress, то инструкцию можно найти здесь. В данном руководстве мы не будем подробно описывать CSS стили и HTML код – это было сделано уже в предыдущих статьях. Вместо этого рассмотрим детально особенности создания темы именно под WordPress.
Читать дальше →

Подборка полезных CSS рецептов, или чем мы занимаемся на голых пятницах

Reading time2 min
Views93K


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

Итак, представляем вашему вниманию сборку интересных и (надеемся) малоизвестных HTML и CSS-рецептов. Будем рады, если каждый из вас узнает что-то новое!
Вперед!

Создание рейтинга игроков для мобильной игры (Unity + Google Play Game Services)

Reading time3 min
Views50K
Рейтинг игроков (leaderboard, scores) для мобильной игры — вещь интересная и порой даже необходимая. В этой статье я расскажу о том, как добавить рейтинг игроков в приложение, созданное в Unity, т.к. в рунете информации об этом не так много. Кроме того, рейтинг будет кросплатформенный (android + iOS), однако без поддержки Windows Phone.

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

Полное описание идеи игры. Часть 1: Концепция

Reading time8 min
Views75K
Вступив некоторое время назад на скользкую тропу под названием «Я хочу написать свою игру», я пришёл к выводу, что процесс этот, несмотря на давнюю историю и большое количество успешных примеров, для начинающих разработчиков является весьма таинственным и слегка отдаёт шаманством. Я ни в коем случае не утверждаю, что в сети нет информации на эту тему, но вся она делится на две большие категории:
  1. Глобальные общефилософские рассуждения из разряда «10 причин, почему тебе не надо становиться инди-разработчиком игр»;
  2. Узко специализированные туториалы, решающие конкретную задачу: «Поворачиваем изображение в %framework_name% на произвольный угол при помощи %tool_name%»

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

Отказ от ответственности
По результатам статьи может оказаться, что твоя идея — «не очень» или вовсе не идея. Я всего лишь предлагаю форму упаковки, и если твоя супер_игра_будущего_убийца_%game_name% не ложится в эту форму, то у тебя два варианта:
  1. Найти тот формат описания, который тебя устроит. Главное — формализуй свои мысли в понятную форму.
  2. Смирись, что в текущем состоянии твоя задумка слаба и не годится ни на что, кроме курсовой работы или личной практики, и начинай её додумывать.

За душевные переживания, разочарования и бессонные ночи ответственности не несу.

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

Фреймворк RPG JS v2 для создания браузерной 2D онлайн-игры

Reading time2 min
Views25K
Недавно вышла вторая версия фреймворка RPG JS v2 основанного на движке CanvasEngine.

image

Основная информация

Автор: Samarium
Лицензия: GPL
Язык: Английский, Французский

Введение

— RPG JS представляет собой framework для создания браузерной RPG. Для работы с данным фреймворком вы должны иметь минимальные знания в области программирования, которые облегчат создание инфраструктуры игры. (прокрутки, столкновения, движения и т.д. ...)

— RPG JS написана на HTML 5 и Javascript. Для работы с растровыми изображениями, спрайтами и т.д. используется библиотека EaselJS

— Скрипты из RPG Maker XP можно конвертировать в карту для RPG JS

— Совместим с браузерами: IE, Google Chrome, Firefox, Safari, Opera

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

Google Web Starter Kit: конструктор мобильных сайтов

Reading time1 min
Views51K


Google Web Starter Kit — конструктор и шаблоны для быстрой разработки отзывчивых мобильных сайтов, которые хорошо работают на любой платформе и почти в любом браузере (кроме самых старых). Такие сайты везде выглядят, как нативные приложения.

Основные особенности:
  • HTML-шаблоны, оптимизированные для мобильного применения;
  • отзывчивый макет для разных мобильных устройств
  • руководство по стилю визуальных компонентов;
  • поддержка Guilp.js (по умолчанию), Node.js, Ruby и Sass.
Читать дальше →

Разработка Iframe приложений на VK API. От первых шишек до двухмиллионной аудитории

Reading time5 min
Views71K
image
image
image Здравствуйте, в этом посте речь пойдет о том, как я создавал Iframe приложения в одной известной социальной сети. Пост будет скорее повествовательным, чем познавательным, хотя я постараюсь ответить на многие вопросы, которые поставили меня в ступор на начальном этапе.

С API Контакта познакомился сравнительно недавно. Тогда оно казалось мне жутко сложным и неоднозначным, с минимумом пояснений и полным отсутствием примеров использования. Сейчас, подтянув знания в javaScript, не испытываю абсолютно никаких трудностей. Наоборот даже приятно, что разработчики во многом подумали за меня.

Работать с javascript API Вконтакте просто до безобразия. Нужно лишь подключить файл xd_connection.js, инициализировать VK API, и делать запросы не чаще трех раз в секунду. Также стоит отметить, что и безо всяких запросов Вк передает в Iframe много необходимых параметров в виде объекта flashVars. Из него можно вытащить id пользователя, токен, упрощающий авторизацию пользователя на стороннем сервере, язык интерфейса и другие нужности.
Читать дальше →

Как научить игрока разобраться в вашем приложении, не сводя на нет работу художников, не обижая программистов и не считая игроков умственно отсталыми

Reading time8 min
Views21K
Тут мне во дворе рассказали, что говорить “фри-ту-плэй” уже немодно. Если делаешь игру, в которой концепция монетизации “всё бесплатно, но за некоторые вещи я бы советовал вам заплатить”, то называй это “фримиум”.
Продолжая модный ликбез, скажу, что ещё сейчас делают немодно – туториалы (от английского tutorial – учебник) – то, как разработчики объясняют игроку, чем же ему можно заняться в приложении. К счастью, социальные и мобильные игры не сводятся исключительно к механике три-в-ряд, поэтому пользователю не всегда понятно, что же ему нужно делать для достижения нирваны. И сейчас большинство туториалов не выполняют своей роли.



Погодите, а почему туториал важен?


— Это то, что видит игрок сразу после экранчиков загрузки, вступительного ролика и прочих неигровых элементов;
— Как следствие, плохой туториал – прямой путь к высокому проценту потери аудитории. Иными словами, бОльшая часть людей, запустивших игру уйдёт, так и не поняв, что же от них хотели;
— Если очевидные правила люди уловить способны (грядки нужно засаживать помидорами, замораживающий луч неэффективен против ледяных крокодилов), а туториал плох, то есть риск, что большая часть контента пройдёт мимо игроков. А это, с одной стороны, лишние трудозатраты, а с другой – весь выверенный баланс, кривая сложности и политика монетизации обрушивается. Например, игрок не понимает, где ему купить солдатиков, он вынужден убивать врагов, тратя золотые магические рубины – и в результате обиженно бросает игру с «зажравшимися разрабами, которые прямо со входа денег требует».

Теперь о том, какие туториалы знает современная геймдевелоперская наука:

Виды туториалов:


  • «Сами разберутся»
  • «Мы умеем выдавать мессаджбокс»
  • «Заблокированный экран и тайна затерянной стрелочки»
  • «Чёрная амбразура ужасающей безысходности»
  • «Мы можем всем объектам добавить ещё одну анимацию»
  • «Направляющий луч»


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

Давайте рассмотрим

Modio: детское приложение по проектированию игрушек для печати на 3D принтерах

Reading time2 min
Views13K


Сейчас появилось сразу несколько 3D принтеров «для всех», где не требуется ни дополнительная настройка, ни знание основ материаловедения. В общем, такие принтеры подходят как для детей, так и для взрослых (надо думать, дети освоят новые для себя устройства быстрее, чем взрослые).

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

В настоящее время эта программа, Modio, полностью бесплатна, и «заточена» под работу на планшете iPad. По умолчанию дается обычная модель, которую пользователь может изменять по своему вкусу, добавляя или убирая части дела, меняя размеры/текстуру/цвет фигурки, оснащаяя модель оружием.

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

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

Reading time2 min
Views163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Date of birth
Registered
Activity