Как стать автором
Обновить
86
0
AlexeiZhuravlev @AlexeiZhuravlev

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

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

Я смог и вы сможете: делаем RPG на JavaScript

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

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

Я боялся использовать объекты, например. Они были такой большой страшной вещью, которую я откладывал на потом. Но сейчас я использую их все время.

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

Имейте в виду, что я новичок (всего 2 месяца в программировании), поэтому некоторые мои решения можно улучшить. Я же постараюсь дать вам основы, с которых можно начать.
Всего голосов 35: ↑21 и ↓14+7
Комментарии23

50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

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


Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
Читать дальше →
Всего голосов 80: ↑76 и ↓4+72
Комментарии270

Введение в GitLab CI

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

Публикую перевод моей статьи из блога ГитЛаба про то как начать использовать CI. Остальные переводы гитлабовских постов можно найти в блоге компании Softmart.




Представим на секунду, что вы не знаете ничего о концепции непрерывной интеграции (Continuous Integration — CI) и для чего она нужна. Или вы всё это забыли. В любом случае, начнем с основ.


Представьте, что вы работаете над проектом, в котором вся кодовая база состоит из двух текстовых файлов. Более того, очень важно, чтобы при конкатенации этих файлов в результате всегда получалась фраза "Hello world." Если это условие не выполняется, вся команда лишается месячной зарплаты. Да, все настолько серьезно.


Hello wolrd


Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии21

Профилирование и оптимизация программ на Go

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

Введение


В этой статье я расскажу, как профилировать и оптимизировать приложения на языке Go с использованием встроенных и общих инструментов, доступных в ОС Linux.

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

Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. data race), о поиске ошибок (англ. debugging). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.



Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии18

Пишем форум с нуля на Ruby on Rails и AngularJS

Время на прочтение27 мин
Количество просмотров39K
Не так давно я рассказывал о геме Oxymoron, позволяющем очень просто и быстро строить современные Single Page Application на AngularJS и Ruby on Rails. Статья была встречена весьма позитивно, поэтому пришло время написать более-менее сложное приложение, чтобы показать все возможности гема.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии31

Включение подсистемы Linux в Windows 10

Время на прочтение1 мин
Количество просмотров252K
Недавно мы опубликовали пост про новый билд Windows 10 Insider Preview Build 14316, в котором говорилось про подсистему Ubuntu Linux в этой ОС. Нам написали многие пользователи, которые столкнулись с тем, что не смогли сразу обнаружить эту подсистему и запустить командный интерпретатор bash. Действительно, эта подсистема выключена по умолчанию, а ее драйверы LXss.sys и LXCore.sys не располагаются в системной директории (см. WinSxS). Для тех пользователей, которые не смогли разобраться с данной проблемой, мы укажем шаги по включению подсистемы и проверке ее активности.



Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии110

Современный троянский конь: история одного расследования

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

Всем привет!

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

Если вам интересно — добро пожаловать под кат!
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии88

Немного о сокетах, redis и битых яйцах

Время на прочтение5 мин
Количество просмотров42K
Работать в пятницу после обеда первого апреля не хочется — вдруг ещё техника выкинет какую-нибудь шутку. Потому решил о чем-либо написать.
Не так давно на просторах хабра в одной статье огульно охаяли сразу Unix-сокеты, mysql, php и redis. Говорить обо всём в одной статье не будем, остановимся на сокетах и немного на redis.
Итак вопрос: что быстрее Unix- или TCP-сокеты?
Вопрос, который не стоит и выеденного яйца, однако, постоянно муссируемый и писать не стал бы если б не опрос в той самой статье, согласно которому едва-ли не половина респондентов считает, что лучше/надёжнее/стабильнее использовать TCP-сокеты.
Тем, кто и так выбирает AF_UNIX, можно дальше не читать.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии35

Лучшие бесплатные коллекции векторных иконок

Время на прочтение2 мин
Количество просмотров340K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Всего голосов 91: ↑82 и ↓9+73
Комментарии23

