Pull to refresh
67
0.3
Ivan Grishaev @igrishaev

Clojure/Lisp

Send message

Как я писал Bomberman’а на Android

Reading time4 min
Views51K
День добрый, уважаемые хабражители.
Писать игры хотел ещё с того момента, когда только начал программировать. И вот, решил всё-таки попробовать себя в написании игр на Android.
Игру осенью сделал ещё и выложил в маркет. Правда её удалили, так как права на Bomberman'а у Konami. Но статья, естественно, не об этом.

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

Читать дальше →
Total votes 77: ↑71 and ↓6+65
Comments56

Ежедневная работа с Git

Reading time40 min
Views882K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


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

Далее очень много букв случайным образом превратились в пост.
Total votes 200: ↑194 and ↓6+188
Comments44

Возвращаем приватность или большой брат следит за мной на стандартных настройках. Часть 1. Браузер и настройки сервисов «Гугла»

Reading time7 min
Views367K
Вы любите смотреть таргетированную рекламу? Вы не против того, что фейсбук сам отметит вас на фотографии друзей (а ее увидят посторонние люди)? Вам нравится видеть релевантные запросы в поисковике? Вы не против того, чтобы ваши предпочтения использовали для рекламы товаров вашим друзьям? Вам все равно, что гугл хранит всю историю вашего поиска, и вы не боитесь, что это может кто-то увидеть через 10 лет («скачать Аватар бесплатно без смс» или «как избежать проверки налоговой»)? Вы не против того, что ваши фото и комментарии увидит потенциальный работодатель или весь интернет, если вы вдруг случайно станете кому-то интересны?

Тогда этот пост вам будет не интересен — желаю вам хорошего дня. Пост не благословлен ФСБ, различными рекламными биржами (привет, «Яндекс», «Tinkoff Digital» и т. д.) и соц. сетями.

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

В этой части поговорим о настройках браузера и настройках google-аккаунта. Следующие части будут посвящены настройкам «Фейсбука», «Контакта», а также специфическим вещам в мобильных ОС на примере iOS. Любые дополнения приветствуются и будут с удовольствием включены в этот импровизированный «мануал» (или следующий, если они будут про темы следующих статей).



Читать дальше →
Total votes 99: ↑85 and ↓14+71
Comments62

На пути к созданию безопасного веб-ресурса. Часть 1 — серверное ПО

Reading time7 min
Views99K
Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии. Но советы так же легко применимы и к веб-ресурсам на других технологиях).

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Много текста. По-другому никак
Total votes 170: ↑159 and ↓11+148
Comments47

RSS-лента по почте

Reading time3 min
Views17K
Есть одна важная для меня RSS-лента. И хочется оперативно узнавать о “новых новостях” в ней. К сожалению, почтовой рассылки этот новостной сервер не предоставляет. Для чтения RSS я привык пользоваться Web-сервисом Google Reader, а он, несмотря на своё происхождение и родственные связи с Gmail, такой возможности тоже не даёт. И его мобильный клиент никак не оповещает о появлении новостей в лентах. Может и слава Богу – некоторые фиды очень плодовиты – но ведь бывают случаи когда это полезно. Вот как я выкрутился.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments21

Распределительная сеть дата-центров мирового масштаба — сердце империи Google

Reading time12 min
Views79K
«Гу́гол (от англ. googol) — десятичной системе счисления изображаемое единицей со ста нулями».
(Википедия).
Многие знают многоликость Google — это и популярный поисковик, и социальная сеть, а также еще множество других полезных и новаторских сервисов. Но мало кто задумывался: каким образом удалось компании развернуть и поддерживать их со столь высоким быстродействием и отказоустойчивостью? Как организовано то, что обеспечивает такие возможности,— дата-центр Google, каковы его особенности? Как раз об этом и пойдет речь в данной статье.

