Pull to refresh
0
0
Сергей @vlakarados

User

Send message

144-ядерный процессор Чарльза Мура поступил в продажу по $20

Reading time2 min
Views45K
Чарльз Мур, создатель языка программирования Форт (Forth), довёл до стадии промышленного производства уникальную разработку — многоядерный процессор GA144. Чип размером 10х10 мм уже поступил в продажу по цене $20 (при заказе от десяти штук), также доступны материнские платы для него. Фактически, это аппаратное воплощение самого языка программирования Форт.

Крайне необычный процессор по ряду параметров не имеет себе равных среди CPU:
  • 144 независимых ядра, которые активируются только при поступлении инструкции, то есть у этого процессора нет такой характеристики как «тактовая частота»;
  • скорость выполнения инструкций 1400 пикосекунд (эквивалент 700 МГц);
  • энергопотребление 7 пикоджоулей на одну инструкцию;
  • энергопотребление в «спящем» режиме менее 100 нановатт;
Читать дальше →
Total votes 216: ↑209 and ↓7+202
Comments135

Coroutines в PHP и работа с неблокирующими функциями

Reading time18 min
Views79K
Одним из самых больших нововведений в PHP 5.5 будет поддержка генераторов и корутин (сопрограмм). Генераторы уже достаточно были освещены в документации и в нескольких других постах (например в этом или в этом). Сопрограммы же получили очень мало внимания. Это гораздо более мощный, но и более сложный для понимания и объяснения, инструмент.

В этой статье я покажу как реализовать планировщик задач с использованием корутин, чтобы вы поняли, что с ними можно делать и как их применять. Начнем с нескольких вступительных слов. Если вы считаете, что вы уже достаточно хорошо знаете как работают генераторы и корутины, тогда можете сразу перейти к разделу «Совместная многозадачность».

Генераторы


Суть генератора в том, что это функция, которая возвращает не просто одно значение, а последовательность значений, где каждое значение выброшено одно за другим. Или, другими словами, генераторы позволяют вам реализовать итератор, без лишнего кода.
Читать дальше →
Total votes 111: ↑103 and ↓8+95
Comments57

Поднимаем собственный git сервер GitBlit на хостинге Openshift

Reading time4 min
Views26K


Привет, Хабр!
Все программисты делятся на тех, кто использует систему контроля версий, и тех кто ещё ёё не использует. Одной из самых популярных на сегодняшний день, является git. И хотя его структура направлена на децентрализованное хранение данных, все мы пользуемся github, assembla, bitbucket или githost. Главный недостаток этих хостингов, в том, что это чужие проекты, которые в любой момент могут прикрыть ваш аккаунт или слить данные налево. И тут на сцене появляется GitBlit! Git сервер на Java, полностью контролируемый вами, с множеством плюшек и веб-интерфейсом. Сегодня будем запускать его на бесплатном хостинге от Redhat.

Хочу халявный git-сервер!
Total votes 33: ↑29 and ↓4+25
Comments24

Отдаем файлы эффективно с помощью PHP

Reading time3 min
Views281K
Если Вам потребовалось отдавать файлы не напрямую веб сервером, а с помощью PHP (например для сбора статистики скачиваний), прошу под кат.
Три способа отправить пользователю файл и не повесить сервер
Total votes 132: ↑108 and ↓24+84
Comments59

Учим Python качественно

Reading time4 min
Views1.4M
Здравствуйте всем!

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

Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
Для начала окунёмся в возможности и узнаем, что же умеет Python?
Читать дальше →
Total votes 86: ↑59 and ↓27+32
Comments88

Про jQuery и велосипеды — мое дополнение

Reading time6 min
Views64K
Сразу спешу сообщить вам, что я никоим образом не связан с автором предыдущей статьи. Однако, прочитав ее и увидев такой положительный отклик сообщества на статью, я тоже вдохновился и решил добавить немного своих наблюдений и знаний, к тому же это может послужить моей входной точкой в круги хабрасообщества.

Для затравки начнем с простого.
Читать дальше →
Total votes 242: ↑230 and ↓12+218
Comments126

Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 2

Reading time15 min
Views124K
(Окончание перевода статьи Эдди Османи о сравнении и выборе библиотеки для проекта со значительной ролью JS на клиенте.)
Содержание первой части:

■ Что такое MVC или, лучше сказать, MV*?
■ Когда нам нужен MV*-фреймворк JS?
■ Где же мы будем нуждаться в MV*, а где нет?
■ Проблема выбора: слишком много вариантов?
■ TodoMVC: общее приложение для обучения и сравнения
■ Предложенные нами критерии выбора фреймворка
■ Dojo и усложнение фреймворков на JavaScript
■ Коллекция TodoMVC (фреймворки, на которых сделаны реализации тестового приложения Todo)
Читать дальше →
Total votes 87: ↑78 and ↓9+69
Comments18

DVelum – платформа разработки на PHP + ExtJS4

Reading time5 min
Views14K
Хочу познакомить Вас с проектом, который позволит по-новому взглянуть на процесс разработки приложений с web-интерфейсом.
Это не очередная cms или framework, это платформа разработки высокопроизводительных приложений, система управления данными.
При создании были использованы нестандартные интересные подходы. Ничего сверх революционного, реализованы очевидные вещи, которых сильно не хватает во фреймворках и cms.
Подробности
Total votes 72: ↑54 and ↓18+36
Comments90

Доступ к Skype API используя PHP на *nix системах

Reading time4 min
Views41K
Еще давно я хотел иметь свой автоответчик или бота для скайпа, называйте как вам угодно. В гугле я ничего найти не мог, да еще из-за того, что я пользуюсь Ubuntu, задача становилась сложнее в несколько раз. А если учесть, что я знаю только PHP, и то, не очень хорошо, моя мечта становилась нереальной.

Но недавно, просматривая официальную документацию по API скайпа, я обратил внимание на «D-BUS messaging», не знаю, почему я раньше не обращал на него внимание. Разобравшись со всем, я наконец сделал то, что давно хотел! Я получил доступ к Skype API на PHP. Об этом я и хочу рассказать в своей статье.

Читать дальше →
Total votes 113: ↑98 and ↓15+83
Comments23

Легкий способ начать тестировать

Reading time4 min
Views50K
Если вы PHP-разработчик, и по разным обстоятельствам тесты для своих приложений не пишете, то эта статья для вас. В ней я постараюсь вкратце показать с чего начать и что делать, чтобы написание тестов приносило вам радость, а вашему приложению стабильность.

Итак, первый совет. Забудьте всё что вы знаете о юнит-тестах. Швырните табуреткой в человека, который сказал вам, что без них не обойтись. Попробуем разобраться, в каких случаях нужно их использовать, а в каких — нецелесообразно.
Читать дальше →
Total votes 83: ↑61 and ↓22+39
Comments54

Определение страны по IP: тестируем скорость алгоритмов

Reading time4 min
Views35K
Для определения страны по IP необходимы специальные базы данных, состоящие из диапазонов IP адресов и соответствующих им стран. Обычно такие базы данных распространяются в виде CSV или SQL файлов для использования в СУБД, либо бинарных файлов специального формата.

Для проведения тестирования была выбрана февральская база GeoLite Country, бесплатная версия GeoIP Country от MaxMind.

В тестировании приняли участие несколько популярных решений и мой «велосипед» на эту тему.
Читать дальше →
Total votes 66: ↑57 and ↓9+48
Comments93

Загрузка картинок на сервер с использованием HTML5+jQuery+PHP

Reading time4 min
Views42K
Доброго времени суток!

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

Что нам понадобится?


Всего лишь небольшие знания HTML5+jQuery+PHP.
Читать дальше →
Total votes 87: ↑56 and ↓31+25
Comments52

Chrome в dev-версии получил поддержку WebRTC

Reading time2 min
Views4.4K
Анонсированная в начале мая прошлого года технология Web Real-Time Communications (WebRTC) интегрирована в dev-версию Chrome и, по всей видимости, официально появится в одном из следующих релизов браузера.

WebRTC представляет собой открытый фреймворк, попавший в ведение Google после покупки ей компании Global IP Solutions, и реализующий собой технологию передачи в реальном времени видео и аудио напрямую между браузерами. Фактически это означает, что Chrome сможет выполнять те же самые функции, которые сейчас выполняет Skype или другие подобные ему плагины (Google talk), причем с точки зрения разработчиков создание таких приложений будет представлять собой простое использование некоторого JavaScript-API, посмотреть которое можно здесь. Интересно то, что Mozilla Foundation предлагает свой вклад в WebRTC — спецификацию MediaStream Processing, позволяющую программно смешивать аудио-потоки или отслеживать движение в передающемся онлайн видео.

Ключевым понятием в WebRTC API является объект MediaStream, который является общим JavaScript-интерфейсом для взаимодействия с аудио- и видео-потоками. Для того, что разработчик смог организовать взаимодействие с ними, он должен иметь инструмент доступа к микрофону и web-камере пользователя — для этой цели служит функция getUserMedia. В случае, если эта функция завершилась успешно и доступ к камере и микрофону был получен, разработчику возвращается экземпляр класса MediaStream, представляющий из себя, собственно, интерфейс для работы с мультимедиа-данными.
Узнать подробности
Total votes 35: ↑31 and ↓4+27
Comments10

Вышел CSS -фреймфорк YAML4 — теперь и с поддержкой HTML5

Reading time1 min
Views6.4K
Сегодня начал верстать очередной сайт и по привычке пошел на www.yaml.de, чтобы скачать самую свежую версию моего любимого CSS-фремворка и… не узнал внешний вид сайта.

Оказывается вышла новая версия, которая по прежнему осталась очень компактной (ядро 4.6 kB) и обеспечивает хорошую поддержку браузеров

Читать дальше →
Total votes 78: ↑72 and ↓6+66
Comments39

Command and Conquer на HTML5

Reading time1 min
Views2.7K
В последнее время наблюдаю все больше и больше старых игр портированных на HTML5. Планка, которую ставят разработчики портов все выше и выше — от марио и до another world. Но сегодня, думаю, рекорд был побит.

Читать дальше →
Total votes 60: ↑56 and ↓4+52
Comments111

Редакторы контента, использующие contenteditable

Reading time2 min
Views7.1K
На последнем Web Standards Days, проходившем в Москве, Антон Немцев рассказывал про идею редактирования контента непосредственно на странице с этим самым контентом, используя атрибут contenteditable.

Спросив google, я нашел два вполне уже рабочих редактора, которые можно попробовать применить в одном из проектов.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments23

Float'омания: разъяснение как работает css свойство float

Reading time2 min
Views149K

После того как меня шестьдесят восьмой раз спросили почему блок с float отображается неправильно, я решил написать эту заметку, которая объяснила бы типичные ситуации, с которыми сталкивается начинающий верстальщик, а так же для того, чтобы в следующий раз просто дать ссылку на эту статью.
Читать дальше →
Total votes 132: ↑114 and ↓18+96
Comments100

Недопонимание CAP-теоремы

Reading time3 min
Views29K
В последнее время я довольно часто натыкаюсь на данную теорему. Она довольно давно доказана и про нее много чего написано. Однако каждый раз когда я натыкаюсь на распределенную систему, претендующую в описании на CA в терминах данной теоремы, т.е. систему в которой жертвуют Partition Tolerance в угоду Consistency и Avalability, я зависаю, так как хоть убейте не могу себе представить такого зверя. После долгих раздумий я все же пришел к выводу, что такая система бессмысленна, о чем и хочу порассуждать в данном топике.

Читать дальше →
Total votes 39: ↑31 and ↓8+23
Comments77

Codeception — тестирование по-новому

Reading time4 min
Views87K
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.

С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');


Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments68
1

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Date of birth
Registered
Activity