Linux в кармане — на службе у фотографа

Время на прочтение6 мин
Количество просмотров50K
Так получилось, что фотография, это мой основной профессиональный вид деятельности, а программирование — хобби, которое иногда позволяет размять мозг. Кроме непосредственно разминки для мозга, программирование помогает и в работе. Например, писал полезные штуки, такие как это или это, или это.

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

Это рассказ, о том, как мне удалось сделать для себя инструмент, который с минимальным моим участием и минимальным дополнительным весом в рюкзаке, помогает сделать красивые слайдшоу. И конечно же рассказ о python, ffmpeg и linux на android.
Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии75

Опасное видео: как я нашёл уязвимость в видеохостингах и не умер через 7 дней

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


Всем привет! Я Максим Андреев, программист бэкенда Облака Mail.Ru. В свободное время я люблю искать баги. В сегодняшнем посте я хочу рассказать об одной довольно интересной уязвимости, которую я нашёл и зарепортил в bug bounty нескольких крупных компаний, за что получил солидное вознаграждение. Уязвимость заключается в следующем: если сформировать специальный видеофайл и загрузить его на сервер, то:

  • можно получить на нём SSRF;
  • можно получить local file read;
  • если пользователь скачает этот файл, то автоматически будет подвержен уязвимостям, даже если его не откроет: можно будет получить доступ к данным на компьютере пользователя и узнать его имя.

Читать дальше →
Всего голосов 255: ↑250 и ↓5+245
Комментарии66

Оптимизация образов Docker

Время на прочтение9 мин
Количество просмотров67K
Образы Docker могуть быть очень большими. Многие превышают 1 Гб в размере. Как они становятся такими? Должны ли они быть такими? Можем ли мы сделать их меньше, не жертвуя функциональностью?

В CenturyLink Lab мы много работали над сборкой различных docker-образов в последнее время. Когда мы начали экспериментировать с их созданием, мы обнаружили, что наши сборки очень быстро раздуваются в объеме (обычным делом было собрать образ, который весит 1 Гб или больше). Размер, конечно, не столь важен, если мы говорим про образы по два гига, лежащие на локальной машине. Но это становится проблемой, когда вы начинаете постоянно скачивать/отправлять эти образы через интернет.

Я решил, что стоит копнуть поглубже и разобраться с тем, как работает процесс создания docker-образов, чтобы понять, что можно сделать для уменьшения размера наших сборок.
Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии18

50 лучших инструментов для разработки CSS и JavaScript

Время на прочтение3 мин
Количество просмотров74K
Веб-разработчику постоянно необходимо быть в курсе появления новых библиотек и инструментов. Я нашёл и выбрал несколько лучших инструментов для разработки как CSS, так и JavaScript. Это не просто копипаста – это выборка, основанная как на рекомендациях, так и на личном опыте использования.

Разработка фронтэнда – штука хитрая. И хотя она не слишком сложная для освоения, некоторые тонкости освоить также не помешает. В сети ежедневно появляются отличные ресурсы. Они могут дать толчок развитию ваших навыков и помочь вам лучше выполнить вашу задачу.

Лучшие инструменты для CSS и JavaScript


1) Fileicone

Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

image

2) Marx

Элегантное обнуление CSS безо всякого JavaScript.

image
Читать дальше →
Всего голосов 54: ↑36 и ↓18+18
Комментарии17

Издание в Стиме с минимальными затратами

Время на прочтение3 мин
Количество просмотров58K
Исправление от 07.05.2016
В сети слишком часто ссылаются на этот мой текст, поэтому я хочу предостеречь людей: я не несу никакой гарантии за достоверность данных, рассказанных тут полгода назад. По хорошему, я хотел бы удалить эту статью, но не вижу такой кнопки в интерфейсе сайта. Тем не менее, я счел необходимым удалить некоторые пункты этим исправлением.


Эта статья мой личный опыт размещения игры в Стиме, и в ней я расскажу о тех моментах, которые беспокоили меня самого в процессе этого дела. Надеюсь, она поможет тем, кто решит пройти этим же путём. Этим немного особенным образом, дорогой минимальных усилий.
Читать дальше →
Всего голосов 107: ↑102 и ↓5+97
Комментарии66

Утилиты командной строки могут быть в 235-раз быстрее вашего Hadoop кластера

Время на прочтение7 мин
Количество просмотров45K
Примечания tsafin:

Перед публикацией своего цикла статей по MapReduce в Caché, мне показалось важным озвучить данную прошлогоднюю точку зрения из статьи Адама Дрейка «Command-line tools can be 235x faster than your Hadoop cluster». К сожалению оригинальная статья Тома Хайдена, на которую он ссылается стала уже недоступна на сайте Тома, но её, по-прежнему, можно найти в архивах. Для полноты картины предлагаю ознакомиться и с ней тоже.

Введение


Посещая в очередной раз свои любимые сайты, я нашел крутую статью Тома Хайдена об использовании Amazon Elastic Map Reduce (EMR) и mrjob для вычисления статистики отношения выигрыш/проигрыш в наборе данных со статистикой по шахматным матчам, которую он скачал с сайта millionbase archive, и c которой он начал играться используя EMR. Так как объем данных был всего 1.75GB, описывающий 2 миллиона шахматных партий, то я скептически отнесся к использованию Hadoop для данной задачи, хотя были и понятны его намерения просто поиграться и изучить плотнее, на реальном примере, утилиту mrjob и инфраструктуру EMR.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии48

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Время на прочтение14 мин
Количество просмотров346K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Всего голосов 126: ↑116 и ↓10+106
Комментарии180

Авторизация/Регистрация пользователя через Telegram

Время на прочтение2 мин
Количество просмотров76K
В данном топике хочу описать дополнительный, а для некоторых сервисов возможно и основной способ авторизации и регистрации пользователя через Telegram, подобно OAuth авторизации через социальные сети и web-сервисы.

Допустим, у Вас есть некий сервис, который предлагает пользователям вход через Telegram. На странице авторизации пользователю предлагается ввести его Username в Telegram. После ввода Username, на аккаунт пользователя приходит сообщение с кодом подтверждения, который он вводит на странице авторизации.

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

Чтобы сайт не падал: экономный метод

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


Сайты падают. Я работаю в хостинге 7 лет и последние 5 лет (кроме всего прочего) предоставляю услуги по географически-распределённым кластерам, чтобы при аварии в одном из дата-центров сайт продолжил работу в другом. На выходе такое решение стоит минимум от 4 тысяч рублей в месяц за 1 виртуальный сервер. Небольшому интернет-магазину это может оказаться дорого для «страховки», которая потребуется 1-3 раза в год, а если повезет — не потребуется совсем. Соответственно, многим нужен вариант дешевле, подходящий для малого и среднего бизнеса. Сейчас расскажу, как это решить очень и очень просто.
Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии43

Видео докладов с Golang Moscow

Время на прочтение1 мин
Количество просмотров13K
Готовы видео докладов с митапа Golang Moscow и мы с радостью с вами ими делимся.

1. «Go в Badoo»
Антон einstein_man Поваров




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

Сколько новичку можно заработать на YouTube в 2015 году?

Время на прочтение8 мин
Количество просмотров236K
Ваш сайт – это ваши правила, но и полностью ваши проблемы с его развитием. 15 SEO-экспертов в прошлой статье указали причины, мешающие продвижению новых ресурсов. Легкая ошибка – и пришествие трафика откладывается на неопределенный срок. А вместе с ним – и запланированный доход. Но ведь можно использовать для заработка и чужие сайты, которые не нужно продвигать! И иногда зарабатывать с их помощью получается быстрее даже новичку… Рассмотрим нюансы привлечения трафика из второго по посещаемости сайта в Мире – YouTube.com. И поможет нам в этом Денис Коновалов (konoden).


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

Информация

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