Как стать автором
Обновить
0
0
Олег Климчук @stix

Пользователь

Отправить сообщение

О микроконтроллерах

Время на прочтение4 мин
Количество просмотров29K
Около 55% проданных в мире процессоров приходится на 8ми битные микроконтроллеры. Более 4 млрд. 8ми битных микроконтроллеров продано в 2006. Они установлены в микроволновках, стиральных машинах, музыкальных центрах… При этом они являются однокристальными компьютерами, со своим процессором, памятью, портами ввода-вывода. В статье я постараюсь кратко объяснить что это за звери и как их приручают.
Читать дальше →
Всего голосов 92: ↑86.5 и ↓5.5+81
Комментарии101

Google PageRank: Что мы знаем о нем?

Время на прочтение7 мин
Количество просмотров10K
UPD. Статья уже переведена уважаемым Jenek и находится по адресу: designformasters.info/posts/google-page-rank

По просьбам здесь начал переводить статью "Google PageRank: What Do We Know About It?". Пока только то, что успел за вчерашний вечер. Если это кому-нибудь нужно продолжение — напишите, я переведу и выложу все остальное. Вычитка и замеченые ошибки приветствуются, т.к. специально переводить мне еще не приходилось. :)

Google PageRank: Что мы знаем о нем?


Его использует каждый, но почти никто не знает, как он в действительности работает. Google PageRank – это наверно один из важнейших алгоритмов, когда либо разрабатывавшихся в сети. Миллиарды существующих страниц и миллионы страниц появляющихся каждый день – поисковая выдача намного сложнее, чем вы себе представляете. PageRank – один из сотен факторов, которые учитывает Google, чтобы определить наилучший поисковый запрос, помогающий делать поиск простым и эффективным. Но как он на самом деле сделан? Как работает Google PageRank, какие факторы на него воздействуют, а какие нет? И что мы действительно знаем про PageRank?
В этой статье будут только голые факты.
Несколько недель мы производили интенсивные исследования и выбрали массу фактов и предположений о PageRank, которые похожи на действительность. Кроме того, мы собрали научные статьи, относящиеся к поисковой выдаче – таких, как предложения для лучших результатов поиска (например, PageRank, чувствительный к теме). Вы прочитаете про математическую составляющую PageRank, также как и про 16 полезных инструментов для работы с PageRank, которые вы можете использовать для анализа и слежения за вашими веб-проектами.

Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии32

Создание API: в рамку и на стену

Время на прочтение5 мин
Количество просмотров57K
Каждый программист — проектировщик API. Хорошие программы состоят из модулей, а протокол взаимодействия модулей — это тоже API. Хорошие модули используются повторно.

API — это большая сила и большая ответственность. У хорошего API будут благодарные пользователи; поддержка плохого превратится в кошмар.

Публичный API — не воробей, опубликуешь — не уберешь. Есть только одна попытка сделать все правильно, поэтому постарайся.

API должно быть легко использовать, но сложно использовать неправильно. Сделать что-то простое с помощью такого API должно быть просто; сложное — возможно; сделать что-то неправильно должно быть невозможно, или, по крайней мере, трудно.

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

Перед разработкой API собери требования с долей здорового скептицизма. Осознай общие задачи и реши их.

Оформляй требования как шаблоны использования API. Сверяйся с ними в процессе проектирования.
Читать дальше →
Всего голосов 154: ↑143 и ↓11+132
Комментарии97

Видео курс практической робототехники на Lego NXT

Время на прочтение2 мин
Количество просмотров13K
Длительный и кропотливый труд по подготовке курса видео лекций «Практическая робототехника» близится к концу, и я хочу поделиться первыми результатами своей работы. На него уже можно записаться и приступить к изучению.
Конечно найдутся замечания по формату и содержанию курса, но мне кажется получилось неплохо. Вот, к примеру, третья часть четвертой лекции.

Краткое содержание курса можно найти в статьях «Математическая модель двигателя Lego NXT» и «Математическая модель Lego Segway».
Курс ознакомит вас с основами механики Лагранжа, матричного представления систем, основными приемами теории автоматического управления. Я постарался не обращаться к сложным математическим приемам, поэтому для прохождения курса должно хватить школьных знаний.
Содержание курса
Всего голосов 27: ↑26 и ↓1+25
Комментарии7

Сетевое программирование для разработчиков игр. Часть 2: прием и передача пакетов данных

Время на прочтение9 мин
Количество просмотров105K
От переводчика: Это перевод второй статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.
Первая статья — http://habrahabr.ru/post/209144/



Прием и передача пакетов данных


Введение

Привет, меня зовут Гленн Фидлер и я приветствую вас в своей второй статье из цикла “Сетевое программирование для разработчиков игр”.


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

А сейчас я собираюсь рассказать вам, как на практике использовать UDP для отправки и приема пакетов.

BSD сокеты

В большинстве современных ОС имеется какая-нибудь реализация сокетов, основанная на BSD сокетах (сокетах Беркли).

Сокеты BSD оперируют простыми функциями, такими, как “socket”, “bind”, “sendto” и “recvfrom”. Конечно, вы можете обращаться к этим функциями напрямую, но в таком случае ваш код будет зависим от платформы, так как их реализации в разных ОС могут немного отличаться.

Поэтому, хоть я далее и приведу первый простой пример взаимодействия с BSD сокетами, в дальнейшем мы не будем использовать их напрямую. Вместо этого, после освоения базового функционала, мы напишем несколько классов, которые абстрагируют всю работу с сокетами, чтобы в дальнейшем наш код был платформонезависимым.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии20

Что должен знать каждый участник крупного MMO-проекта

Время на прочтение5 мин
Количество просмотров66K

Рядовые программисты обычно всё это прекрасно знают. А вот менеджерский состав нередко считает, что совершенно не обязательно разбираться в игровой экономике, клиент-серверной архитектуре и психологии игрового комьюнити. Ведь есть же крутая команда спецов, которые обо всём позаботятся.
Итог очевиден: трудно вспомнить хотя бы один крупный MMO-проект, выпущенный за последние два года, который избежал бы стандартного набора граблей. Такое ощущение, что MMO-индустрия не способна учиться на своих ошибках.
Итак, список вопросов, ответы на которые должен знать каждый, от топ-менеджера до работника техподдержки крупного MMO-проекта.
Читать дальше →
Всего голосов 102: ↑81 и ↓21+60
Комментарии114

HTML по стандартам

Время на прочтение10 мин
Количество просмотров124K
Привет Хабр!

image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Читать дальше →
Всего голосов 190: ↑167 и ↓23+144
Комментарии49

Сети для самых маленьких. Часть третья. Статическая маршрутизация

Время на прочтение28 мин
Количество просмотров560K
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.




Итак, поворотный момент в истории компании “Лифт ми Ап”. Руководство понимает, что компания, производящая лифты, едущие только вверх, не выдержит борьбы на высококонкурентном рынке. Необходимо расширять бизнес. Принято решение о покупке двух заводов: в Санкт-Петербурге и Кемерово.
Нужно срочно организовывать связь до новых офисов, а у вас ещё даже локалка не заработала.
Сегодня:
1. Настраиваем маршрутизацию между вланами в нашей сети (InterVlan routing)
2. Пытаемся разобраться с процессами, происходящими в сети, и что творится с данными.
3. Планируем расширение сети (IP-адреса, вланы, таблицы коммутации)
4. Настраиваем статическую маршрутизацию и разбираемся, как она работает.
5. Используем L3-коммутатор в качестве шлюза

Читать дальше →
Всего голосов 108: ↑104 и ↓4+100
Комментарии49

jQuery File Upload

Время на прочтение2 мин
Количество просмотров182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

Читать дальше →
Всего голосов 215: ↑206 и ↓9+197
Комментарии118

Лекториум записал почти тысячу лекций за год

Время на прочтение4 мин
Количество просмотров57K
Дорогой Хабр!



У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
Сняли и опубликовали почти тысячу лекций по IT и математике.

UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.

Читать дальше →
Всего голосов 340: ↑333 и ↓7+326
Комментарии183

Selectik — стильные селекты

Время на прочтение2 мин
Количество просмотров13K
Веб-дизайнеры любят стилизировать стандартные элементы форм. Потом эти элементы приходиться реализовывать нам — верстальщикам.

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

Естественно, после всего этого я решил изобрести свой велосипед.

Пример разработан без дополнительных картинок с помощью CSS3. Демо-страница с песочницей здесь.
Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии74

Простая минималистская реализация сложных JavaScript приложений

Время на прочтение12 мин
Количество просмотров8.6K
Я хочу описать простой минималистский подход к разработке сложных JavaScript приложений. Из внешних библиотек будут использоваться только jQuery и мой js-шаблонизатор, причём из jQuery используются только $.ready(), $.ajax() и $.proxy() — т.е. суть не в библиотеках (их тривиально заменить на предпочитаемые вами), а в самом подходе.

В основе подхода лежат две идеи:
  1. JavaScript виджеты — небольшие модули, каждый из которых «владеет» определённой частью веб-странички (т.е. всё управление этой частью странички происходит исключительно через методы этого модуля, а не через прямую модификацию DOM — инкапсуляция). Виджет отвечает исключительно за функциональность, но не за внешний вид; поэтому прямая модификация части DOM, которым «владеет» виджет, снаружи виджета допускается — но только для чисто дизайнерских задач (для архитектуры и общей сложности приложения нет принципиальной разницы между коррекцией внешнего вида через CSS или jQuery).
  2. Глобальный диспетчер событий. Взаимодействие между виджетами осуществляется путём посылки сообщений глобальному диспетчеру (слабая связанность, паттерн Mediator/Посредник), а уже он принимает решение что с этим сообщением делать — создать/удалить виджеты, дёрнуть методы других виджетов, выполнить дизайнерский код, etc. В отличие от динамического подхода к обработке событий (когда обработчики конкретного события добавляются/удаляются в процессе работы) статический диспетчер сильно упрощает понимание и отладку кода. Безусловно, есть задачи, для которых нужны именно динамические обработчики событий, но в большинстве случаев это избыточное усложнение, поэтому всё, что можно, делается статическими обработчиками.

Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии42

Шифрование (K)Ubuntu для домашнего и бизнес применения

Время на прочтение2 мин
Количество просмотров3.3K
Данные в компьютерах обычно хранятся в открытом виде, как в Windows, так и в Linux, что дает доступ к любой информации практически любому, на нее покушающемуся (!) или так «случайному прохожему» или даже неслучайному. Если вы хотите что-то скрыть от посторонних глаз, то эта статья для вас — умеренных параноиков и пользователей (K)Ubuntu. Особенно это касается владельцев ноутбуков (про массовые кражи все читали).
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии17

Информация

В рейтинге
Не участвует
Откуда
Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность