Паттерн MVC

Моя интерпретация широко известного паттерна.

Это классический подход для построения веб-приложений, который находит применение практически везде

Он говорит от том, что есть 3 основных компонента:

  • Model - данные
  • View - предстваление
  • Controller - бизнес логика

Read more

Проект: GeoChat


Долгое время я со своей некогда командой разрабатывал несколько геолокационных приложений. Ага, это были стартапы. Сейчас не хочу даваться в подробности провала, по крайней мере покачто. Ближнее окружение в курсе, а остальным не очень то и нужно знать :)

Read more

avr: случайнее random()

В простых встраиваемых устройствах есть большая проблема: очень хочется рандом. Нормальный такой рандом. Но если подумать, то контроллеру совершенно не от чего "рандомизировать" генератор случайных чисел. Ибо каждый старт контроллера "жизнь начинается с 0".

Эта проблема всплыла в пресловутом moodlamp (лампа настроения, переливающиеся цвета светодиода). Хочется чтоб "переливы" каждый раз начинались с нового цвета :)

Read more

Мысли: полосатые проекты

Люди собираются вместе чтоб создать нечто.

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

К сожалению, все эти эмоции часто затмевают реальное положение дел. Горящие глаза видят того, чего нет. Руки делают то, что не будет использоваться. Разум дорисовывает картину мира до идеальной, специально под великий Проект.

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

Read more

brainfuck: java-компилятор

branfuck - это такой простейший язык программирования который реализует некую "полную машину Тьюринга", подробнее в википедии, там же и подробное описание команд. Кому лень - пример, выводящий традиционное Hello world:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++
.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
------.--------.>+.>.

Для тех, кто видит в первый раз это кажется диким. Ну разе lisp не страшнее?)

Зачем??!

Read more

Event: NevaCamp #2

28 - 30 мая 2010 года в Санкт-Петербурге в стенах выставочного центра у м. Кировский завод состоялась во второй раз не_конференция NevaCamp

Это конференция такого формата(barcamp), когда любой может предложить свою тему рассказа или обсуждения по ходу мероприятия. Всё нацеленно на то - чтоб быть в постоянном контакте с людьми. Создавать и участвовать в дискуссиях.

Ивент проходил в 3 дня:

  1. 28 мая - StartFormers. Выезд на природу(заброшенная военная база в Сертолово), активный отдых.
  2. 29 мая - будущее интернета: версия Opera, IdeaSpace, AR, Opera: HTML5, CSS3, SVG.
  3. 30 мая - технологии MS, директора стратегического развития МТС, Wikinomics, openNotebook, Ingria

/ перечислил только то, что сам захватил и запомнил /

Read more

Linux: простой web сервер на asm

Спятил, да? А ещё если напишу, что планировал сделать многопоточность и нечто CGI-интерфейса? Вполне может быть, в рамках just for fun

Но остановился на том, чтоб отдавать статические страницы - время не дало допилить, да и энтузиазм уменьшился. Идея мне пришла из за курсовой работа по "Системному программированию" В СПбГУ ИТМО. Всех заставили писать резидент под DOS, на 8086 архитектуре. Не торт.

Основные фитчи, которые я успел реализовать:

  • Форк, при необходимости
  • Чтение конфига(ini-like)
  • Создание слушающего сокета, установка параметров
  • Парсер заголовков и запроса
  • Обработчик запросов статического контента(не в /cgi-bin/)
  • В некоторых местах совершенно корявую работу со стеком

Реализовано на NetwideASM, c частичным использованием функций glibc. Работать сервер будет только на 32-битном процессоре i686+, из за того, что дёргается прерывание ядра Linux - а номера функций отличаются в зависимости от процессора.

Read more

Startup Crash Test Piter #5

Снова состоялось ежемесячное мероприятие для стартапов - крэш тест. И даже не в Ингрии, а в гостинице "Ольгино"(за городом, примерно между м. Старая деревня и г. Сестрорецк), причём в рамках СПИК(Санкт-Петербургская Интернет - Конференция). На SCT отвели всего полтора часа, из за этого, видимо не было докладов - только тест стартапов

Ивент прошёл 22 мая 2010, в субботу, в среднем зале отеля

Read more

j2me: пример с падающим мячиком

Хочу поделиться одним своим примером приложения для мобильной java. Основная задача - понять как пишутся такие приложения под телефоны. Вроде задачу выполнил :). В программке можно передвигать мяч, падающий в "гравитационном" поле по законам физики(надеюсь), задавать его скорость и направление движения, как водя по сенсорному экрану телефона(если есть) так и кнопками

В эмуляторе выглядит всё не так красиво, как в живую, поэтому продемонстрирую на телефоне(SE P1i)




Понравилось? Для начала работы с j2me - самое то.
Используется MIDP-2.0, CLDC-1.1.

Read more