Гитхаб скоро запустит текстовый редактор с богатым функционалом

Автор: admin от 26-02-2014, 19:05, посмотрело: 414

На Гитхабе скоро появится продвинутый редактор кода. Никакого официального объявления об этом команда Гитхаба пока не сделала, однако уже опубликованы около семидесяти репозиториев, по которым можно примерно представить себе функционал будущего редактора. Официальный сайт редактора, atom.io, пока не содержит только заставку с одним словом: «Soon» («скоро»). В некоторых репозиториях есть и скриншоты будущего редактора:

Гитхаб скоро запустит текстовый редактор с богатым функционалом
Темная тема интерфейса

Категория: Программирование, Веб-разработка

 

Самодельный фазовый лазерный дальномер

Автор: admin от 26-02-2014, 18:05, посмотрело: 2792

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

Категория: Железо » Сделай Сам

 

Новое применение графена: высокоэффективные фильтры для воды

Автор: admin от 26-02-2014, 18:05, посмотрело: 541

Учёные из Массачусетского технологического института разработали технологию, позволяющую делать в листах графена отверстия определённого диаметра. Получившееся «решето» в зависимости от размеров отверстий может фильтровать частицы разного размера — от ионов до крупных органических молекул. Мембраны фильтров из традиционных материалов приходится делать довольно толстыми, чтобы они были достаточно прочными (для установок обратного осмоса, опресняющих морскую воду, рабочее давление может достигать 70 атмосфер). Графен в десятки раз прочнее пластика, из которого делают обычные мембраны, а значит мембрана может быть намного тоньше и пропускать воду гораздо быстрее.

Новое применение графена: высокоэффективные фильтры для воды

Категория: Железо

 

Linux-vserver или каждому сервису по песочнице

Автор: admin от 26-02-2014, 16:55, посмотрело: 452

Недавно на хабре публиковались статьи о openvz и lxc. Это напомнило мне, что эта статья всё еще валяется в sandbox'е…

Для целей размещения проектов я применяю такую схему: каждый сервис запускается в изолированной среде: боевой — отдельно, тестовый — отдельно, телефония — отдельно, веб — отдельно. Это снижает риски взлома систем, позволяет бакапить всё и вся одним rsync'ом на соседний сервер по крону, а в случае слёта железа просто поднять на соседнем железе. (А использование drbd + corosync позволяет это делаеть еще и автоматически)

Для создания изолированной среды есть два подхода, именуемые VDS (виртуализация аппаратуры) и VPS/jail (виртуализация процессного пространства).

Для создания VDS изоляций применяют XEN, VirtualBox, VMWare и прочие виртуальные машины.
Для создания VPS на linux используется либо linux-vserver, либо openvz, либо lxc.

Плюсы VDS: система внутри может быть совершенно любой, можно держать разные версии ядер, можно ставить другую ОС.
Минусы VDS: высокие потери производительности на IO, избыточное потребление CPU и RAM на сервисы, дублирующие запущенные на серверной ОС.

Плюсы VPS: крайне низкая потеря производительности, только на изоляцию, запускаются только те сервисы, которые реально необходимы.
Минусы VPS: можно запустить только linux и ядро будет только той версии, что уже запущено.

Так как мне не нужны разные ОС, то всюду применяю linux-vserver (так уж сложилось исторически, применяю с 2004го года, а openvz вышел в открытый доступ в 2005м), а lxc в моём понимании еще не дорос до продакшена (хотя и очень близок уже).

Ниже я опишу базовые операции по запуску LAMP сервера в изолированном окружении.

Категория: Системное администрирование, Linux

 

Разработка кроссплатформенных мобильных приложений в Delphi #6

Автор: admin от 26-02-2014, 15:55, посмотрело: 1331

Часть #1
Часть #2
Часть #3
Часть #4
Часть #5

После слегка затянувшейся паузы мы продолжаем рассказ о создании мобильного приложения в Delphi с помощью Платформы FM. Напомню, что в качестве задачи мы выбрали реализацию кулинарной книги, снабженной «калькулятором пропорций продуктов» и таймером. Разработку мы начали с создания «настольного приложения». Поэтапно также реализовали и мобильный аналог для платформы Android. В качестве СУБД была выбрана SQLite.

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

И второй момент, на который следует обратить внимание, прежде чем перейти непосредственно к описанию процесса дальнейшего развития наших приложений. В средине декабря был выпущен Update 2 для Delphi и RAD Studio. Если вы экспериментировали со сторонними компонентами в проекте, вам следует использовать новые версии, совместимые с Update 2. Возможно, также придется заново пересоздать отдельные формы.

Теперь, приступим к построению мобильного приложения. На мой взгляд, термин «построение» здесь наиболее уместен. Ведь вся бизнес логика, по сути, уже создана в настольном приложении, и нам остается только перенести ее в приложение мобильное.

На предыдущих этапах мы уже создали проект мобильного приложения, модуль данных и заготовку главной формы приложения. Сделаем активной вкладку «Ингредиенты» и разместим на ней необходимые компоненты. В принципе, и в мобильном приложении мы могли бы использовать компонент табличного отображения данных (Grid). Концепция интерфейса для платформы Android, хотя и предполагает возможность использования Grid'а. Однако, как уже отмечалось ранее, Grid для Android несколько отличается от обычного Grid’а для настольных приложений. Поэтому для отображения данных лучше использовать компонент TListBox. Естественно, данные, отображаемые в нём, не будут редактироваться.

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

Список отображает информацию из набора данных посредством LiveBindings автоматически. Формирование же представления целесообразно делать на уровне набора данных, оставляя компоненту TListBox роль декорирования. Поэтому, думая об отображении информации в списке на интерфейсе, мы тем не менее начнём работу с набором данных.

Категория: Операционные системы » Android

 

Применяем делегирование совместно с наследованием для организации контроллеров действий

Автор: admin от 26-02-2014, 15:55, посмотрело: 521

Добрый день коллеги, сегодня я расскажу сказку о своём опыте организации контроллеров в проекте на ZF 1 (так исторически сложилось).
В хороших книжках по ООП часто пишут, что наследованием нельзя увлекаться, нужно предпочитать делегирование или делать так, чтобы они работали совместно. К сожалению, не всегда можно быстро догадаться, как применить сухую теорию на практике (а когда наконец-то доходит, удивляешься «что тут сложного?»), поэтому надеюсь мой опыт кому-нибудь пригодится.

И так сначала о проблемной области:
31 Controller Action, большинство из них имеет методы indexAction(), addAction(), editAction(), searchAction().
проблема №1: большинство, но не все. В остальных наличие этих методов варьируется,
проблема №2: методы editAction() и addAction() массивные сами по себе, и почти одинаковые для всех контроллеров, отличаются инициализация формы, и сохранение модели.

Как я это решил, покажу сразу в коде.

Категория: Программирование

 

Impact Mapping — как dev-команде перестать делать то, что требуют, и начать делать то, что нужно?

Автор: admin от 26-02-2014, 15:55, посмотрело: 886

Impact Mapping — как dev-команде перестать делать то, что требуют, и начать делать то, что нужно?

Доклад с прошлогодней конференции специалистов системного и бизнеса анализа — Analyst Days 2013 года от старшего аналитика питерского офиса компании DELL — Петрашева Дмитрия

На странице доклада можно найти презентацию и видео, а здесь текст…

Категория: Программирование, Веб-разработка

 

Самая быстрая в мире сеть передачи данных от «МегаФона»

Автор: admin от 26-02-2014, 14:55, посмотрело: 433

Самая быстрая в мире сеть передачи данных от «МегаФона»

Спешим обрадовать наших клиентов и «порадовать» конкурентов: сегодня «МегаФон» осуществил запуск сети новейшего стандарта LTE-Advanced. Его можно назвать стандартом 4G+.

Запуск состоялся не на бумаге, новая сеть доступна уже сейчас. Это первая в мире действующая сеть стандарта LTE-Advanced, обеспечивающая рекордную скорость передачи данных до 300 Мбит/сек. Причём стоимость услуг в ней такая же, как и в сетях 3G и 4G, то есть цена для абонентов никак не изменится.

Категория: Программирование » Веб-разработка

 

Скажи говнокоду нет! Sonar как генератор задач для регулярного рефакторинга

Автор: admin от 26-02-2014, 13:55, посмотрело: 783

Простая и короткая статья. Из серии «на заметку хозяйке».

Есть гибкая система сканирования кода на соответствие правилам, метрикам (полезным, типа цикломатической сложности), и так далее.
Называется Sonar.

КПЗ
Скажи говнокоду нет! Sonar как генератор задач для регулярного рефакторинга

Пара скриншотов на живых данных под катом.

Категория: Программирование

 

Опыт разработки интерфейса интеллектуальной обучающей программы

Автор: admin от 26-02-2014, 13:55, посмотрело: 414

В будущем традиционное обучение точным наукам может быть дополнено не только MOOC (Massive Open Online Courses) курсами, но и курсами в «следящих» интеллектуальных обучающих программах. Такие программы способны до некоторой степени оценить решение студента на завершенность и правильность, а также предоставить подсказки по решению. На рисунке ниже — интерфейс ввода решения задачи в «следящей» обучающей программе, разработанной нашим коллективом:

Опыт разработки интерфейса интеллектуальной обучающей программы

Категория: Программирование » Веб-разработка

 
Назад Вперед