Pull to refresh
  • by relevance
  • by date
  • by rating

Установка MySQL в Leopard

IT-companies
Я полагаю что многие заметили, что на офсайте MySQL отсутствует dmg пакет MySQL для Леопарда. Рисковать и «прогонять» тигровый пакет я не стал, а просто собрал свой БД сервер прямо из исходников. Делается это примерно так:

Необходимо знать/уметь/иметь:
  • Вы знаете что такое консоль и как ей пользоваться (пусть на уровне чайника – этого будет достаточно)
  • Вы знакомы с основами *nix и не испытываете проблем с оргазмом от полупрозрачной консоли в MacOS X
  • У вас уже есть XCode, если его нет – скачайте и установите с офсайта XCode 3.0


Итак, в дело, бейби, да!
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Views448
Comments 6

TaffyDB — СУБД для AJAX приложений

JavaScript

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

Да, выход из этого есть. В частности, самым лучшим решением (в теории) является использовать специальных плагинов для расширения функциональности браузера, для примера, в Google Gears встроена полноценная СУБД (SQLite), и вы получаете в свое распоряжение все ее возможности прямо в JavaScript коде (самое ценное, по моему, кроме хранения большого обьема данных, является полнотекстовый поиск). Аналогичные инструменты можно встретить в спецификации HTML 5, да и в последних версиях Mozilla Firefox будет встроена база данных в качестве клиентского стораджа, в среде Adobe AIR также используется встроенная база SQLite. Но что делать, если все эти радости по какой-либо причине недоступны либо их использование ограничено, а удобное хранение и работа с данными нужно иметь уже здесь и сейчас, и без дополнительных надстроек. Выход, конечно же есть!

Читать дальше →
Total votes 30: ↑29 and ↓1+28
Views2.3K
Comments 8

Структура базы данных ICQ.com

Instant Messaging
В сети появился слух, что «благодаря» ошибке на странице сайта была получена структура части базы данных icq.com, отвечающая за группы, форумы, открытки и прочие мелочи.

Если кому-то интересно, прошу под кат. Там, собственно, текст. Много.
Читать дальше →
Total votes 79: ↑42 and ↓37+5
Views1.9K
Comments 34

10gen — ещё один стартап в области Cloud Computing

High performance
Сегодня мы поговорим о чём-то высоком… облачном. Да, о новом или, вернее, малоизвестном у нас стартапе, который создал свою платформу для облачных вычислений, хотя и это не совсем уж так точно — это платформа, которая предоставляется как сервис и позволяет получить гибкую и масштабированную среду исполнения для веб-проектов. В чём-то это все похоже на известный всем и уже почти нарицательный Amazon EC2, но и отличается от него существенным образом. Что и как — мы дальше и рассмотрим.

Стартап 10gen предлагает разработчикам свою технологию построения platform-as-a-service, которая позволяет получить гибкую и почти неограниченную по масштабированию платформу (уже сколько раз мы повторили это слово) для развёртывания приложений, которым нужно работать в условиях переменной нагрузки, которая, однако, имеет тенденцию для постоянного роста, которым нужно защищённая и простая платформа, чтобы добавление нового сервера или апгрейд базы данных не вызвал прекращение работы всей системы на несколько часов или суток.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Views1.8K
Comments 1

FathomDB — новый стартап от Y Combinator.

Lumber room
Сегодня стартовал закрытый бета-тест. В данный момент известно достаточно мало подробностей о данном стартапе (например, неизвестно кто за ним стоит), но задумка смотрится весьма интересно. FathomDB предлагает нам «реляционные БД как сервис».
Если по сути, то в данный момент это MySQL на EC2 с различными «плюшками». Следовательно, можно без особых проблем начать использование данного сервиса, или наоборот — прекратить.

Из «плюшек» нам предлагают автоматические бэкапы и мониторинг, а также всякие полезности для анализа производительности (в данный момент, судя по всему, не сильно продвинутые — круговые диаграммы и просмотр самых медленных запросов). На их сайте доступен скринкаст, а также предложение оставить е-мэйл (после чего вам пообещают написать, когда создадут ваш аккаунт).
В дальнейшем, по заявлению разработчиков, планируется поддержка других БД и хостингов.

Что интересно — WebMynd, тоже YC-стартап (очередное гетто? ;), начали использовать FathomDB ещё в прошлом году и неплохо его пиарят :)

В принципе — отличная идея с движением в правильном направлении (хотя это, естественно, не мэйнстримовый продукт).
И, если не ошибаюсь, отказоустойчивые БД на EC2 предлагает как минимум ещё один, более крупный игрок — RightScale.
Total votes 9: ↑7 and ↓2+5
Views204
Comments 9

Марш против RDBMS или проекты распределенных хранилищ (key-value stores)

High performance
candybar2Вот вы часто создаете проекты? И, наверное, везде применяете базу данных, в частности, MySQL (а кто-то и PostgreSQL). Но вот что интересно, по опыту да и просто после чтения описания различных архитектур видно, что далеко не везде в проекте нужны ключевые особенности баз данных, во многих случаях базу используют просто как некоторое хранилище обычных данных. Например, в системах кеширования базы обычно не применяются, более того, кеширование как раз используют для того, чтобы избежать лишних запросов. А что используют для кеширования наиболее часто? Memcached. А что это такое? Это распределенная система хранения данных на основе хеш-таблицы. В общих чертах, это просто хранилище пар ключ-значение, над которыми можно производить только основные операции — запись, чтение, удаление и проверку на присутствие. Да-да, нет никаких фильтров, выборок, сортировки, самый максимум — система тегов для выборки одним запросом всех связанных записей. И во многих случаях такого функционала вполне достаточно.
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Views15K
Comments 31

Старые перцы vs. молодые герои

Lumber room
В январе 2007, двое убеленных сединами, RDBMS специалиста, David J. DeWitt и Michael Stonebraker опубликовали страшную вещь. А они действительно убеленные сединами, и действительно специалисты, так вот, они покусились на святое, на MapReduce — см. “MapReduce: A major step backwards” В статье они критикуют MapReduce вообще и называют его шагом назад по сравнению с RDBMS. Само собой, в коментах молодые герои их смешали с говном. Впочем были и аргументированные ответы — см. “Databases are hammers; MapReduce is a screwdriver” И тут Девиду и Майклу показалось мало, они публикуют статью-ответ на всю критику сразу см. “MapReduce II”. Все эти статьи очень интересное чтиво, включая коментарии.

Рекомендую.
Total votes 11: ↑10 and ↓1+9
Views372
Comments 6

Администрирование WEB SQL DB в Chrome

Google Chrome
image

Прочитав однажды вот этот пост, после покопавшись в черновиках w3c, начал потиху в этом пытаться разбираться.
Сразу оговорюсь, что технология хранения данных на стороне клиента — штука не новая. А в этом варианте, так ещё и, в большей степени, вебкитная (webkit) да и под html5, так что может многих отпугнуть.
Рассказывать как она работает я не буду (есть ссылки чуть выше, там всё подробно описано), а хотел бы обратить выше внимание на администрирование БД при помощи браузера Chrome
Читать дальше →
Total votes 66: ↑58 and ↓8+50
Views14K
Comments 36

Database Connection Pool

Java
Добрый день, хабралюди!
2 недели назад я начал работать juior java разработчиком, и, соответственно, получать много нового для себя опыта. Сегодня я решил совместить приятное с полезным и начать этот опыт оформлять в письменные мысли — в виде статей о тех технологиях, принципах и приёмах, с которыми я столкнулся на своём джуниорском пути. Нижеследующая статья — первая среди подобных, и выкладывая её здесь, я хочу, во-первых, понять, нужны ли хабрасообществу подобные вещи — рассказы не умудрённых опытом и сотнями проектов старожилов, а небольшие попытки поделится опытом от джуниора джуниору, — а во-вторых, как обычно, услышать замечания, исправления и критику.
Спасибо за внимание.


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

Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
Читать дальше →
Total votes 49: ↑34 and ↓15+19
Views139K
Comments 38

Критерии качества сигнала в сетях WiMax

Yota corporate blog
imageВ статье «Тестирование антенн Wi-Fi для приема WiMax» я приводил параметры CINR и RSSI как результаты своих экспериментов, лишь примерно представляя себе, что отражают эти величины. Пребывать в неведении мне было стыдно, и я детально разобрался в этом вопросе.
Не сомневаюсь, что найдутся Хабралюди (такие, как shogunkub), для которых данный топик не откроет ничего нового, но многим, я уверен, будет так же интересно разобраться, как и мне.


Читать дальше →
Total votes 45: ↑43 and ↓2+41
Views151K
Comments 55

Миграции БД для .NET

.NET
Добрый вечер!

Вышла версия 2.0 инструмента для версионной миграции БД - ECM7.MigratorНедавно здесь поднималась тема версионного изменения структуры БД. Среди готовых решений для миграции БД (для .NET-проектов) там упоминался проект ECM7.Migrator, одним из авторов которого я являюсь.

Вчера мы, наконец, отрелизили версию 2.0. Взять новую версию можно на страничке проекта в google code и в галерее пакетов nuget.

Краткий рассказ о миграторе и список изменений новой версии под катом..
Total votes 48: ↑40 and ↓8+32
Views2.8K
Comments 29

Jelastic — Java cloud platform for hosted service providers

Jelastic corporate blog


Это наш новый промо-ролик для хостинговых компаний. Он раскрывает не все наши преимущества и функциональность, но довольно понятно и вкратце объясняет что мы делаем и зачем. На текущий момент у нас есть два крупных партнера — это хостинговые компании в Европе и в США. Скоро будут объявлены официальные пресс релизы по этому поводу. Есть ряд заинтересованных хостеров в Японии, Австралии и других странах. Jelastic старается сделать облачный хостинг более распространенным решением, дабы дать разработчикам максимальную свободу и независимость при выборе поставщика облачных услуг.
Total votes 27: ↑24 and ↓3+21
Views1.2K
Comments 11

Наболевшее об исходном коде объектов БД

Oracle
Sandbox
Представьте такую ситуацию: команда разработчиков работает над программой. При этом исходный код приложения нигде не хранится. Каждый программист с помощью специального декомпилятора выгружает нужный код из бинарника, работает с ним, а потом вновь собирает и отдает на дальнейшую разаработку коллегам.
Как вы думаете, это нормальная ситуация? Думаю, что нет.
Но почему-то такой подход довольно часто применяется при разработке приложений БД.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Views4.3K
Comments 29

Делаем oracle deploy-скрипт независимым от окружения

Oracle
Sandbox
Уже не одна правильная статья написана про необходимость и преимущества хранения исходных кодов схем базы данных в системах контроля версий (типа CVS, SVN, TFS и др.), а также ведения deploy – скриптов.
Не стану повторяться, но разберем один специфических аспектов этого процесса.

Не секрет, что нормально поставленный процесс разработки состоит из собственно разработки(Dev), внутреннего тестирования(QA), приёмочного тестирования конечными пользователями (UAT) и, непосредственно, «Production». Детали жизненного цикла могут отличаться в индивидуальных случаях, но это не существенно для темы статьи.

Порой (а в опыте автора – часто) так случается, что окружения, на которых происходят разные этапы этого цикла могут отличаться по тем или иным причинам. Различия могут быть какие угодно. От разных tablespace-ов, до отличий в названиях схем, DBLink-ов и других индивидуальных особенностей. Как эффективно решить эту неприятность мы и рассмотрим в этой статье.

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Views3.6K
Comments 11

Связка ExtJS+Django+Apache+SVN deploy (и простой CRUD контроллер на Django)

DjangoExtJS/Sencha
Sandbox
Tutorial

Предисловие

Сразу хочу попросить прощения за столь перегруженную статью, но для меня сейчас всё это актуально и связано. Думаю что некоторым это может пригодиться для будущей разработки. Хочу обратить внимание, что в этой статье я не стану рассказывать вам как устанавливать те или иные тривиальные вещи, установка которых, к тому же, зависит от той или иной платформы. Также в статье я не описываю телодвижения по настройке прав доступа к файлам сервера, опять же, это зависит от реализации. В статье описан процесс настройки на PDC сервер с именем tci.lan, все имена сохранены, в вашем случае их следует заменить на соответствующие вам. Данная статья содержит код, для улучшения читаемости он спрятан в спойлерах.
Читать дальше →
Total votes 13: ↑6 and ↓7-1
Views8.5K
Comments 10

ASP NET.MVC Урок 3. Работа с БД

.NETASP
Tutorial
Цель урока: Изучить основные принципы работы с базой данных. Краткое описание реляционной модели баз данных. Работа с базой данных (создание таблиц, связей в VS 2012). Команды INSERT, UPDATE, DELETE, SELECT. Использование LinqToSql и Linq. Создание репозитария, IRepository, SqlRepository.

Что такое БД

Реляционная база данных — база данных, основанная на реляционной модели данных. Реляционность – это отношения (связи) от англ. relation.
Таблицы...
Total votes 146: ↑96 and ↓50+46
Views214K
Comments 22

ASP.NET MVC Урок E. Тестирование

.NETASP
Tutorial
Цель урока. Научиться создавать тесты для кода. NUnit. Принцип применения TDD. Mock. Юнит-тесты. Интегрированное тестирование. Генерация данных.

Тестирование, принцип TDD, юнит-тестирование и прочее.

Тестирование для меня лично – это тема многих размышлений. Нужны или не нужны тесты? Но никто не будет спорить, что для написания тестов нужны ресурсы.
Рассмотрим два случая:
  1. Мы делаем сайт, показываем заказчику, он высылает список неточностей и дополнительных пожеланий, мы их бодро правим и сайт отдаем заказчику, т.е. выкладываем на его сервер. На его сервер никто не ходит, заказчик понимает, что чуда не произошло и перестает платить за хостинг/домен. Сайт умирает. Нужны ли там тесты?
  2. Мы делаем сайт, показываем заказчику, он высылает список правок, мы их бодро правим, запускаем сайт. Через полгода на сайте 300 уников в день и эта цифра растет изо дня в день. Заказчик постоянно просит новые фичи, старый код начинает разрастаться, и со временем его всё сложнее поддерживать.


Читать дальше →
Total votes 125: ↑86 and ↓39+47
Views47K
Comments 0

Поддержка транзакций, тестового окружения и другие удобные надстройки над commons-dbutils

Website developmentProgrammingJava

Поддержка транзакций, тестового окружения и другие удобные надстройки над commons-dbutils.


"/>
  Если обращение к RDBMS вашего проекта ведется не через ORM или Spring JdbcTemplate, то работу через голый JDBC может сильно скрасить commons-dbutils.
Особенно если его надстроить транзакциями, работой с разными окружениями, авто-открытием/закрытием ресурсов, запрсами read-only, обработкой SqlException, возвратом pk при вставке и т.д.
Т.е, например, чтобы можно было бы сделать так:
int userId = Sql.queryForValue("SELECT ID FROM OU.USERS WHERE LAST_NAME=?", "IVANOV");
Sql.update("DELETE FROM OU.USERS WHERE FIRST_NAME=? AND LAST_NAME=?", fname, lname);
List<User> list = Sql.query("SELECT FROM OU.USERS", USER_LIST_HANDLER);
int newId = Sql.insert("INSERT INTO OU.USERS VALUES (?,?)", fname, lname);

И этот код работал бы внутри транзакции, через Application Server Connction pool и в JUnit без изменений и mock-ов.
За чуть меньше года моей работы с commons-dbutils он оброс различными классами и утильными методами, о которых и хочу здесь рассказать.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Views5K
Comments 2

KnpMenuBundle + Sonata. Делаем меню из базы

PHPSymfony
Всем приятного времени суток уважаемые хабровчане. Я люблю Symfony. Она мне нравится и я ее обожаю. Еще мне нравится SonataAdminBundle. Думаю многим из вас тоже. Итак, в данной статье я хочу рассмотреть процесс создания меню для сайта при участие в этом процессе KNPMenuBundle + SonataAdminBundle. По сути процесс создания меню достаточно прост и подробно описан на github’e самого бандла, но что если нам необходимо, что бы меню было управляемо из админки? Заинтересовались? Тогда прошу под кат.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Views11K
Comments 6