Pull to refresh
-9
0
Дьячук Антон @Renius

Пользователь

Send message

Как работает реляционная БД

Reading time 51 min
Views 532K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Total votes 232: ↑229 and ↓3 +226
Comments 134

Искусство командной строки

Reading time 15 min
Views 249K


Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

Enjoy!
Total votes 127: ↑122 and ↓5 +117
Comments 143

Применение принципа DRY в RSpec

Reading time 5 min
Views 19K


DRY(Don’t Repeat Yourself) — один из краеугольных принципов современной разработки, а особенно в среде ruby-программистов. Но если при написании обычного кода повторяющиеся фрагменты обычно легко можно сгруппировать в методы или отдельные модули, то при написании тестов, где повторяющегося кода порой еще больше, это сделать не всегда просто. В данной статье содержится небольшой обзор средств решения подобных проблем при использовании BDD-фреймворка RSpec.
Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Comments 17

Термоядерная энергетика: надежда человечества?

Reading time 10 min
Views 326K
В детстве я любил читать журнал «Наука и Жизнь», в деревне лежала подшивка начиная с 60-х годов. Там часто рассказывали про термоядерный синтез в радостном ключе — вот уже почти, и оно будет! Многие страны, чтобы успеть на раздачу бесплатной энергии строили у себя Токамаки (и настроили их суммарно 300 штук по всему миру).

Годы шли… Сейчас 2013-й год, а человечество до сих пор получает бОльшую часть энергии от сжигания угля, как в 19-м веке. Почему так получилось, что мешает создать термоядерный реактор, и чего нам ждать в будущем — под катом.
Читать дальше →
Total votes 277: ↑273 and ↓4 +269
Comments 317

Ускоряем запуск Ruby on Rails используя набор патчей RVM railsexpress

Reading time 2 min
Views 7.3K
Эта статья для тех, кто хочет ускорить запуск рельс, а заодно ускорить работу интерпретатора ruby.
О том как установить RVM (Ruby version manager) уже написано много статей, поэтому я перейду сразу к делу.
Список патчей в RailsExpress для Ruby 1.9.3-p362
(это последняя версия руби на момент написания статьи)
Applying patch railsexpress/01-fix-make-clean.patch
Applying patch railsexpress/02-railsbench-gc.patch
Applying patch railsexpress/03-display-more-detailed-stack-trace.patch
Applying patch railsexpress/04-fork-support-for-gc-logging.patch
Applying patch railsexpress/05-track-live-dataset-size.patch
Applying patch railsexpress/06-webrick_204_304_keep_alive_fix.patch
Applying patch railsexpress/07-export-a-few-more-symbols-for-ruby-prof.patch
Applying patch railsexpress/08-thread-variables.patch
Applying patch railsexpress/09-faster-loading.patch
Applying patch railsexpress/10-falcon-st-opt.patch
Applying patch railsexpress/11-falcon-sparse-array.patch
Applying patch railsexpress/12-falcon-array-queue.patch

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 14

HTML5 File API: множественная загрузка файлов на сервер

Reading time 7 min
Views 86K
Когда передо мной в очередной раз встала задача об одновременной загрузке нескольких файлов на сервер (без перезагрузки страницы, само собой), я стал блуждать по интернетам в поисках довольно корявого jQuery-плагина, который позволяет имитировать ajax-загрузку файла (того самого плагина, который со скрытым фрэймом: от java- и flash- плагинов сразу было решено отказаться). В процессе поиска я вспомнил, что в грядущем стандарте html 5 возможности по работе с файлами должны быть существенно расширены, и часть этих возможностей доступна уже сейчас. В итоге было решено опробовать их в действии.

Рассматривать возможности File API будем на примере одновременной загрузки нескольких картинок на сервер. В конце статьи приводится готовое решение, оформленное в виде jQuery-плагина.
Читать дальше →
Total votes 109: ↑103 and ↓6 +97
Comments 57

HTML5 Drag and Drop загрузка файлов

Reading time 4 min
Views 137K
image
Благодаря нововведениям HTML5 создавать Drag and Drop интерфейсы стало гораздо проще. К сожалению, эти нововведения еще не обладают обширной поддержкой браузеров, но надеюсь в скором времени это изменится (на данный момент работает в Firefox 4+, Chrome и Opera 11.10).

Читать дальше →
Total votes 81: ↑79 and ↓2 +77
Comments 61

Установка ruby в Ubuntu с помощью rbenv-installer

Reading time 3 min
Views 12K
На хабре уже есть несколько статей о rbenv (раз, два, три), но ни в одной не упомянут очень удобный инструмент rbenv-installer. Этой статьёй я и заполню этот пробел.

Прежде чем начну описывать установку, хочу сказать чем меня порадовал rbenv и почему я перешёл на него с RVM.

В одном из моих проектов мне понадобилось периодически запускать задачи (rake tasks) с помощью cron. Задачи для cron-а я формировал и записывал в crontab с помощью гема whenewer. Тогда я ещё пользовался RVM и cron в лог писал что-то вроде:
bundle: command not found

Искал решение с помощью гугла и нашёл в issues whenewer-а упоминание о такой же проблеме. Тикет был закрытым и упоминалось что в rbenv всё работает. Установил я rbenv и без каких-либо дополнительных настроек мои cron-задачи стали работать так как я и хотел. С того дня в новых проектах я только rbenv использую.
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 10

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity