• Домашний файлообменник на базе Sinatra и DataMapper. Часть 3 — Very Advanced features

      Предыдущие две статьи (раз и два) оказались гораздо популярнее, чем я мог ожидать. А теперь пришла пора третьей, завершающей статьи о файлообменнике на базе Sinatra и DataMapper.

      В этот раз мы рассмотрим:
      • Проблему с одинаковыми именами файлов
      • Страницу ожидания перед загрузкой
      • Создание CSS с помощью SASS
      • Аутентификацию
      • Запуск из под thin
      • Тестирование с помощью RSpec
      • Бенчмарки


      Поехали
    • Типы HTTP-запросов и философия REST

        Этот пост — ответ на вопрос, заданный в комментарии к одной из моих статей.

        В статье я хочу рассказать, что же из себя представляют HTTP-методы GET/POST/PUT/DELETE и другие, для чего они были придуманы и как их использовать в соответствии с REST.
        Читать дальше →
      • Домашний файлообменник на базе Sinatra и DataMapper. Часть 2 — Advanced features.

          В первой статье я рассказывал о том, как написать простое веб-приложение с применением Sinatra и DataMapper. В этот раз мы добавим множество новых фич и улучшим код в целом.
          Читать дальше →
        • Домашний файлообменник на базе Sinatra и DataMapper. Часть 1 — The Begining

            Продолжение статьи

            Длительное вступление


            Логотип  SinatraМне и моей жене часто приходится передавать файлы из точки А в точку Б, где точка А — один из домашних компьютеров, а точка Б — либо компьютер кого-нибудь из знакомых, либо, например, компьютер на работе (где, порой, запрещены флешки). К тому же идти за флешкой (которая может лежать в любой части квартиры) и копировать файл на нее — тоже достаточно лениво :) В общем, я обычно использую для этих целей сервисы вроде webfile.ru и box.net, а жена тупо посылает файл себе (или корреспонденту) по почте.

            Еще немного вступления и наконец-то мы начинаем писать код! Но букв всё равно очень много.
          • Небольшая особенность window.open в Internet Explorer

              Сегодня пришлось разбираться с одним очень забавным багом: в IE 7 не открывалось pop-up окошко из JavaScript’а. Уже и так пробовали, и эдак — а результата ноль: в Опере, Лисе и Сафари открывается, а в IE — никакого эффекта.

              Решение нашлось чисто случайно. Строчка выглядела так:
              myWin = window.open(url, "display Window", options);

              Второй параметр window.open — имя окна — как оказалось, IE не открывает окно, если в его имени есть пробелы. При этом, как мне показали в комментариях к посту — разработчики FireFox’а тоже не советуют использовать пробел во втором параметре (тем не менее, в FF всё работает). Замена «display Window» на «displayWindow» решила проблему.

              Для меня этот «баг» Explorer’а оказался новым и доселе неизвестным — надеюсь, кому-нибудь еще тоже пригодится.
            • New Level

                Всем привет!

                Я думаю, что фрилансеры Санкт-Петербурга уже не раз и не два слышали про коворкинг-центр New Level, однако я рискну написать еще и этот пост.

                Дело в том, что мы решили предложить вам использовать New Level в качестве площадки для объединения, а также для получения заказов и помощи в работе. Попробую рассказать по порядку.
                Читать дальше →
              • Сравнение проактивной защиты Outpost vs. ESET vs. Касперский

                  На днях я наткнулся на блог разработчиков Outpost, в котором, помимо «пресс-релиза» о выходе новой линейки продуктов, нашлось и, на мой взгляд, довольно-таки интересное исследование — разработчики в «лабораторных» условиях сравнивали функциональность модулей проактивной защиты (читай, механизмов, которые пытаются угадать, что тот или иной компонент системы является вирусом/кейлогером/трояном и т.п.).
                  Читать дальше →
                • И снова о питерском коворкинге. Работаем по-новому, снижаем цены!

                    В очередной раз привет всем!

                    По результатам работы в первую неделю, мы решили несколько изменить свой подход к организации коворкинг-центра.

                    Изначально, коворкинг-центр New Level рассматривался как возможность объединения «продвинутых» фрилансеров Санкт-Петербурга, тем более, что в дальнейшем в наши планы входило взять на себя часть переговоров с заказчиками, юридическое обеспечение и тому подобные вещи.

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

                    Такой принцип работы не нашел поддержки у фрилансеров нашего города, но желание сделать коворкинг-центр и продвигать коворкинг-движение в целом осталось.

                    Учитывая то, что фрилансеры Питера в основном молодые, свободные и мобильные люди, мы решили отказаться от некоторых избыточных доп. услуг (придется выкинуть… ммм… тостер?), что позволило существенно снизить цены. Кроме того, нежелающим тратить большие деньги на новые, не известные ранее услуги, которые могут не устроить по каким-либо причинам, мы предлагаем «медовый месяц» :): первый месяц работы по основному тарифному плану у нас будет стоить 1000 рублей (хотел написать 999, но, боюсь, не поймут :)) Основной план (возможность прийти в любое время и занять свободное место) после первого месяца будет стоит 2500 рублей.

                    Таким образом коворкинг станет доступен большей части фрилансеров. Мы снова ждем вас!

                    UPD: С сегодняшнего дня все клиенты коворкинг-центра бесплатно получают лицензию на Outpost Security Suite Pro 2009!
                  • Коворкинг-центр New Level (Санкт-Петербург). Открытие 31 мая.

                      Приветствую уважаемое сообщество заинтересованных в коворкинге хабровчан.

                      Я уже недавно писал о коворкинг-центре, который собираюсь открывать в Санкт-Петербурге. В том посте я обещал постараться открыться до конца мая, что, собственно, и делаю — открытие первого в Санкт-Петербурге коворкинг-центра New Level состоится 31 мая в 14.00. На 31 мая и 1 июня с 14 до 21 у нас запланированы скромные торжества (фуршет, выпивка, розыгрыш двух месячных контрактов среди посетителей и т.п.). С понедельника мы уже полноценно работаем.

                      Итак, ключевая информация
                      Адрес: Лиговский пр. 254.
                      Что взять с собой: паспорт или водительские права (необходимо для получения пропуска)
                      Что еще сделать, чтобы всем было хорошо: сообщить о своем желании придти — либо здесь, либо на нашем сайте, либо в ICQ 311-946-862, либо по телефону 8-960-253-25-48 (Алексей).

                      Вопросы, как обычно, приветствуются.
                    • Коворкинг. Санкт-Петербург. Новая информация

                        Введение


                        В очередной раз приветствую хабросообщество!

                        Не так давно я писал о том, что собираюсь открывать коворкинг-центр в Петербурге и спрашивал вашего мнения о том, где он должен быть. Теперь же я готов рассказать о том, что и где будет.

                        Местоположение


                        Коворкинг-центр будет открыт в конце Лиговского проспекта, примерно в одном километре от ст. м. «Московские ворота». На мой взгляд, это разумный компромис между стоимостью аренды и удаленностью от центра и от метро. Имеется платная охраняемая парковка. Имеется кафе, в котором можно пообедать за разумные деньги (обед стоит 100-150 рублей)
                        Читать дальше →
                      • Еще один co-working центр в Санкт-Петербурге

                          Следуя общей тенденции, я тоже решил открыть офис для co-working в Санкт-Петербурге. На данный момент я ищу помещение. В связи с этим возник вопрос к заинтересованным ко-воркерам из Питера: вам было бы удобнее ездить в центр города (Маяковская, Чернышевская, Сенная), на Васильевский остров или, может быть, имеет смысл открыть офис где-то на окраинах (например, Кировский завод) и сделать более низкие цены?

                          Ваше мнение для меня очень важно.

                          Всем спасибо за ответы.
                        • И я тоже пишу про футболки

                            Как и shougun (см. этот пост) я тоже не смог заказать футболки. Вчера мы вместе с c0der потратили несколько часов на то, чтобы попытаться заказать футболки. В итоге, у нас обоих не получилось, т.к. магазин отказывался принимать наши карточки (вернее просил связаться с ними по телефону и заказать после подтверждения наших данных), а PayPal отказывался оплачивать товар с доставкой в США, по кредитке выпущеной не в США.

                            В общем, я искренне прошу прощения у всех тех, кому я дал надежду.