Архив за 22 июля 2014 - 8

Производительность и цена – это два основных, наиболее значимых фактора в хостинге приложений. Мы часто спрашиваем себя, как тратить меньше, не ухудшая производительности приложений. В данной статье мы рассмотрим автоматическое управление памятью для Java-приложений, размещенных на облачном хостинге Infobox Jelastic с использованием сборки мусора и Jelastic GC Agent. В конце статьи небольшой сюрприз.

Для начала определим, что такое сборка мусора и что она делает для нашего Java-приложения. Затем поговорим подробнее от процессах сборки мусора в Jelastic.
Читать полностью »

Это восьмая статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

Цель данного руководства — разработать довольно функциональное приложение-микроблог, которое я за полным отсутствием оригинальности решил назвать microblog.

Оглавление

Часть 1: Привет, Мир!
Часть 2: Шаблоны
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья(данная статья)
Часть 9: Пагинация
Часть 10: Полнотекстовый поиск
Часть 11: Поддержка e-mail
Часть 12: Реконструкция
Часть 13: Дата и время
Часть 14: I18n and L10n
Часть 15: Ajax
Часть 16: Отладка, тестирование и профилирование
Часть 17: Развертывание на Linux (даже на Raspberry Pi!)
Часть 18: Развертывание на Heroku Cloud

Резюме

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

Сегодня мы немного поработаем с нашей базой данных. Читать полностью »

Домашняя библиотека современного ребёнкаВ моём детстве огромную роль играли книги. У моих родителей (тогда ещё молодых инженеров) было много книг — приключенческие романы, детективы, фантастика, техническая и научная литература. У отца была подшивка журналов «Юный техник» и «Изобретатель и рационализатор» за полтора десятилетия. Книга или журнал в нашем доме всегда были чем-то очень важным. Дело было даже не столько в том, что в 80-90-ых их было не так легко достать, как во внимании, с которым мои родители их читали, обсуждали, что-то пересказывали мне. А ребёнок ведь в любом случае наследует поведение родителей, их интересы. И я зачитывал до дыр технические журналы, легко «глотал» детскую фантастику Булычева и Гаррисона, чуть поднапрягшись — и более серьёзных Брэдбери и Шекли. Городская библиотека, откровенно презираемая большинством моих сверстников, видела меня 2-3 раза в неделю почти десятилетие. Во многом мой жизненный путь, интерес к науке и технике, был определён уже тогда. Думаю, если бы в моём книжном шкафу 20 лет назад не стояли «Аэлита» Толстого, «Машина времени» Уэллса и «Я, робот» Азимова, я не писал бы сейчас на Хабре эту статью (и сотню предыдущих), а протирал бы штаны где-нибудь на должности «менеджера среднего звена по перекладыванию из пустого в порожнее».

Сегодня на дворе 2014 год и вот уже мой ребёнок учится читать по слогам. Завтра он протянет руку к книжному шкафу. Что же он возьмёт — бумажную книгу или электронную? Что это будет за книга?
Читать полностью »

Что должен делать стартап, чтобы выжить? В прошлом материале блога мы рассказывали о проекте SHOPPILOT (История проекта SHOPPILOT: От факапа до стартапа). С ними мы познакомились будучи в Акселераторе ФРИИ. На этот раз хотим поделиться теми знаниями, которые дает процесс обучения в акселераторах. Расскажем о том, как за 3 дня нам дали азы стартаперства на программе Web Ready GenerationS 2014, которая проходила на базе ФРИИ. Из данной статьи можно узнать, какие стадии проходит стартап, прежде чем превратиться в бизнес, как лучше прописать бизнес-модель проекта для привлечения инвестиций и несколько лайфхаков, которые помогут стартапу выжить. Сначала заставим немного «поскучать» над теорией, а затем «развеселим» реальными кейсами.

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

Читать полностью »

Удивительный фреймворк phalconНедавно в нашей компании было решено попробовать фреймворк phalcon c целью в перспективе кое-что отрефакторить и в новом коде использовать именно его. Причины банальны — скорость работы, симпатичный orm.

Но вот в процессе тестирования фреймворка у меня в голове все чаще и чаще стал всплывать термин «Принцип наименьшего удивления». И именно потому, что я все больше и больше удивлялся.
Читать полностью »

Здравствуй Хабр!

Периодически возникает необходимость отследить запросы, которые отправляет Ваше приложение к базе данных. К примеру:
— Вам нужно отладить/доработать чужой код
— Запросы генерируются с помощью сторонней библиотеки (к примеру ActiveRecord), не понятно, какие именно и сколько их.
— Нужно оптимизировать приложение: посмотреть какие запросы и сколько их, посмотреть explain этих запросов.

На помощь приходит Beaver mysql logger!

Читать полностью »

Думаю, многие уже знакомы с понятием гомоморфного шифрования и знают об открытии первой полностью гомоморфной криптосистемы (Fully homomorphic cryptosystem) Крэгом Джентри в 2009-ом году. Последние годы весь интернет полнится новостями по этой теме, преимущественно англоязычные ресурсы. А на русскоязычных сайтах по-прежнему не так много информации, особенно, касающейся применения этого новшества. В этой статье хотелось бы рассказать, как использование гомоморфного шифрования может быть полезно в различных областях.
Читать полностью »

ТКС Банк нашел хакера, который предположительно виновен в волне DDoS-атак весны этого года, пишет РБК со ссылкой на пресс-службу компании.

Хакер Pump Water Reboot, атаковавший этой весной 17 различных ресурсов, от общения не скрывался. Он обращался к своим жертвам через ленту Twitter, сообщая им, что они находятся под DDoS-атакой и предлагал прекратить ее за $1000. В Twitter же он сообщал всем желающим адрес электронной почты, по которой с ним можно было связаться.

Читать полностью »

Лучшие грабли российских IT стартапов

1. «Сам дурак»
Большая проблема — нежелание слушать мнение окружающих. Когда половина проекта готова и внезапно становится понятно, что проект нежизнеспособен, есть два варианта: резко меняться или сворачиваться. Знаете, что часто делают руководители IT-стартапов? Перестают слушать людей снаружи, превращают команду в секту и упорно допиливают продукт. Потому что полработы уже сделано.

2. Не знать конкурентов
Офигенный подход аутистов — взять и сделать прототип без изучения рынка. Незнание прямого конкурента, косвенного конкурента и западных аналогов продукта — это не самая хорошая идея. Нужно смотреть, кто уже работал в этом направлении и, главное, с какими проблемами сталкивался. Потому что эти проблемы придут к вам. Ещё полезно замерять показатели конкурентов и сравнивать со своими. Если конкурентов нет — это повод насторожиться. Возможно, ваш продукт никому не нужен.
Читать полностью »

imageВ этой статье я расскажу о своем опыте в эксплуатации и настройке игровой консоли на android "EXEQ Ray 2" (близнец JXD S5110b). При чем рассказывать я буду не о том, как она работает в качестве андроид-девайса, а исключительно в качестве эмулятора старых игровых консолей — Sega, NES (денди), SNES, DS, и т.п. Ведь именно в качестве портативного эмулятора я ее и покупал.

Быстро пробежимся по скучным техническим характеристикам:

  • Габариты: 195х87х17 мм, 232 г
  • Android 4.1.1 с root-правами «из коробки»
  • Экран 5'', глянцевый, TN, 800x480, эмкостной тач на 5 касаний
  • 8 Gb памяти + microSD
  • 2-ядерный 1.5 GHz CPU
  • Wi-Fi, mini-HDMI, акселерометр, камера 0.3 MPx
  • Два аналоговых стика, два бампера (шифта), D-Pad, 4 кнопки, start, select
  • Аккумулятор: Li-Ion 2200 mAh (3 часа игры)
  • Стоимость: ~4200 руб.

В видеоролике ниже я покрутил приставку в руках, немного рассказал о ней и показал, как она работает:

Для всех, кто заинтересовался, далее я расскажу о всех проблемах, с которыми я столкнулся и расскажу, как их решал.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js