Генератор случайных чисел. Java 5

Как с помощью генератора случайных чисел от 0 до 5 сделать генератор случайных чисел от 0 до 7. Равномерное распределение

    package test;

    import java.util.Random;

    public class TestRandom {

            private static final Random r = new Random();

            private static final int[] result = new int[11];

            public static void main(String[] args) {
                    for (int i=0; i<100000; i++) {
                            result[getRandom7()]++;
                    }
                    for (int i=0; i< result.length; i++) {
                            System.out.println(i + " : " + result[i]);
                    }
            }

            private static int getRandom7() {
                    if (getNextRandom(3) != 3) {
                            return get5();
                    } else {
                            return(6 + getNextRandom(1));
                    }
            }

            private static int getNextRandom(int max) {
                    int tmp = get5();
                    if (tmp > max) {
                            tmp = getNextRandom(max);
                    }
                    return tmp;
            }

            private static int get5() {
                    return r.nextInt(6);
            }

    }

Читать полностью »

Видео с конференции ZFConf 2011

Видео, доступно по адресу http://www.zfconf.ru/2011/video/.

Охватывает доклады:

— Гибкая архитектура Zend Framework приложений с использованием
Dependency Injection
Алексей Качаев (Сogniance, Senior PHP Developer)

— Воюем за ресурсы: Повышение производительности Zend Framework
приложения с помощью phpDaemon, Varnish и ESI
Алексей Качаев (Сogniance, Senior PHP Developer) Читать полностью »

Open Web Platform

Сейчас веб-разработка сталкивается с большой проблемой - сверхнизкое повторное использование кода.

Как происходит, когда разработчик начинает делать свой проект, скажем, на PHP. Сначала он идет, например, на PHP Classes. Там очень много классов. Все разные. Каждый написано по-своему. У некоторых внешний интерфейс через один класс, у других через пять, у третьих через десять и два конфига. В результате требуется изучать архитектуру каждого класса, и, что самое важное, сайт из таких “компонентов” быстро не построишь.

Тогда разработчик идет смотреть готовый фреймворк. Фреймворков на рынке с десяток. Все разные. Все сложные. Все несовместимые друг с другом. Все они, повторяю, сложные, у каждого достаточно запутанная архитектура, своя реализация MVC, разные подходы работы с БД, с шаблонами, с кодогенерацией. Читать полностью »

Удалить дубли из большого файла

C#

Программа берет строки из файла data ( без расширения )
и создает data-unique

для работу нужен .NET

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace unique
{
    class Program
    {
        static void Main(string[] args)
        {
            Encoding cp1251 = Encoding.GetEncoding(1251);
            HashSet<string> hash = new HashSet</string><string>();
            string line;

            Console.Write("Read : ");
            StreamReader file = new StreamReader(@"./data",cp1251);
            while ((line = file.ReadLine()) != null)
            {
                hash.Add(line);
            }
            file.Close();

            Console.Write("OKnWrite: ");

            StreamWriter filew = new StreamWriter(@"./data-unique",false,cp1251);
            foreach (String hval in hash)
            {
                filew.WriteLine(hval);
            }
            Console.Write("OKn");

        }
    }
}
</string>

Еще варианты Читать полностью »

CentOS 5 php-ffmpeg

wget http://www.mplayerhq.hu/MPlayer/releases/codecs/mplayer-codecs-20061022-1.i386.rpm
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/mplayer-codecs-extra-20061022-1.i386.rpm
rpm -ivh mplayer-codecs-*
rpm -ivh /home/distr/CentOS/automake-1.9.6-2.1.noarch.rpm
rpm -ivh /home/distr/CentOS/libtool-1.5.22-6.1.i386.rpm
yum install -y flvtool2 lame lame-devel libogg libogg-devel libvorbis libvorbis-devel ffmpeg ffmpeg-devel mplayer mencoder
wget http://dfn.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.3.1.tbz2
bunzip2 ffmpeg-php-0.5.3.1.tbz2
tar xvf ffmpeg-php-0.5.3.1.tar
cd ffmpeg-php-0.5.3.1
phpize
./configure
make &#038;& make test &#038;& make install

Скрипт проверки: Читать полностью »

Структура базы данных UCOZ

Описание полей от материалов разных модулей

Структура таблицы users

user
unetID
password
avatar
flags
fullname
gender
email
homepage
icq
country
state
city
signature
title
regdate
ip
o ld-field
aol
msn
yahoo
ispm
birthday
verify
options
lastmodified

Остальные таблицы Читать полностью »

Метель из картинок на javascript

Рецепт приготовления очень прост:

1) заходим на любую страницу, где побольше картинок
2) в строку адреса копируем код

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName("img"); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+"px"; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+"px"}R++}setInterval('A()',5); void(0);

3) жмем ENTER и наблюдаем красивую метель из картинок )))

Выпущен phpDays 1.1 beta2

Сегодня вышел очередной релиз phpDays 1.1 beta2.

В данном релизе было исправлено множество ошибок и добавлены новые возможности, такие как Days_Event (observer), Days_Helper (помощники вида) и Days_Tool_AppGenerator (создает новое приложение в командной строке и в браузере).

Так же были созданы UnitTests (спасибо Letlite и Xaoc2007) и проведен
рефакторинг многих частей кода.

Наша команда улучшила приложения (смотрите директорию "apps").
Изменено приложение "apps/phpdays.org" (продолжается его улучшение для использования на официальном сайте).

Наши переводчики помогли перевести документацию на 6 языков (English, Русский, Deutsche, French, Italiano, T?rk?e). Спасибо Volkirik,
Cristian Giustini, Hilmar Ackermann, Plodski, Letlite, Informpro Erelis.

Спасибо Вам за хорошую работу! В данном году мы выпустим финальную версию phpDays 1.1. В нее войдут новые возможности и исправления для работы в реальных приложениях. Мы продолжаем привлекать новых людей в проект.

С наилучшими пожеланиями!
Антон Данильченко.

Полноценные классы в Javascript. ООП в javascript. Структуры в javascript

К сожалению, в своей практике освоения Javascript мне не приходилось встречать толковой реализации классов и механизмов наследования. Хотя сам язык достаточно гибок и имеет огромный потенциал. Не доводилось видеть и удобной организации приватных методов. Обычно для этого использую следующий трюк. В качестве приватного метода создают функцию прямо в конструкторе, где должны быть описаны и все методы использующие её:

    function MyClass() {
      function privateMethod() {
      }
      this.publicMethod = function() {
        // используем privateMethod();
      }
    }

Данный подход имеет недостатки, поскольку privateMethod в указанном примере грубо назвать «методом класса». Все публичные методы приходиться описывать прямо в конструкторе, а значит, они будут создаваться каждый раз при создании нового объекта.
Также невозможно вне конструктора дополнить класс новыми методами. Читать полностью »

Вирус: X-connect. Как вылечить

Вирус: X-connect
Главный симптом — в папке сетевых подключений появляется новое vpn-подключение с названием вида X-connect (i-connect, v-connect, z-connect), которое обрывает сессии через 10-50 секунд после запуска.

К слову, лечится любым адекватным антивирусом со свежими базами. Но вот беда — юзеры не могут скачать обновления: чтобы получить свежие базы, надо удалить вирус, а чтобы удалить вирус, нужны свежие базы. Замкнутый круг. Как быть? Читать полностью »