Собственно, корпорация Google уже давно никого не удивляет мощной динамикой своего роста. Активный борец за «зеленую энергетику», множество патентов в различных областях, открытость и дружественность по отношению к пользователям — вот те первые ассоциации, которые возникают при упоминании Google у многих. Не менее впечатляет и ЦОД компании: это целая сеть дата-центров, размещённых по всему миру, суммарной мощностью220 МВт (по состоянию на прошлый год). Учитывая тот факт, что инвестиции в ЦОД только за последний год составили 2,5 миллиарда долларов, понятно, что компания считает это направление стратегически важным и перспективным. В то же время наблюдается некое диалектическое противоречие, ведь, несмотря на публичность деятельности корпорации Google, его дата-центры являются этаким ноу-хау, тайной, скрытой за семью печатями. В компании считают, что разглашение деталей проектов может быть использовано конкурентами, поэтому лишь часть информации о наиболее передовых решениях просачивается в широкие массы, но даже эта информация весьма интересна.
Читать дальше →
Total votes 108: ↑102 and ↓6+96
Comments54

Полнофункциональный RDP клиент — FreeRDP

Reading time3 min
Views423K
Не секрет, что в современном мире без продуктов Microsoft практически не обойтись. Однако во многих случаях получается так, что гораздо эффективней использовать на рабочих компьютерах системы на базе GNU/Linux, а не Windows. Это значительно упрощает администрирование и сокращает расходы, предоставляя при этом пользователям гораздо больше легкодоступного функционала. Но что делать с теми приложениями, которые работают только под Windows и которым нет подходящего аналога в мире Linux? Поскольку обычно таких приложений единицы (иначе просто нету смысла ставить Linux на рабочий компьютер), то разумным выбором может стать использование терминальных серверов, работающих под серверными ОС от Microsoft. Кроме того, Linux лучше всего подходит для любых тонких клиентов, поскольку адекватных версий Windows для них просто не существует.

В любом случае необходимо уметь подключаться к терминальным серверам Windows. Для этого в MS был разработан свой протокол удалённого рабочего стола — RDP. Однако до недавнего времени для Linux существовал единственный открытый клиент для работы с этим протоколом — rdesktop. К сожалению, его развитие давно остановилось, и он испытывает огромные трудности при взаимодействии с современными версиями Windows.

Но недавно тихо и незаметно проект rdesktop был форкнут, в результате чего на свет появился новый открытый RDP клиент — FreeRDP. Первый же релиз этой программы разом исправил большинство известных проблем rdesktop, и проект продолжает активно развиваться. Почему-то появление столь полезного приложение обошли вниманием, поэтому я и решил опубликовать этот пост, чтобы хоть как-то исправить эту ситуацию и рассказать всем о существовании нормального RDP клиента для Linux. Под катом — описание возможностей FreeRDP и немного про отличную графическую оболочку Remmina для него.

Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments75

Рисование графиков. Python. Tkinter

Reading time2 min
Views143K
Это моя первая статья и я хотел бы рассказать о том как написать простейшую программу по рисованию графиков функций.
Статья ориентирована на новичков!
Начнем с того, что наша функция будет иметь вид:
y = c(x)
Где c(x) — это выражение от одной переменной «x».
Сразу считаем её.

f = input('f(x):')


Считать значение функции мы будем функцией eval().
Подключим нужные нам библиотеки.

from math import *
from tkinter import *
f = input('f(x):')


Теперь надо нарисовать оси координат.

from math import *
from tkinter import *

f = input('f(x):')

root = Tk()

canv = Canvas(root, width = 1000, height = 1000, bg = "lightblue", cursor = "pencil")
canv.create_line(500,1000,500,0,width=2,arrow=LAST) 
canv.create_line(0,500,1000,500,width=2,arrow=LAST) 

canv.pack()	
root.mainloop()


Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments9

Разработчик конструкторов Arduino названа предпринимателем года в США

Reading time3 min
Views77K


По мнению экспертов журнала Entrepreneur Magazine, Лимор Фрид сумела распознать некую потребность, стремление людей сделать нечто своими руками. Это несравненное удовольствие известно каждому человеку, который хотя бы раз скрутил кровать или шкафчик, следуя чётким инструкциям по сборке, которые поставляются с набором деталей. Удовольствие от того, что ты сам создал новую вещь, нечто такое, чего не существовало раньше.
Читать дальше →
Total votes 125: ↑110 and ↓15+95
Comments53

