• Быстрая разработка веб-приложений на Java

    • Tutorial
    Как вы разрабатываете веб-приложение на Java?
    После каждого изменения, как вы его запускаете и проверяете? Сколько времени занимает редеплой приложения и рестарт контейнера?

    Мне довелось видеть разные варианты: от полной пересборки WAR-файла до использования плагинов для IDE типа MyEclipse, WTP и «коннекторов» для сервлет-контерйнеров. У некоторых из них есть явные недостатки, другие вполне работают — но есть способ проще!

    Запускалка


    Этот способ разработки позволяет максимально просто и гибко настроить приложение с минимальным временем редеплоя. Вам надо всего лишь написать один простенький Java-класс с main-методом, который запустит сервер Jetty сразу с нужными приложениями (т.н. Embedded Mode).

    под катом - примеры кода и обзор альтернативных решений
  • ZX Spectrum — мой первый компьютер

    Знакомство


    Первый компьютер у меня появился более десяти лет назад. Его привёз крёстный из Москвы. К тому времени я уже учился в начальных классах. Строго говоря, это устройство даже, пожалуй, нельзя было назвать компьютером, скорее приставкой. Т.к., в моём понимании компьютер должен был состоять из экрана, системного блока и клавиатуры. Здесь же была одна клавиатура, куча проводов и блок питания голубого цвета с большой белой кнопкой сбоку.
    Читать дальше →
  • Мы писали, мы писали или что делать когда нас настигает туннельный синдром

      Если вы читаете эти строки, то будет вполне естественно предположить, что вы проводите за компьютером по крайней мере несколько часов в день, а то и больше. Такой режим работы привносит с собой достаточно сильную нагрузку на наши руки, которая может вызвать боли в кистях, запястьях и пальцах. Такие боли вызваны так называемым «туннельным синдромом» (синдромом карпального канала, кистевым туннельный синдром, carpal tunnel syndrome) — хроническим заболеванием.

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

      Как развивается туннельный синдром и что мы при этом чувствуем


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

      Читать дальше →
    • Ninja Editor

        Здравствуйте. Вы будете смеяться, но я написал маленький текстовый редактор для сайтов. Он совсем маленький и совсем текстовый. Но он мне нравится. Встречайте, Ninja Editor

        Ну и картинка для привлечения внимания:


        Читать дальше →
      • Куда засунуть свой фотоблог?

          Завести сегодня фотоблог совсем недорого – хостинг в последнее время стал доступнее, и буквально за 100 долларов в год можно обеспечить очень неплохое существование в пространстве интернета с точкой-ру (это не компания, просто расположение домена). При этом, вы можете даже зарабатывать деньги, чтобы немного окупить – благо, сегодня и Google, и Яндекс дают возможность заработка на контекстной рекламе (это для тех, кому кажется, что сто баксов в год – слишком неподъемная для человека сумма).

          Однако же, даже заведя свой фотоблог, вы сразу столкнетесь с проблемой того, что фотографии-то и показывать некому. Что, собственно, неудивительно – вполне возможно, ваш новый сайт еще даже поисковые машины не успели проиндексировать. Впрочем, даже когда проиндексируют, пользы от этого будет мало. Правда, если вы разместите на фотоблоге картинку с названием “сиськи бритни спирс фото” (совсем убойное название, за которое можно привлечь внимание Яндекс как порно-ресурс, в результате чего, если верить их новому алгоритму, люди к вам вообще будут идти очень долго), люди пойдут довольно быстро, но длиться долго это не будет.
          Читать дальше →
        • FAQ по программированию под Android от новичка, и для новичков

          Предисловие к FAQ.

          Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
          Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
          После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
          На данный момент выпущено 7 программ и две находятся в разработке.
          Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
          Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

          Надеюсь, что приведенные примеры окажутся полезными.
          Читать дальше →
        • Дорогие мне байты прошлого тысячелетия



          Сразу оговорюсь, это моя личная история IT, история о том, как через 25 лет нашел то, что считал безнадежно потерянным.

          Мое знакомство с компьютерами началось в прошлом тысячелетии. Думаю, как и у многих. Первый компьютер – Правец 8д, на Хабре о нем есть статья. В комплекте с ним шел телевизор «Садко» с впаянным в него кустарно сделанным блоком для подключения компьютера…
          Читать дальше →
        • Как я внедрял Linux в учебном заведении



          Описываемый проект внедрён и используется уже лет пять. Пришло время рассказать, как всё было и поделиться опытом.

          Давным-давно работал я техником (что-то вроде лаборанта, но более узкоспециализировано) в одном из учебных заведений среднего профессионального образования нашей необъятной родины. Смотрел, как проходят занятия, видел, как неаккуратно обращаются с хрупким программным обеспечением студенты и преподаватели, участвовал в массовых рутинных операциях, таких как: «переустановить некую самую популярную ОС на 30 и более разных компьютеров», «ой, нам для нужд учебного процесса срочно нужно поставить вот этот программный пакет, но аудиторию ещё не знаем» и далее в таком же духе.

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

          Под катом много текста c картинками, технические подробности, одна тяжелая гифка и 6-ти минутная видео презентация.
          Читать дальше →
        • Взрывы в Box2D

            Мой телеграм канал: https://t.me/winc0de.
            В этой статье мы рассмотрим несколько видов взрывов в физическом движке Box2D.
            Симуляция взрыва сводится к нахождению тел, которые находятся в радиусе действия взрывной волны и применении силы к ним, чтобы отбросить их от центра взрыва.

            Мы расмотрим три вида взрывов разной сложности:
            • Нахождение тел в радиусе взрыва
            • Raycast – нахождения тел в радиусе лучей
            • Частицы – распространение многих маленьких тел от эпицентра взрыва

            Читать дальше →
          • COBOL (ч. 4.) – IF и его друзья…

            • Tutorial
            Рассмотрев в предыдущих “уроках” структуру программы (http://habrahabr.ru/blogs/atnikvariat/115813/), простенькие арифметические функции (http://habrahabr.ru/blogs/atnikvariat/115821/) и описание переменных (http://habrahabr.ru/blogs/atnikvariat/115849/) мы пойдем все дальше и дальше!

            В этот раз мы познакомимся с вкусностями условий (а также получим дополнительный маленький подарок для знаний в конце).

            Итак, я думаю все, кто хоть немного интересовался программированием помнят, что есть наверное во всех практически ЯП – такой оператор как IF (Если), есть он конечно же и в COBOL.

            Читать дальше →
          • Знакомимся с COBOL – ч.3

            • Tutorial
            К сожалению забыл указать в предыдущей статье несколько важных ключевых слов:

            для DIVIDE.

            DIVIDE WS-B BY WS-A GIVING WS-RESULT REMAINDER <переменная>.

            Используя REMAINDER мы указываем переменную в которую запишется ОСТАТОК от деления.

            Для любых математических операций:

            Также, добавляя ROUNDED после операции мы достигаем того, что результат будет округляться, а не просто “отбрасываться” лишний хвост.
            ADD WS-A TO WS-B GIVING WS-RESULT ROUNDED.

            А теперь продолжим познавать новое. Исполняя обещание развеять удивление о странном выводе значений переменных мы разберем в этот раз PICTURE IS (он же PIC) и форматы переменных.
            Читать дальше →
          • Знакомимся с COBOL — ч.2

            • Tutorial
            Ну что же, продолжим наше знакомство дальше, в первой статье мы узнали, из чего состоит COBOL программа, какие правила существуют по ее написанию и запустили нашу первую программу. Пора двигаться дальше, в этот раз мы начнем работать с переменными и совершать первые осмысленные действия с ними.

            Читать дальше →
          • Знакомимся с COBOL — ч.1

            • Tutorial
            Этой статьей я планирую начать целый цикл, который может быть со временем соберется в книгу. Информация про COBOL на русском представлена фактически статьей в Википедии и двумя советскими ГОСТами. Вы можете спросить меня зачем я начинаю “раскапывать труп” и прочие аналогичные вопросы. Ответ прост – а просто так. Потому что я люблю COBOL, потому что он вовсе не мертвый, потому что он интересный, потому что это часть важной истории и он продолжит оставаться частью будущего. Потому что COBOL – это событие. И пусть его ругает Дейкстра и другие, это ничуть не умаляет его объемов и его влияния на ИТ в бизнес.

            Читать дальше →
          • BullDoc — система разработки документации

              Давайте знакомиться


              Каждая разработка, если она хоть немного поэтичней, чем печать «hello world», требует документации. И как-то так получалось, что я начинал писать документацию и все время наталкивался на то, что мне это неудобно:


              Документация в MS Word (Open Office) не имеет подсветки кода, держит все в одном длинном документе, его не положишь в систему контроля версий для отслеживания изменений. Такой документ невозможно без лишних трудностей сохранить в html-коде, который будет размещён на сайте.


              Microsoft HTML Help Compiler позволяет все хранить в тексте, но не имеет подсветки синтаксиса, документ нельзя собрать в связанные html-страницы для выкладывания на сайт без active-x компонента

              Формат Docbook тоже близок к желаемому, но XSLT трансформации сложны, подсветка синтаксиса — хоть и решаемая, но проблема.

              PHPDocumentator нацелен на написание документации в виде комментариев к коду. Да, он поддерживает подключение нескольких страниц чистой документации к тому, что получилось (кажется это называется там термином тюториал). BullDoc направлен на написание документации в чистом виде — в виде книжки. Опрятной нормальной книжки с главами, разделами, оглавлением и индексом. То, что получается на выходе из PHPDoc это рабочий инструмент, никак не документация для конечного юзера.

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

              Читать дальше →
            • Микроапплеты

                В своей прошлой статье — Микрохостинг микросайтов увжаемый ainu сказал:

                Мне было бы приятно увидеть использование микросайтов где-нибудь ещё. Технология не моя лично. Она должна быть достоянием общественности.

                Чтож, сказано — сделано. :-)

                Представляю вашему вниманию следующий виток микросайтинга — микроапплеты.

                Микроапплеты сделаны на основе микросайтинга, но в отличие от последнего больше похожи на выполнение программ. Т.е. это и есть программы, которые могут быть выполнены в … комментариях. Действительно, предложенных ainu механизмов вполне хватает — не только для создания микросайтов, а для реализации своего рода виртуальной машины, у которой есть оперативная память в виде сессии, и программа в виде php-скрипта.

                И в качестве примера такого приложения я сделал реализацию всем вам хорошо известной игры — Сапер.

                В комментарии!
              • Как найти нужный шрифт, не зная его названия?

                  Я уверен, что у любого дизайнера был такой момент, когда он видел где-то какой-то шрифт, который так мог бы пригодится в проекте, но… что за шрифт?.. Ответ на этот вопрос затаился в глубине Вашего сознания, либо в глубине Вашего «незнания» (что разумеется простительно).



                  В этой статье мы рассмотрим несколько ресурсов, которые могут помочь вам в идентификации понравившегося шрифта.

                  Конечно, нельзя рассчитывать, что эти источники дадут вам 100 процентную уверенность в том что вы найдете нужный шрифт, но что помогут, так это точно.
                  Читать дальше →
                • База классификаторов

                    Прочитав этот хабратопик я решился, наконец, рассказать хабраобщественности о своем некоммерческом стартапе и вообще открыть к нему доступ. Этот проект сделан программистами для программистов. Суть его проста – все классификаторы на одном сайте.

                    Каждый классификатор может содержать несколько таблиц. Содержание любой таблицы можно посмотреть прямо на сайте или скачать классификатор целиком. Для скачивания доступны следующие форматы: XML, SQL-дамп или просто в формате Excel. В дальнейшем к профилю классификатора мы будем прикреплять графическую схему с указанием связей между таблицами.

                    Все Ваши пожелания, предложения и классификаторы, пожалуйста, отправляйте на class.upload@gmail.com. Плюсовать в карму можно drtoller (т.е. мне), derbov, @saratovdae.