Новости информационных технологий - 13511

Прошло почти 3 недели с момента публикации моего первого поста о коллекциях объектов в PHP. За это время было сделано много работы и получено много опыта, которым я хочу поделиться. Наибольшее количество изменений претерпели карты, большая часть внимания будет уделена именно им.

В этом посте вы увидите:

  • Проект и реализацию коллекций объектов в PHP.
  • Тесты производительности.
  • Впечатления о написании первых Unit тестов.
  • Интересную информацию о работе с множествами объектов PHP.

Читать полностью »

image

На Computex 2012 компания ASUS приехала удивлять новыми гибридными устройствами. На прошедшей в Тайване выставке представили два концептуальных продукта «облачной эры» категории «ультрабук»: TAICHI и Transformer Book. Если раньше планшеты ASUS старательно маскировались под ноутбуки (нетбуки), то сейчас пришло время ноутбуков (точнее, ультрабуков), трансформироваться в подобие планшетов.

Читать полностью »

Stuxnet, Flame и Duqu — три самые известные программы, предположительно созданные спецслужбами в качестве «кибеоружия» против других стран. Программа Stuxnet успешно вывела из строя 80% иранских центрифуг по обогащению урана, а шпионская программа Flame несколько лет скрытно работала на иранских компьютерах, установившись как обновление Windows.

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

Самое интересное, что во всех трёх программах использовалась библиотека LZO, которая распространяется строго под лицензией GNU GPL.
Читать полностью »

Федеральное бюро расследование опубликовало досье, собранное на Ричарда Фейнмана — известного физика и математика, одного из создателей квантовой электродинамики и первой атомной бомбы, лауреата Нобелевской премии по физике (1965 г., совместно с С. Томонагой и Дж. Швингером). Оказывается, долгие годы за ним осуществлялось скрытое наблюдение, а близкие друзья Фейнмана работали информаторами.
Читать полностью »

Это скорее пост-вопрос к специалистам, нежели просто кусок полезной информации. Приглашаю к дискуссии.
Недавно я имел счастье послать своё резюме в Связной на позицию .NET разработчика. В ответ меня попросили сделать тестовое задание на знание многопоточности. Я не могу назвать себя экспертом в этой области, но, тем не менее, прекрасно понял, как мне показалось, как реализовать следующие требования:

Требуется реализация класса на языке C#, аналогичного FixedThreadPool в Java, со следующими требованиями:

  • В конструктор этого класса должно передаваться количество потоков, которые будут выполнять задачи.
  • Интерфейс класса должен предоставлять методы: boolean execute(Task task, Priority priority) и void stop()
  • Интерфейс Task должен содержать один метод: void execute(), который вызывается в произвольном потоке.
  • Тип Priority — это перечисление из трёх приоритетов: HIGH, NORMAL, LOW. При этом во время выбора следующего задания из очереди действуют такие правила: на три задачи с приоритетом HIGH выполняется одна задача с приоритетом NORMAL, задачи с приоритетом LOW не выполняются, пока в очереди есть хоть одна задача с другим приоритетом.
  • До вызова метода stop() задачи ставятся в очередь на выполнение и метод boolean execute(Task task, Priority priority) сразу же возвращает true, не дожидаясь завершения выполнения задачи; а после вызова stop() новые задачи не добавляются в очередь на выполнение, и метод boolean execute(Task task, Priority priority) сразу же возвращает false.
  • Метод stop() ожидает завершения всех текущих задач (не очищая очередь).

Поскольку в задании не было сказано какими примитивами я должен пользоваться, должен ли сделать всё на простейших Thread или же использовать ThreadPool, TPL и т.п., я решил, что задание предполагает использование самых базовых элементов: Thread, ManualResetEvents и т.п. Написал за несколько часов, отослал. Сегодня позвонил и получил ответ через кадровика, который звучал примерно так: «это даже не близко к том, что надо». Это меня озадачило, ибо код работает и протестирован, явных огрехов, на мой взгляд нету.

Итак, на ваш суд представляю мою реализацию FixedThreadPool и сопутствующих классов. Сразу предупреждаю, что, по их мнению реализация ошибочна, и, соответственно, брать мою идею за основу не стоит. Некоторые коментарии по коду:

  • я решил инкапсулировать потоки задач в самом классе задачи,
  • два параметра с типом ILog нужны только для тестовых целей, к основной функциональности они, понятное дело, отношения не имеют,
  • весь проект, включая тестовое приложение можно загрузкить по ссылке (27 килобайт): тестовый проект на ifolder

Читать полностью »

Программист Ник Берри, создатель ресурса DataGenetics, который занимается сбором и анализом информации в Интернете, опубликовал ряд интересных фактов о доменных именах. Некоторые из них просто любопытны, некоторые, возможно, будут интересными для владельцев сайтов и доменных инвесторов.Читать полностью »

Довольно часто возникает ситуация, когда надо быстренько запустить пару запросов к MySQL базе у клиента на сервере. При этом есть только FTP и параметры соединения с СУБД. Самый простой выход — загрузить туда phpMyAdmin, ну а дальше дело техники. Обычно все это проиcходит на фоне того, что у клиента уже установлена какая-то CMS — WordPress, Drupal, Joomla…

Я люблю простые, красивые и удобные вещи. Я тепло отношусь к phpMyAdmin но в 90% моих Use Cases мне он не нужен. Нужно что-то простое. В идеале такое, что можно просто залить на сервер и открыть в браузере — не настраивая.

Пара вечеров и пакет готов.
Читать полностью »

Крупнейшим контрактным производителем полупроводниковых изделий в мире является компания Taiwan Semiconductor Manufacturing Company (TSMC). На втором месте находится United Microelectronics (UMC). Эти компании находятся в локомотиве отрасли довольно давно, и признаков изменения ситуации до недавнего времени заметно не было. Однако компания Globalfoundries намерена уже в этом году, сместив UMC, занять второе место и в перспективе стать лидером.

Читать полностью »

В настоящее время модели с Android 2.x составляют примерно 90% всех смартфонов с этой операционной системой, утверждает источник. Однако ситуация скоро начнет меняться, поскольку ожидается выход массовых моделей начального и среднего уровня с Android 4.0. Дело в том, что компании Qualcomm и MediaTek начали предлагать производителям смартфонов однокристальные системы, поддерживающие Android 4.0. По данным отраслевых источников, увеличение доли смартфонов начального и среднего уровня с Android 4.0 ожидается уже во втором полугодии текущего года.

На четвертый день выставки компания Elitegroup пригласила меня на прогулку в провинцию Илан на восточном побережье острова Тайвань. В программу мероприятия входило посещение местной фермы и катание на каяках. Не железом единым живы читатели — отдых тоже нужен и важен.

Computex 2012 — день четвертый. Неформальный

Читать полностью »