Архив за 09 февраля 2014 - 4

На этой неделе Apple начала удалять из App Store приложения, использующие IDFA, но не показывающие рекламу, а Google из Play приложения с альтернативными методами оплаты, Microsoft вложил 15 млн долларов в Foursquare, Puzzle & Dragons заработали первый $1 миллиард, а VisionMobile выпустила шестой Developer Economics. Это и многое другое в нашем еженедельной подборке новостей из мира мобильной разработки.

Дайджест новостей из мира мобильной разработки за последнюю неделю №39 (2 9 февраля 2014)Читать полностью »

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

Сокращённо, я называю этот подход «Json Remote Service Procedure Call» — JRSPC.
(Не очень благозвучно, конечно, но из песни слова не выкинешь.)

Применение jrspc — позволяет отказаться от использования слоёв
определений интерфейсов сервисов на клиенте и сервере, что сокращает количество кода,
упрощает его рефакторинг, и снижает вероятность появления ошибок.

Цена за это — замена набора параметров в сервисных методах,
на один параметр — объект Json, что немного усложняет код в сервисных методах.

Т.е, на сервере, вместо: int plus(int a, int, b){return a + b;};,
мы должны будем написать: int plus(JSONObject p){return p.optInt("a") + p.optInt("b", "4");};,

а на клиенте, вместо: PlusService.plus(1, 2, callbacks);,
должны будем написать: Server.call("plusService", "plus", {b: 2, a: 1}, callbacks);.

Однако, заплатив эту цену, мы получаем возможность исключить из процесса разработки
конфигурирование сервисов на сервере и подключение их на клиенте,
а также, сможем избежать ошибок, связанных с изменением мест параметров,
и сможем добавлять в параметры значения по умолчанию ( p.optInt(«b», «4») ).

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

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

Виртуализация — очень актуальная тема, так как позволяет более рационально использовать ресурсы сервера. И, признаюсь, мне было очень приятно познакомиться с OpenVZ.

OpenVZ — это реализация технологии виртуализации на уровне операционной системы, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, так называемых контейнеров (Virtual Environments, VE).

Поскольку OpenVZ базируется на ядре Linux, в роли «гостевых» систем могут выступать только дистрибутивы GNU/Linux. Однако виртуализация на уровне операционной системы в OpenVZ дает также и многие преимущества, а именно: удобство в администрировании, плотное размещения виртуальных контейнеров в хост-системе (это обычно положительно отражается на стоимости VPS-хостинга) и несколько лучшую производительность по сравнению с технологиями полной виртуализации.

Конечно, и недостатков достаточно. Главный из них, что в отличие от KVM, модули OpenVZ не входят в ванильное ядро, поэтому для фунционування последнего необходимо отдельное ядро и версия его далеко не последняя. На момент публикации этой статьи последняя стабильная версия — 2.6.32-042stab084.14. Из этого по сути следует, что хост-системой на OpenVZ может выступать не каждый дистрибутив, а только с ядром 2.6.32 и около версии. Поэтому, скажем, OpenVZ — ядро под Ubuntu 12.04 LTS вряд ли заведется (что я уже попробовал), ведь ядро здесь версии 3.8. Но не все так плохо, так как для RedHat 6 (CentOS 6, Scientific Linux 6) и Debian 7 все просто устанавливается и эти дистрибутивы официально поддеживаются Parallels.

Следующий недостаток в том, что все контейнеры работают под одним ядром (ядром хост-системы) и добавить необходимый модуль ядра уже будет не так просто, как в случае с технологиями полной виртуализации. В результате на OpenVZ-контейнерах не сможет работать NFS-сервер или другие сервисы, которым необходима тесная интегрирация с ядром. О некоторых других недостатках и преимуществах систем виртуализации можно почитать например здесь.

Теория без практики — мертва, поэтому самое время описать установку и настройку хост-системы для OpenVZ. В качестве хост-системы я выбрал CentOS 6.5. Добавляем репозитории для установки ядра OpenVZ и утилит для работы с контейнерами:

# wget -P /etc/yum.repos.d/  http://ftp.openvz.org/openvz.repo
# rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ

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

Всем привет!

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

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

Иногда я проверяю свою рабочую почту и вижу там сообщение «Анонс доклада: Вершиннная эллиптическая криптография в N-сторонних Бананотряховых[1] пространствах». Я смотрю аннотацию и там говорится что-нибудь типа «Хорошо известно, что 5-сторонний обмен секретами нелегален со времён Протестантской Реформации [Лютер1517]. Однако, используя новые результаты в области исполняющихся за полиномиальное время Бананотряховых проекций, мы показываем, как множество корреспондентов, притворяющихся друзьями (но являющихся противниками)[2], могут послать друг другу вплоть до 5 ехидных язвительных замечаний, устойчивых к атакам с использованием выбранным по Бананотряху открытого текста сообщения». Такое чувство, что началась середина трагичной, но вряд ли интересной оперы. По какой именно причине нас только что засунули в эллиптический мир? Кто именно такой этот Бананотрях, и почему нам не пофигу, какой он там открытый текст выберет? Если потому, что он похитил наши семьи, можно мне хотя бы обменяться сообщениями с похищенной роднёй, и если да, обязательно ли сообщения должны быть ехидными и язвительными?
Читать полностью »

Робот для игры в воздушный хоккей из частей для 3D принтера

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

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

Введение

В процессе создания более ли мене сложного сайта приходится задумываться об организации доступа к БД(базе данных). Если сайт создается на базе существующего фреймворка или CMS, то там как правило имеются встроенные механизмы ORM (с англ. — Объектно-реляционное отображение, подробнее в вики). В данной статье я расскажу как можно прикрутить популярную и простую ORM систему ActiveRecord к собственному фреймворку.
Читать полностью »

IBM получила от DARPA 3,45 миллиона долларов на разработку самоуничтожающейся электроники
Самоуничтожающийся бобинный магнитофон из какого-то фильма

Идея создания самоуничтожающейся электроники тревожит умы военных США, да и не только США. Только недавно появилась новость о том, что DARPA предоставила 4,7 миллионов долларов компании SRI для создания биоразлагаемой электроники.

Теперь средства от DARPA получила и компания IBM. В рамках нового проекта IBM будет разрабатывать самоуничтожающиеся КМОП-чипы. Ну, а цель всего этого прежняя — не дать врагу возможности разобраться в строении электронных устройств, потерянных на поле боя.

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

Солдаты и роботы

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

Конкурс «СКБ Контур» глазами стажера Supl.biz

Меня зовут Александр Кирюшкин, я учусь на втором курсе физико-технического факультета Томского государственного университета. В декабре 2013 года я ездил в Екатеринбург, чтобы представить проект по расширению базы Supl.biz на студенческом конкурсе компании СКБ-Контур.
Читать полностью »


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