Pull to refresh
0
vini @viniread⁠-⁠only

User

Send message

Ассемблер для начинающих

Reading time3 min
Views199K
В любом деле главное — начать. Или вот еще хорошая поговорка: «Начало — половина дела». Но иногда даже не знаешь как подступиться к интересующему вопросу. В связи с тем, что воспоминания мои еще свежи, спешу поделиться своими соображениями с интересующимися.

image

Скажу сразу, что лично я ассемблирую не под PC, а под микроконтроллеры. Но это не имеет большого значения, ибо (в отличие от микроконтроллеров AVR) система команд данных микроконтроллеров с PC крайне схожа. Да и, собственно говоря, ассемблер он и в Африке ассемблер.

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

Читать дальше →

Будь чёток! Будь смел! Будь всегда при семках!

Reading time4 min
Views3.3K
Будь мужиком бл...! =)

Но на самом деле, мне бы хотелось поговорить о том какая это «тяжкая» работа писать мобильные приложения на Qt… Разберём простой пример.
Читать дальше →

Android Emulator и локальный веб-сервер (Denwer)

Reading time2 min
Views20K
imageЯ продолжу делиться некоторыми кейсами разработки под Android и теперь хочу рассказать о том, как просто заставить работать приложение, запущенное в эмуляторе, с вашим же серверным API, которое лежит на локальном веб-сервере. Простыми словами — как общаться приложению из эмулятора по http с localhost. Это не советы профессионала, а не более чем пример конкретного рабочего решения.
Читать дальше →

CSSO (CSS Optimizer) — структурная минимизация CSS

Reading time2 min
Views19K
CSSO (CSS Optimizer) является минимизатором CSS, выполняющим как минимизацию без изменения структуры, так и структурную минимизацию с целью получить как можно меньший текст.
CSSO написан на Javascript, выполняется как в браузере, так и в командной строке (с помощью NodeJS).
Распространяется под лицензией MIT.
Читать дальше →

Плагинизация классов

Reading time2 min
Views1.8K
Как-то медитируя на свой новый велосипед подумал, – А почему бы не заложить в него возможность «плагинизации» контроллеров?

Чтобы вот был, например, у нас некий базовый класс Generic.php:
<?php
class Generic
{
  public function Hello() {
    echo 'Hello!';
  }
}
?>


А мы такие взяли и повешали бы на него пару плагинов, которые дополнят/изменят какие-либо его методы не мешая друг-другу (по принципу «кто первый встал – того и тапки»).

Вот они красавцы:
PluginFoo.php:
<?php
class PluginFoo extends Generic_PluginFoo
{
  public function Hello() {
    echo 'Dudes?<br />';
    parent::Hello();
  }
}
?>

и PluginBar.php:
<?php
class PluginBar extends Generic_PluginBar
{
  public function Hello() {
    parent::Hello();
    echo '<br />O.o';
  }
}
?>


А потом мы создали бы объект родительского класса (не обращаясь к последнему потомку), вызвали метод Hello() и тот сказал бы нам:
Dudes?
Hello!
O.o


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

Выбираем отечественного поставщика облачного хостинга

Reading time5 min
Views20K
Здравствуйте, уважаемые читатели! В своей статье я хочу произвести анализ компаний, предоставляющих услуги «облачного» хостинга на территории РФ. Анализ проводится с точки зрения среднестатистического пользователя, перед которым встала задача приобретения хостинга в облаке. Основные критерии по которым будет производиться анализ — поддержка, стоимость, гибкость(как один из основных критериев), прозрачность ценовой политики т.д.
Читать дальше →

Упрощенный алгоритм Бойера-Мура

Reading time3 min
Views58K
Прочитав статью об алгоритмах поиска подстроки в строке, я обнаружил, что там не рассказывается об алгоритме Бойера-Мура. Пара слов о нём всё-таки там есть, а именно, говорится, что алгоритм Бойера-Мура заслужил себе звание «алгоритма по умолчанию», потому что он в среднем дает лучшее время поиска (с чем я полностью согласен). Под катом рассказано об упрощенной версии этого алгоритма. В принципе, большинство скорее всего изучало этот алгоритм на 1-м или 2-м курсе ВУЗа (как и я), поэтому они могут пропустить эту статью, ничего нового тут нет.
Читать дальше →

Информационные интеллектуальные сети и Семантический Веб

Reading time10 min
Views25K
Информационные интеллектуальные сети, Семантический Веб, Веб 3.0, ИИ… Эти слова все чаще стали появляться в нашем обиходе.

Целая эпоха универсального Интернета заканчивается. Она начинает сменяться до того, как мы начинаем это ощущать. На смену едва оформившемуся термину Web 2.0 уже приходит другой, непонятный и загадочный на первый взгляд — Web 3.0, или же просто «Семантический Веб».

О том, что это такое и куда движется наш интернет, я хотел поговорить в этой статье.
Читать дальше →

Работа с FLA

Reading time3 min
Views6.3K
Плохо, хорошо

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

Частично содержание данной статьи пересекается со статьей Валерии Маллаевой О fla-исходниках.
Читать дальше →

Fixber: подбирай тестировщиков под проект

Reading time2 min
Views1K
Привет, Хабражители!

Сегодня мы обновили FIXber — площадку услуг по тестированию ПО и всем, кому интересно, предлагаем ознакомиться с новыми доработками.

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



Описание новых возможностей площадки (со скриншотами) под катом.

Читать дальше →

node-sync — псевдо-синхронное программирование на nodejs с использованием fibers

Reading time6 min
Views21K
Надавно была опубликована библиотека node-fibers, вносящая в nodejs и v8 поддержку замечательного fiber/coroutine — тоесть, возможность использовать yield.
Параллельно, на nodejs groups прошел целый ряд обсуждений на тему всевозможных вариантов упрощения асинхронного синтаксиса.

Вдохновившись возможностями, которые дают «волокна», я написал библиотеку node-sync, которая делает разработку в асинхронном окружении nodejs значительно удобнее, а код — нагляднее.

Синопсис

// Обычная асинхронная функция, вызывает callback с результатом через 1 сек
function someAsyncFunction(a, b, callback) {
    setTimeout(function(){
        callback(null, a + b);
    }, 1000)
}
// Вызываем эту функцию синхронно, используя Function.prototype.sync(),
// работающий по тому же принципу, что и call()
// на этом моменте текуший поток "зависнет" на секунду, пока функция не вернет значение
var result = someAsyncFunction.sync(null, 2, 3);
console.log(result); // "5" через 1 секунду

Читать дальше →

Геолокационный сервис inmile.com

Reading time2 min
Views1K
Проект InMile.com — определяет местоположение пользователей, размещает их на карте и дает возможность общаться. Не только с друзьями, но с совершенно незнакомыми людьми, находящимися рядом.

inmile.com

В наши дни глобализация достигла невероятных вершин — мы можем подружиться с людьми с Нью-Йорка, прочитать, что думает журналист из Камбоджи о землетрясении в Японии уже через секунду после того, как он опубликовал текст.

Но! Вы знаете тех, кто рядом с вами? Кто живет в соседнем дворе (и вы не выросли в этом районе), кто учится в одном здании, кто работает в соседнем офисном корпусе, кто обедает в одной кафешке с разницей в два часа? Как зовут симпатиную девушку случайно увиденную из окна? Кто наклеил обкусанное яблоко/пингвина на детскую коляску своего чада?

С помощью InMile.com вы сможете познакомиться с этими людьми. В своем роде, это аналог локальных чатов, которые делают (делали) небольшие провайдеры.
Читать дальше →

Как подружить Yandex карты с Google и OSM?

Reading time7 min
Views25K


Есть у меня проект, который работает на основе карт от Яндекса. Выбрал я их потому, что там документация на русском, хорошее качество карт наших городов и приятный интерфейс. Позже, как оказалось, еще и большие возможности.
И вот я заметил, что некоторые места Яндекс спутник показывает в слишком маленьком масштабе, что не годиться для построения маршрутов.
Изначально, я сделал два отдельных файла со скриптами, в одном из которых – была логика работы с Яндексом, а во втором – с Google. Переключение происходило в профиле и действовало на весь сайт, а вся работа с картами на сайте была в псевдокоде(прокси).
Esosedi.ru использовали как раз такой подход с переключением карт, но без перезагрузки. Однако такой вариант мне не подходил потому, что используются маркеры и ломанные линии, к тому же вести два разных файла трудно.

И вот я решил поискать другой вариант.
Читать дальше →

Qt: работа с Vkontakte API и Phonon

Reading time12 min
Views20K
Qt
Статья описывает взаимодействие Qt c такими программными интерфейсами как Vkontakte API и Phonon, в реальных примерах и подробным описанием.
В конце статьи ссылка на репозиторий с исходным кодом который Вы можите свободно скачать и запустить.
Читать дальше →

Веб-кластер — опыт реального применения

Reading time9 min
Views20K
Приветствую, уважаемые сообщники!

Эта статья — о том, как мы реализовали веб-кластер для новостного портала (с пиком посещений в 130 тысяч уникальных посетителей в день — это 7Тб траффика за 3 дня — выборы и 2 последующих. Сейчас в среднем кластер раздаёт 35-40 Тб траффика в месяц), о том, как по-разному понимают одинаковые задачи программисты и журналисты, о том, как можно достичь одной и той же цели, идя разными путями.

Она будет интересна тем, кто хочет построить легко масштабируемый географически распределённый веб-кластер, не вкладывая астрономических сумм в оборудование (а по меркам телевидения — будут вообще смешные суммы).

Я больше чем уверен, что маркетологи, толкающие убер-решения свежевыпущенных продуктов, имеющих в своём названии слова «масштабируемый веб-кластер» или «horizontal infinite scalable web cluster», меня возненавидят.

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

Читать дальше →

Порядок выполнения тернарного оператора

Reading time3 min
Views37K
В php есть интересная особенность тернарного оператора — специфический и уникальный порядок выполнения.

$ python -c "print 1 if true else 2 if true else 3 if true else 4 if true else 5"
 1

$ node   -e "      true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5"
 1

$ perl   -e "print true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5"
 1

$ ruby   -e "print true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5"
 1

$ php    -r "print true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5;"
 4
Java и C++ тоже вернут 1

Читать дальше →

jQuery Timers

Reading time3 min
Views64K
При проектировании интерфейсов пользователя когда-нибудь обязательно встанет задача использования таймеров, и в этой статье я хочу рассказать о замечательном плагине jQuery Timers, который значительно облегчит работу по созданию и применению таймеров в Ваших приложениях.
jQuery Timers — это высокоуровневая абстракция методов setTimeout и setInterval. Используя jQuery Timers, Вы сможете «прикреплять» таймеры к элементам непосредственно в Вашем коде и использовать еще некоторые возможности.
Как обычно, сначала посмотрим пример, а потом разберем исходный код.

Пример и исходный код скачать можно здесь

image
Привет Isis, давно тебя не было, почитаем дальше

Сказ о том, как я стал разработчиком софта для iPhone

Reading time9 min
Views5.1K
imageГде-то в начале 2010 года я узнал об очень интересной для меня теории, которая очень много чего объяснила для меня в жизни. Я о ней писал уже на Хабре habrahabr.ru/blogs/ui/111401.
Хотя я сам занимаюсь бизнесом сфере консалтинга и психологии, но большýю часть своей жизни был связан с IT и программированием. И вот мне пришла в голову мысль – выпустить приложение для iPhone, выпуск которого очень много всего изменил.
Ну, как и всегда, все началось с идеи. Идея приложения была следующая: дать пользователю инструмент, с помощью которого он бы смог легко распознавать модели поведения других людей, и чтобы это приложение давало конкретные ответы на вопросы «Как?» и «Каким образом?» взаимодействовать с тем или иным человеком в разных ситуациях.

Под катом в деталях описан процесс создания приложения и много всего интересного с суммами в USD и картинками.
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity