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

image

Компания МУК, официальный дистрибьютор Сisco на территории Украины, совместно с представительством Cisco в Украине приглашает специалистов из компаний-партнеров Сisco пройти курс, позволяющий успешно подготовиться к получению аккредитации Cisco UnifiedComputer Design Specialist.

Учебная программа предназначена для технических специалистов, которые разрабатывают решения на базе технологий Cisco для корпоративных заказчиков и лично участвуют в их продаже. В результате его прохождения участники получают знания о технических особенностях продукции Сisco, а также концепциях, технологиях и решениях Cisco в рамках предпродажной поддержки клиентов. Особое внимание здесь уделяется технологиям виртуализации и тому, как они влияют на проектирование решений для Дата Центров. Будут освещены вопросы, связанные с внедрением CiscoUCS/CiscoNexus, включая решение проблем, с которыми сталкиваются заказчики уже сегодня.

Курс будет проведен в два потока:
Читать полностью »

С помощью нескольких функций Windows API можно скрыть кнопку Пуск, панель задач или отдельные ее элементы. Я это делал раньше с помощью Visual Basic 6.0, Delphi, C++, Visual Basic.NET на Windows 98/Me/XP. Попробуем теперь это сделать с помощью C# на Windows 7. Практической ценности данный пример не имеет, может только ради шутки. Но тем не менее, пример может послужить неплохой демонстрацией возможностей, которые скрывают системные функции Windows.

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

Не так давно, разрабатывая очередной программный продукт, наша команда разработчиков столкнулись с задачей реализации полноценной системы синхронизации пользовательских данных в реальном времени, путем рассылки (PUSH метод) изменений сервером. В самом приложении объем данных был не велик, но они могли просматриваться несколькими пользователями одновременно. Поэтому нам был необходим легковесный и достаточно производительный подход к синхронизации данных в рамках Веб-приложения. После того как были рассмотрены различные пути к решению этой задачи, мы остановили свой выбор на достаточно популярном эмуляторе WebSocket’ов – SockJS, который использует различные алгоритмы обмена данными между клиентом и сервером, в зависимости от браузера, которым пользуется клиент. В рамках данной статьи я не буду заострять внимание на том, почему был сделан именно такой выбор (по этому поводу написано немало статей, в том числе и на хабрахабре), а просто скажу, что мы ещё ни разу об этом не пожалели.

Изначально при изучении стандартных подходов к реализации подобного рода задач мы столкнулись с одной проблемой. Эта проблема заключалась в том, что взаимодействие с нашей системой производилось не только посредством веб интерфейса, но также посредством использования API сторонними продуктами, которые мы не могли контролировать. И конечный пользователь нашего продукта, безусловно, ожидает увидеть всю информацию об изменениях в данных, которые его касаются. Стандартный подход использования sockjs сервера подразумевает, что уведомления об изменении каких-либо данных в системе будут посылаться с использованием того же самого JS клиента, который используется для получения информации об этих изменениях. Именно поэтому в нашем случае такой подход был бы неприменим.

В этой статье я хотел бы рассказать о том, как мы решили эту задачу.
Читать полностью »

Всё нижеизложенное вымысел, основанный на реальных событиях.

Не являясь мастером писать заметки, пытался «с пылу с жару» изложить это вчера. Но просто и доступно выстроить мысли в стройном порядке «по горячим следам» не вышло.

Кроме того на личном опыте выяснилось, что описываемый подход, хоть он, на первый взгляд и кажется лично мне очень простым, статистически таким не является. Известное высказывание о том, что «простые вещи, они самые сложные» оказывается в данном случае верным.

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

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

В связи с чем, публикуя эту заметку здесь, ожидаю, что вторым «застреленным зайцем» может стать помощь кому-нибудь ещё в избавлении от подобных ситуаций.

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

Если у вас есть сайт, которым часто пользуются с мобильных устройств (таких как телефоны и планшетные ПК), то вы, возможно, задавались вопросом, как реализовать быстрый вход — так, чтобы пользователю не требовалось вводить ни адрес сайта, ни логин и пароль (либо E-mail и пароль).

На некоторых сайтах вы, возможно, видели возможность отправить SMS-сообщение со ссылкой для быстрого входа — это, по сути, приблизительно то же самое. Основное отличие описанного в данной заметке подхода в том, что вместо отправки SMS-сообщения мы будем генерировать QR-код, который содержит ссылку, позволяющую войти на сайт без ввода авторизационных данных.

Скриншот с экрана мобильного телефона

Кстати, весь процесс написания приложения, которое приводится далее, можно посмотреть в скринкасте на YouTube.
Читать полностью »

Эта статья была опубликована 6 лет 3 месяца 19 дней назад, 8 февраля 2007 года. На тот момент «Фейсбук» едва приближался к двум десяткам миллионов зарегистрированных пользователей, и известное всем развитие событий позволяет по-новому взглянуть на прогнозы будущего творения Марка Цукерберга, которое по ряду оценок уже сейчас постепенно теряет популярность среди некоторых групп пользователей.

Аристотель различал дружбу на основе совместных интересов и связующего единомышленников чувства взаимной близости. Бо́льшая часть зарегистрированных пользователей «МайСпейса», феноменально успешного сервиса социальных сетей Руперта Мёрдока, попадает в последнюю категорию. Но очевидность продолжающегося расширения, которое с взрослением поколения «МайСпейса» может постепенно увеличить влияние Мёрдока, заставляет поблекнуть контроль Руперта над спутниковым телевидением.

В момент покупки высказывались предположения, что если Мёрдок попытается испортить коммерциализацией майспейсовскую «культуру обмена контентом», пользователи просто уйдут на один из десятка наплодившихся клонов — от Bebo.com до восходящей мобильной звезды Cyworld.com, которая уже завоевала Южную Корею и сейчас ведёт бои на отшибе «МайСпейса» в США. «Сайуорлд» указывает на исследования, согласно которым «МайСпейс» — сайт переходного возраста, из которого детки всё-таки вырастут, в то время как «Сайуорлд» — это полноценный сайт социальных сетей. Получается интересное, почти по Аристотелю разграничение, но некоторые считают, что сместить «МайСпейс» конкурентам под силу лишь с нишевых рынков.

Джон Барретт (TechNewsWorld) утверждает, что «МайСпейс» уже уверенно встал на рельсы становления тем, что экономисты называют «естественной монополией». Пользователи вложили настолько много социального капитала в метод публикации информации о себе, что менять сайты будет невыгодно, особенно, с учётом ценности, добавляемой к «МайСпейсу» с каждым новым привлекаемым пользователем.
Читать полностью »

Компания МТС направила в Роскомнадзор и Минкомсвязи запрос, в котором просит обратить внимание на деятельность OTT-сервисов (Over The Top сервисы, осуществляющие доставку сигнала через интернет-канал). Подобные проекты все чаще конкурируют с операторами, но при этом их деятельность никак не регулируется. МТС была бы рада, если бы регулятор рассмотрел вопрос о соответствии Skype и подобных ему компаний российским лицензионным требованиям: необходимо определить их статус как участников рынка. Ведь по сути, поставщики интернет-сервисов, не инвестируя в инфраструктуру связи, пользуются сетями, в сооружение которых операторы вложили огромные средства.

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

Компания D-Link объявила о выпуске управляемых коммутаторов DGS-3000-10TC и DGS-3000-26TC для корпоративных сетей и сетей Metro Ethernet. По словам производителя, новая серия объединила недорогие гигабитные решения, обеспечивающие качественную работу мультимедийных приложений, возможность удаленного управления и диагностики, а также комплексную защиту трафика.

Модели DGS-3000-10TC и DGS-3000-26TC доступны для заказа по рекомендованной розничной цене $344 и $778 соответственно

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

За подозреваемым в «пиратстве» англичанином приехал целый кортеж полицейских автомобилей

В голливудских фильмах о бандитах и доблестных (или не очень) полицейских часто показывают, как кортеж из автомобилей полиции едет на место преступления, окружает дом преступника, и начинается операция по захвату злоумышленника. Обычно такие картины мы видим, когда в роли преступника выступает какой-нибудь злостный маньяк-убийца. Но, похоже, в полиции Великобритании столь же опасными считают и «пиратов». Так, на задержание одного из подозреваемых в пиратстве приехало сразу 5 полицейских автомобилей и около десятка полицейских.

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

Большинство фанатов ООП одновременно являются и фанатами полиморфизма. Многие хорошие в других отношениях книги (например, «Рефакторинг» Фаулера) впадают в крайность, утверждая, что если вы используете проверки типов во время выполнения (такие как операция instanceof в Java), то вы, по всей вероятности, в душе злодейский злодей из тех, что пугают маленьких детей операторами switch.

Вообще говоря, я согласен с тем, что использование instanceof и его аналогов обычно является признаком недостаточных навыков ООП проектирования. Полиморфизм лучше проверок типов, он делает код гибче и понятнее. Однако, по крайней мере в одном случае, достаточно распространенном чтобы считаться паттерном сам по себе, вы просто не можете использовать полиморфизм. Я бы применил его с удовольствием, честно, и если вы знаете как это сделать – расскажите мне. Но не думаю что это возможно, особенно в статических языках типа Java или C++.

Определение полиморфизма

На тот случай если вы незнакомы с терминологией ООП, полиморфизм – это претенциозное обозначение для концепции позднего связывания. Позднее связывание – это претенциозное обозначение (вы обнаружите здесь паттерн если копнете глубже) для отсрочки решения о том какой метод будет вызван до начала выполнения программы. Когда и будет выполнена проверка соответствия объекта и сообщения (метода).

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js