понедельник, 9 мая 2011 г.

Хабрахабр

КупиКупон - скидки от 50% до 90%

Хабрахабр:

В языке Go используются обычные способы управления потоком выполнения: if, for, switch, goto. Есть ещё оператор go, чтобы запустить код в отдельной го-процедуре. А сейчас я бы хотел обсудить менее обычные способы: defer, panic и recover. Команда defer помещает вызов функции в список. Этот список отложенных вызовов выполняется после того, как объемлющая функция завершит выполнение. Defer обычно используется для упрощения функций, которые занимаются освобождением ресурса. Например, посмотрим на функцию, которая открывает два файла и копирует содержимое из одного файла в другой: Читать дальше →


Студенты Массачуссетского Технологического Института представили свою разработку интерфейса навигации в будущем. Известная под названием AIDA 2.0, представляет из себя концепт интерактивной системы навигации подсказывающей маршрут движения, учитывающий привычные дороги, необходимость заправки и прочие моменты вождения. AIDA 2.0 также включает отображение показателей приборов и 3х-мерное отображение карты прямо перед водителем, что добавляет наглядности. Под катом трафик


Никому не известный инженер Стив Чемберлин (Steve Chamberlin) решил изменить общепринятое мнение о том, что процессор своими руками создать невозможно. Точнее, процессор достаточно сложного ПК, который смог бы дублировать функции 8-битных вычислительных устройств, получивших распространение в начале 80-х. Вначале это было небольшой проект, который со временем вырос в нечто большее. Сейчас BMOW 1 представляет собой полноценный ПК на основе самодельного процессора, который запускает программы, имеет клавиатуру, VGA-видео, аудио-систему. Программная среда для BMOW 1 ? Basic. Читать дальше →


От перев.: Думаю, практически каждый разработчик читал произведение искусства под названием ?Если бы программисты строили дома?. В этом юмористическом рассказе проводится параллель между строительством и разработкой ПО. Неожиданно! Понятно, что в каждой шутке есть доля правды. И вот спустя годы я наткнулся на другое сравнение. Мне оно показалось более точным, поэтому я решил перевести его на русский и поделиться с сообществом. Познать дзен садоводства!


Исследования Университета штата Юта, спонсированные частично компанией NVIDIA, направлены на изучение ускорения ядра Linux с использованием ускорения графического процессора GPU. Вместо того чтобы просто позволить приложениям пользователя использовать огромную силу предлагаемых современных графических процессоров, исследователи надеются ускорить части ядра Linux запустив его прямо на GPU. Из страниц исследования: ?Идея проекта KGPU состоит в том, чтобы графический процессор GPU рассматривался в качестве вычислительного сопроцессора для операционной системы, позволяющего производить параллельные вычисления внутри ядра Linux. Это даст возможность использовать SIMD (или SIMT в CUDA) для ускорения функциональности ядра Linux и внести новые функциональные возможности, которые ранее считались слишком интенсивными вычислениями для ядра. Проще говоря, проект KGPU делает возможными векторные вычисления внутри ядра?. Читать дальше →


В последнее время на Хабре появилось, а также существует много содержательных статей, описывающих работу и принцип понятия ?нейронная сеть?, но, к сожалению, как всегда очень мало описания и разбора полученных практических результатов или их не получения. Я думаю, что многим, как и мне удобней, проще и понятней разбираться на реальном примере. Поэтому в данной статье постараюсь описать почти пошаговое решение задачи распознавания букв латинского алфавита + пример для самостоятельного исследования. Распознавание цифр с помощью однослойного персептрона уже сделано, теперь давайте еще разберёмся и научим компьютер распознавать буквы. Немного желания и можно начинать...



Облачные хранилища данных, несомненно, одно из самых интересных и актуальных направлений в IT. Достаточно сказать, что за лидерство здесь идет активная борьба между такими гигантами как Microsoft, Google, Amazon. Интерес к этому активно подогревается также сторонними разработками, активно использующими эти сервисы. Например, менеджер Dropbox, который, как теперь уже кажется, был всегда. Уже не верится, что каких то 2 года назад он почти не был известен . Со временем я ?оброс? различными хранилищами, хранилища в свою очередь обросли сервисами. И недавнее гугление по названию Gladinet при чтении комментариев здесь, на Хабре (извиняюсь, не смог найти комментарий), привело на сайт разработчиков desktop приложения Gladinet, вполне достойного пристального внимания. Установив бесплатную версию приложения, обнаружил, что к вновь созданному устройству могу подключить практически все облака, которыми раньше пользовался. Все данные при первом запуске подключаются как ссылки. Загрузка происходит уже при фактическом обращении к файлам. Приложение встраивается в проводник и другие файл-менеджеры (в моем случае Total Comander) как дополнительный диск, в котором собираются все виртуальные устройства. Читать дальше →



Мир айти в 2011 г.: одни фанатики называют других фанатиков фанатиками. (с) Тема холиваров очень популярна на хабре ? по сути, это одно из основных занятий его читателей. Но, как ни странно, затрагивать тему, кто круче ? Windows или Linux, Android или iPhone, я не буду (этим можно будет заняться позже в комментариях). А вместо этого хочу поговорить о самой природе холиваров, а также о предпосылках и следствиях. Мне всегда очень интересно наблюдать за холиварами, иногда сам в них принимаю участие (скорее от скуки, чем от надобности). (Спасибо админам хабра за двухмесячный бан ? теперь я умею игнорировать любые холивары.) Читать дальше →


Вы наверняка видели конкурс от телеканала Дождь и кластера информационных технологий Фонда Сколково. Главный приз ? 3 млн. рублей. Грант, т.е. долю отдавать не надо. Надо просто потратить деньги на реализацию своего проекта. Но что интересно ? не так много команд подали заявки. На момент написания заметки было подано всего 106 заявок. Похожая ситуация наблюдается и с Фондом посевных инвестиций Microsoft. Качественно заполненных заявок фонд получает порядка 50. Это очень мало. Для технологических предпринимателей деньги на старте очень важны. Тем более такие дешевые. Вся цена этих денег ? время, потраченное на заполнение заявки. Читать дальше →



Следуя совету хабрапублики, пробую новый вариант перевода термина "lock-free" В прошлый раз мы видели ?беззахватный по духу? алгоритм, где захват был реализован так, что поток, обращающийся к захваченным данным, не ждёт их освобождения, а отправляется ?обходным путём? (вычисляет требуемый результат, не пользуясь услугами кэша). В своём следующем посте Реймонд объясняет, как данный алгоритм можно усовершенствовать на случай, когда ?обходного пути? нет. Алгоритм, однако, остаётся беззахватным: каждый поток продолжает работать, не дожидаясь освобождения захваченных данных. В общей переменной теперь нужны два служебных бита: вдобавок к флагу захвата, как в прошлом примере, ? флаг ?поручена новая работа?; а если порученная работа сложная, то кроме флага, нужно будет где-то хранить ещё и её параметры. Например, в общей переменной можно хранить указатель на (выравненный в памяти) объект с параметрами, а в свободных младших битах указателя ? два названных флага. Перед выполнением действия над объектом, первым делом мы его захватываем, атомарно устанавливая соответствующий флаг. Если окажется, что объект уже был захвачен, ? поручим выполнение нашего действия захватившему потоку, установив второй флаг. Если же объект удалось захватить, то после завершения работы с ним снимаем флаг захвата и одновременно проверяем, не поручили ли нам новую работу. (Т.е. не было ли обращений к объекту за то время, пока мы его держали захваченным.) Если есть работа, то мы выполним и её; и так далее, пока однажды при разблокировке объекта отложенной работы не окажется. Мы не вправе оставить объект в состоянии ?не захвачен, но есть работа?. Читать дальше →


Lift ? современный фреймворк на языке Scala, предназначенный для создания веб-приложений и предлагающий нестандартные подходы для решения некоторых задач. В данной заметке будет рассмотрен простейший пример (до)загрузки данных с сервера при помощи AJAX-запросов. Пост написан в надежде, что он может быть кому-то полезен и сократить время поиска решения на часик-другой, да и просто в качестве демонстрации возможностей отличного современного, но пока не очень популярного фреймворка. Но я предполагаю, что у читателя уже есть некоторые базовые представления о Lift и о некоторых концепциях, в нем применяемых. Немного кода и разметки


Рассчитываю, что заключительный пост серии ? в отличие от трёх предыдущих, оказавшихся, по-видимому, чересчур хардкорными ? вызовет у хабрапублики не только филологический интерес. Один из комментаторов серии постов Чена про безблокировочные алгоритмы поинтересовался, в каких условиях эти более сложные алгоритмы существенно превосходят по производительности такие простые примитивы блокировки, как критические секции. Он совершенно прав, что переход от простого алгоритма к сложному должен быть оправдан замерами производительности: если простой алгоритм удовлетворительно справляется со своей задачей, то нечего искать добра от добра. Но преимущества безблокировочной синхронизации не сводятся лишь к улучшенной, по сравнению с привычными примитивами блокировки,  производительности. (Далее в этом посте мы увидим, как можно получить эти неочевидные преимущества, не переходя на полностью безблокировочную синхронизацию.) Читать дальше →


Так получилось, что эту весну я провёл в поисках/собеседованиях людей аж на четыре вакансии, связанные с системным администрированием. Я пообщался с несколькими десятками людей и заметил характерные ошибки и проблемы, с которыми они сталкиваются. Излагаю то, что заметил, а так же свои мысли, как эти проблемы решить. scope: начинающие системные администраторы, помощники системных администраторов и т.д. Опытным администраторам, а так же тем, кто имеет вполне конкретную специализацию будет если и интересно, то бесполезно. Примерная структура цикла статей ? я опишу то, как мне видится профессия системного администратора, разберу текущее отношение к профессии со стороны работодателя, потом попробую дать общую информацию о том, с чего начинать и куда двигаться дальше. Какие бывают системные администраторы? Читать дальше →


Отписаться от этой рассылки

Комментариев нет:

Отправить комментарий