Начат сбор предзаказов на virt2real (Виртурилку)

Reading time2 min
Views51K
Вы думали мы куда-то пропали? Ничего подобного. Мы всё ещё в строю, этот топик — тому подтверждение.



После первой публикации на Хабре мы получили мощный фидбек — шквал писем, сообщений в скайп и стучаний в аську. Тематическое сообщество отнеслось к нашей затее благосклонно, так что почти все сообщения были позитивно-одобрительные. Мы познакомились со многими интересными людьми, которые нам написали, с некоторыми даже пообщались лично. Коллектив пополнился ещё одним человеком. В общем, процесс пошёл.

Сейчас в полную силу идёт доработка тиражного образца и просчёт разных вариантов производства, ищем набившее оскомину оптимальное «соотношение цена/качество». Знаете, говорят соотношение цена/качество придумали китайцы — цена всегда низкая, а на ноль делить нельзя. Поэтому хотим сделать все грамотно, дабы не делить потом на ноль. Процесс этот очень небыстрый, но, надеемся, что концы с концами благополучно сойдутся и весной (этой) мы выпустим первый тираж.
Читать дальше →
Total votes 86: ↑79 and ↓7+72
Comments126

Новое для веб-дизайнера за первую половину декабря

Reading time1 min
Views53K
Новые полезные штуки для веб-дизайнеров за первую половину декабря 2012. Прошлый месяц: ноябрь. Во все подобные топики буду добавлять тег "новое для веб-дизайнера"

Сервисы и инструменты


Weavly — бесплатный онлайн-сервис для удобного создания роликов из видео, аудио и gif-картинок.

Читать дальше →
Total votes 96: ↑85 and ↓11+74
Comments11

[Перевод] Современный веб-разработчик, или 6 вещей, которые вы должны знать, чтобы выжить

Reading time4 min
Views97K
Это статья об изменениях, которые произошли в мире веб-разработки. Я наблюдаю огромное количество веб-разработчиков, которые буквально застряли в устаревших технологиях, особенно в мире .NET. Если вы еще не начали совершенствовать свои навыки, и адаптироваться к изменяющимся трендам, вы должны начинать уже сегодня.
Читать дальше →
Total votes 169: ↑132 and ↓37+95
Comments90

Новое для веб-дизайнера за ноябрь 2012

Reading time1 min
Views57K
Продолжаю подборку новых полезных штук для веб-дизайнера за прошедший месяц. Прошлые выпуски: октябрь, сентябрь.

Сервисы и инструменты


Photo Raster — новый мощный графический редактор онлайн.

Читать дальше →
Total votes 92: ↑86 and ↓6+80
Comments27

Подборка инструментов для эффективной frontend разработки

Reading time3 min
Views101K
В эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!

Form Builder

image

Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
еще 24 ссылки
Total votes 204: ↑197 and ↓7+190
Comments46

Элементарные социальные share-кнопки

Reading time3 min
Views194K
В ответ на посты о кнопках для шаринга в социальных сетях с громоздким исходным кодом, и сложной детальной кастомизацией, хочу показать хабрасообществу решение которое однажды написал неизвестный, но однозначно добрый программист. Автор сего чуда не я, но использую это решение уже больше года в проектах с которыми работаю.
Читать дальше →
Total votes 78: ↑68 and ↓10+58
Comments58

AndroidKickstartr — создай современный проект в пять кликов

Reading time2 min
Views40K

На днях появился новый веб-сервис, позволяющий в несколько кликов создавать новый проект для андроид со всеми современными вкусностями сторонних библиотек.
Название AndroidKickstartr.com отлично описывает его задачу — максимально быстро и просто сконфигурировать новый проект, добавив туда все самое необходимое.
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments38

Sliding экранов внутри приложения

Reading time6 min
Views54K


Здравствуйте!

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

Примером таких решений является переключение между рабочими экранами в Android, где для перемещения от одного экрана к другому достаточно выполнить жест вправо или влево. О возможной реализации подобного решения и пойдет речь в данном посте.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments33

Node.js + Chromium = node-webkit: ещё более перспективный вариант второго шага эволюции веборазработчика

Reading time3 min
Views47K
Предисловие от переводчика.  В постскриптуме к моей вчерашней блогозаписи я указал, что AppJS — это не единственное такое средство, которое позволяет создавать приложения с GUI (графическим интерфейсом пользователя) при помощи вебоподобных методов разработки на языках HTML, CSS и JavaScript с использованием движка Node.js. Естественной иллюстрацией к этому постскриптуму является нижеследующий перевод гитхабовской страницы проекта node-webkit. И сразу скажу: я предвижу заранее, что непредвзятый взгляд ваш сочтёт node-webkit ещё более удобным и развитым средством, чем AppJS.



Введение


node-webkit — среда для запуска приложений, основанная на Chromium и Node.js. При помощи node-webkit можно создавать традиционные графические приложения посредством HTML и JavaScript. Также node-webkit позволяет вызывать модули Node.js прямо из DOM и тем обеспечивает новый способ создания таких приложений и употребления веботехнологий в них.

node-webkit создан и разрабатывается в Интеловском Центре технологий с открытым исходным кодом (Intel Open Source Technology Center).

Введение в node-webkit (слайды).

Достоинства


  • Приложения создаются при помощи современных HTML5, CSS3, JS и WebGL.
     
  • Полная поддержка API Node.js и созданных другими разработчиками модулей.
     
  • Вызов API Node.js без потерь в производительности.
     
  • Лёгкость упаковки и распространения приложений.

Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments30

oDesk для начинающих

Reading time6 min
Views502K

Зачем?

Вообще, идея этого поста пришла мне в голову в тот самый момент, когда я, не имея до этого за плечами полноценного опыта фриланса, решил всерьез освоить oDesk. Да, если кто не знает, oDesk — это одна из крупнейших в мире фриланс-бирж. Итак, дело было в июле этого года. Официальной работы к тому времени у меня уже полгода как не было, все подработки закончились, новых серьезных заказов не предвиделось, и oDesk представлялся мне весьма перспективным вариантом. Аккаунт, как водится, был зарегистрирован «про запас» еще за год до того, но висел все это время без дела, поэтому начинать нужно было с нуля. При этом я был почти уверен, что руководство, хотя бы самое краткое, на тему, как и с чего начинать, я где-нибудь (уж на Хабре-то точно!) да найду.
Возможно, я плохо искал. Однако все, что мне попалось по теме, сводилось только к тому, что не нужно сразу загибать цены, лучше начинать с небольших. Примерная цитата: «начинайте с $10 в час, со временем, дорастете и до $15». Дорастать до $15, да еще и со временем, мне категорически не хотелось, я был уверен, что можно зарабатывать значительно больше. Да и кроме того, меня волновало огромное количество вопросов. Как заполнять профиль? На какие проекты откликаться? Как составлять cover letter? Как, черт побери, получить этот первый заказ, когда все тебе отказывают?
В тот момент я решил, что если все у меня получится, обязательно напишу то самое руководство для новичков, которого я не нашел.

Читать дальше →
Total votes 192: ↑175 and ↓17+158
Comments385

Amazon Glacier: хранилище данных по $0,01 за 1 ГБ в месяц

Reading time1 min
Views34K
Сегодня начал работу новый проект Amazon Glacier: долговременное хранилище в облаке по невысокой цене $0,01 за 1 ГБ в месяц. Идеально подходит для хранения бэкапов и больших архивов, к которым не нужен частый доступ. Извлечение данных из Glacier занимает от 3,5 до 4,5 часов.

Как везде в AWS, пользователь оплачивает только тот объём ресурсов, которые реально использует, никакой абонентской платы. Загрузка и извлечение архивов, мониторинг статуса возможны через Amazon Glacier APIs. Все файлы автоматически шифруются AES 256 и дублируются в разных дата-центрах, прежде чем APIs возвращают ответ SUCCESS.
Читать дальше →
Total votes 119: ↑115 and ↓4+111
Comments195

Information

Rating
2,272-nd
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity