Pull to refresh
65
0
Андрей @podust

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

Send message

В поиске вопросов, или как создать новый отладчик

Reading time 3 min
Views 3.5K

Мы уделяем много внимания инструментам разработки: участвуем в горячих спорах о редакторах (Vim или Emacs?), долго настраиваем IDE под свой вкус, и тщательно выбираем языки программирования и библиотеки, которые с каждым днем становятся все лучше и удобнее. Однако, здесь можно выделить одну категорию, которая по какой-то причине остается незаслуженно забытой: отладчики не сильно изменились за последний десяток лет, хотя по-прежнему являются одним из базовых инструментов для отлова ошибок и навигации в коде.



Изображение: Timothy Dykes @timothycdykes, unsplash.com


Гораздо чаще мы предпочитаем быстро добавить пару printов вместо того, чтобы поставить в нужном месте точку останова и пройтись к ней отладчиком — и вопрос "почему?" не перестает меня занимать — ведь логи и printы дают ограниченную информацию и не позволяют интерактивно взаимодействовать с запущенным процессом (а отладчики могут работать даже и с "умершими" процессами!).


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

Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 14

Rust в деталях: пишем масштабируемый чат с нуля, часть 1

Reading time 31 min
Views 65K

Часть 1: Реализуем WebSocket. Введение.


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

В первой части мы рассмотрим начальную настройку окружения и реализацию простейшего WebSocket-сервера. Чтобы понять технические детали статьи вам не потребуется опыта работы с языком Rust, хотя знание основ системных API (POSIX) и C/C++ лишним не будет. Прежде чем начинать чтение, заготовьте немного времени (и кофе) — статья описывает все максимально подробно и поэтому довольно длинная.

Читать дальше →
Total votes 63: ↑62 and ↓1 +61
Comments 36

Rust в деталях, часть 2

Reading time 27 min
Views 15K

Часть 2: Отправка и получение сообщений


В этой серии статей мы рассматриваем процесс создания масштабируемого сервера для чата в реальном времени, во всех деталях. Цель статьи — показать пример практического применения языка Rust на фоне изучения концепций системного программирования и системных API, шаг за шагом.

Вторая часть является прямым продолжением первой, поэтому если вы ее пропустили (или забыли контекст), то рекомендую сначала ознакомиться с ней. В этой части мы продолжаем реализацию протокола WebSocket.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 12

Новый рекорд Германии: 50,6% энергии за сутки получено от солнечных батарей

Reading time 2 min
Views 124K


Германия обновила рекорд по доле энергии, полученной от солнечных батарей. В день 9 июня 2014 года в национальную энергосеть поступило 23,1 ГВтч энергии от фотоэлементов, что составило 50,6% суточного потребления, сообщил Институт систем солнечной энергии общества Фраунгофера (Fraunhofer ISE).

Рекорд поставлен в выходной день, когда потребление минимально, но всё равно это значительное достижение для энергетики.
Читать дальше →
Total votes 66: ↑61 and ↓5 +56
Comments 214

Нетбук за 39,99 долларов?

Reading time 1 min
Views 1.9K
Не раз мы уже видели разнообразные нетбуки для стран третьего мира – «компьютер за 100$», «компьютер с ручным генератором», но все это меркнет по сравнению с находкой Wired – нетбуком с невероятно низкой ценой 39,99$.

image

«Лэптоп» продается на аукционе Ebay, и выглядит на первый взгляд очень неплохо (за свои то деньги). Однако при детальном изучении можно выяснить, что он работает на Windows CE, оснащен 300 МГц ARM-процессором от VIA, 128 Мб оперативной памяти и накопителем объемом в целых 2 Гб. Огромная пластиковая рамка вокруг крошечного 7-дюймового TFT-дисплея (800 x 480) умещает на себе пару динамиков (по одному с каждой стороны). Помимо всего прочего имеется три порта USB, аудиогнезда, Ethernet и даже Wi-Fi. В довершение аппарат поддерживает карты памяти SD!

Непонятно, насколько качественно выполнена клавиатура (но есть догадки) и корпус самого нетбука. Доставка устройства производится из Гонконга.
Total votes 54: ↑42 and ↓12 +30
Comments 105

«Кровавый режим» Nexus One увеличивает время автономной работы

Reading time 1 min
Views 1.2K
AMOLED-дисплеи пяти смартфонов Nexus One, которые вы можете видеть на фотографии, на самом деле не имеют дефекта, с ними все в порядке. Изображение красно-зелено-буро-малинового цвета на них появилось неспроста – это попытка увеличить время автономной работы аппаратов путем отключения ненужных светодиодов-субпикселей.

image

При подключении трубок к измерителю потребляемой мощности инженер Джеф Шарки (Jeff Sharkey) обнаружил, что в «кровавом» режиме аппараты потребляют на 42% меньше электроэнергии, соответственно, время автономной работы в тот момент, когда используется дисплей телефона, также значительно увеличивается.

Очень полезный «хак» на самом деле, ведь иногда нужно максимально продлить время работы аппарата (в долгой поездке например, где негде подзарядиться), если при этом цветность экрана не так актуальна.

Источник: Engadget
Total votes 93: ↑85 and ↓8 +77
Comments 101

Одноразовая почта

Reading time 1 min
Views 1.6K
Иногда не хочется светить свой e-mail, чтобы пройти регистрацию на каком-либо ресурсе. Как же быть? Использовать одноразовую почту. Суть такова — нажимаем на кнопку «получить аккаунт» и вуаля, валидный e-mail на 10 минут. Если почта нужна более чем отведенный срок, то можно без проблем его продлить.
Читать дальше →
Total votes 36: ↑21 and ↓15 +6
Comments 26

Шаблонизаторы для HTML.

Reading time 5 min
Views 3.5K
В эту неделю довольно много писали про шаблонизаторы, преимущественно Smarty и XSLT. В то же самое время ваш покорный слуга усиленно думал над тем, какой бы шаблонизатор использовать на своих проектах, и пришел к неутешительному выводу что ему ничего не нравиться. Далее будет рассмотрены основные методы написания шаблонов, расписано что в них нехорошего и предложен свой взгляд на проблему.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 16

Future Scanner: клон Digg предсказывает будущее

Reading time 1 min
Views 666
Каждый день в интернете появляются новые клоны Digg, но очень немногие из них заслуживают внимания. Сайт Future Scanner определённо выделяется из общей массы. Он создан для… предсказания будущего с помощью голосования.

Это имеет смысл: история неоднократно показывала, что зачастую воплощаются в жизнь именно те изобретения, которые предполагаются как наиболее востребованные, идеи которых витают в воздухе, которые описаны в научно-фантастической литературе. Работа учёных подчиняется вовсе не случайному жребию, а коллективному бессознательному человечества. Например, выбирая темы своих научных работ, будущие учёные могут читать научно-фантастические произведения и прогнозы будущего, такие как на сайте Future Scanner.

Future Scanner ставит задачу не столько определить будущее, а скорее нащупать его. Истории структурированы по годам и тематическим категориям (биотехнологии, культура, правительства и т.д.). Системный подход позволяет назвать этот ресурс первой в интернете полноценной веб-платформой для изучения будущего.



via TechCrunch
Total votes 13: ↑10 and ↓3 +7
Comments 8

PHP класс для сборки инклюдов в один файл

Reading time 2 min
Views 1.1K
по мотивам коммента mocksoul из темы PHP: Введение в Zend Framework

Проблема


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

Предложенное решение – сборка всех инклюдов в один файл.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 16

Несколько интересностей и полезностей для веб-разработчика #27

Reading time 4 min
Views 31K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Highcharts.js



В последнее время я зачастил с библиотеками предназначенными для построения графиков и диаграмм. Но против трендов на GitHub с 2500+ звезд не попрешь, да и когда есть из чего выбирать — всегда хорошо. Highcharts.js — это мощный инструмент, основанный на SVG и VML рендеринге со множеством плагинов. Минус этого проекта — лицензия, которая позволяет использовать скрипт только в некоммерческих целях. Хочу обратить также ваше внимание, что именно этот проект выбрали такие компании как Яндекс, Facebook, Twitter, Yahoo, AT&A, Nokia и др.

Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Comments 7

Работа с цветом: полезные инструменты, книги, статьи для веб-дизайнеров

Reading time 2 min
Views 90K
Работа с цветом — это первое, что должен уметь любой дизайнер. В интернете огромное количество разрозненной информации на эту тему, я попытался собрать самое полезное в одной подборке. Большинство полезностей с уклоном в веб-дизайн.

Инструменты




Colour Lovers — старый и функциональный инструмент для подбора цветовых схем. Аналоги — Colourcode, Color Scheme Designer и конечно Kuler. Подобных сайтов великое множество, но эти, на мой взгляд, самые удобные.
Читать дальше →
Total votes 67: ↑66 and ↓1 +65
Comments 8

Обработка пользовательких видео

Reading time 3 min
Views 4.3K
Некоторое время я занимался (и занимаюсь до сих пор) веб-проектом, где необходимо было добавить фичу для загрузки пользовательских видео-роликов. Собственно, какие могут быть пользовательские видео? Очень разного качества и разнообразных форматов. Начиная от обычных flash файлов, которые представляют наименьшую проблему, до различных записей с телефонов. Встала задача — сделать демона, который бы занимался обработкой очереди загруженных файлов и выполнял следующие функции:
— Конвертирование видео в flash формат (FLV), ипользуя VP6 кодек
— Обновление метаинформации видеофайла
— Создание thumbnails из видео
— Дальнейшии манипуляции с БД

Конкретно в этой статье я рассмотрю варианты обработки уже сконвертированного в формат flash видео-ролика. Итак приступим.
Читать дальше →
Total votes 78: ↑74 and ↓4 +70
Comments 33

Изучаем наличие layout

Reading time 1 min
Views 6.1K
Примечание: ниже представлен официальный перевод статьи «On having Layout» на русский язык. Статья не является окончательной. Этот перевод отражает 9 версию от 23.10.2007.

UPD текст статьи полностью убран в связи с его неконтролируемыми изменениями с момента публикации. Перепечатка доступна здесь
Total votes 45: ↑44 and ↓1 +43
Comments 49

Создаем шаблон Joomlа по стандартам — часть 1

Reading time 6 min
Views 28K
Весной 2008 года в блоге Compass Designs был опубликован неплохой цикл статей о создании «чистого» шаблона для Joomla 1.5 (под «чистым» в данном случае понимается шаблон, сверстанный по современным стандартам, т.е. без использования таблиц и с грамотным применением каскадных таблиц стилей). Первые две части цикла содержат в основном общие объяснения терминологии, советы по организации разработки на локальном хосте и т.д., поэтому я решил опубликовать переводы только основных 4-х статей, которые собственно и содержат небольшое руководство по созданию шаблона. Итак, сегодня первая часть, содержащая основные сведения о построении шаблонов Joomla.
Читать дальше →
Total votes 13: ↑7 and ↓6 +1
Comments 4

Использование Zend_Db_Table

Reading time 3 min
Views 2.6K
На работе пришлось столкнуться с очень не нравившейся мне ORM'кой собственного производства. Стал делать свою (ну не дурак ли, а? :)), наваял за 3 дня простенькую ORM, отображающую структуру таблиц на обьекты, не контроллируя типов. Итог получился примерно такой:
  • класс базы данных (относледовался от mysqli, pdo использовать было нельзя)
  • класс таблицы, хранящий в себе бд, и отвечающий за CRUD записей
  • класс записи, перенаправляющий методы CUD классу таблицы


Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Comments 47

Эхо или печать?

Reading time 3 min
Views 36K
Вопрос: «Что быстрее — echo или print?» не перестаёт будоражить умы тех, кто считает себя профессиональным программистом на PHP. Руководство пользователя осторожно упоминает об имеющемся различии, но отсылает к статье стороннего авторства; та, в свою очередь, утверждает, что echo быстрее, но не приводит доказательств; трудно найти объективное сравнение, и всё это придаёт проблеме некий мистический ореол, на что клюют многие и многие.

Так не будем же оставаться в стороне и постараемся раз и навсегда разгадать эту загадку!

Читать дальше →
Total votes 168: ↑158 and ↓10 +148
Comments 105

Сессии — всегда ли они нужны?

Reading time 5 min
Views 17K
Хочу еще раз поднять тему использования сессий для аутентификации пользователей. Надеюсь услышать критику приведенного в статье метода с высоты вашего опыта.

Читать дальше →
Total votes 53: ↑38 and ↓15 +23
Comments 59

Чёрточки: только ли тире, минус и дефис?

Reading time 4 min
Views 177K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Total votes 311: ↑288 and ↓23 +265
Comments 208

Поговорим о стартапах или так можно ли использовать стандартные движки, темы и дизайн?

Reading time 8 min
Views 911
239.pngПриветствую всех читателей, сегодняшняя статья будет немножко необычной, в том плане, что тема будет поднята не совсем программистская, а скорее ближе к аналитической и бизнесовой. Поговорим мы о том, что же делать при начале своего собственного стартапа в сети Интернет, и попробуем рассмотреть один из самых популярных мифов (или нет?) о дизайне и движке вашего детища.
Читать дальше →
Total votes 53: ↑40 and ↓13 +27
Comments 79

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity