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

При разработке одного приложения я столкнулся с необычной проблемой — заголовки табов в TabWidget не влезали по ширине и часть текста в них переносилось на новую строку:
Изменяем размер текста в заголовке TabWidget
Читать полностью »

nanoCAD 3.7 vs 4.0 – что появилось нового? (часть №1)
Этим летом в нашей компании произошло два события: выпуск новой версии nanoCAD 4.0 и обновление бесплатной версии nanoCAD 3.5 до версии 3.7 (о причинах такого шага мы рассуждали в предыдущей статье «Двойная звезда nanoCAD: бесплатный 3.7 и платный 4.0»). И, конечно, от пользователей начали поступать вопросы: чем отличаются? а что лучше использовать? Для ответа на эти вопросы, конечно, надо забраться в техническое описание новых функций каждого продукта и сравнить. А затем решить для себя, что вам для работы подходит больше.

Мы решили вам немного помочь — описывая каждую новую/оптимизированную функцию, мы поставим рядом с ней специальный значок — в какую версию программы она включена… А уже вы выбирайте решение под себя :-)

Начнем с новых функций, которых раньше не было в nanoCAD…
Читать полностью »

John LindquistПросим любить и жаловать: Джон Линдквист (John Lindquist), новый член команды технологических евангелистов JetBrains. В начале августа Джон дал нам подробное интервью, русскую версию которого мы и хотим представить аудитории Хабра. Но довольно предисловий — читайте и знакомьтесь!

1. Здравствуйте, Джон! Мы рады приветствовать Вас в JetBrains. Спасибо, что нашли время поговорить с нами. Вы довольно известная личность — например, в мире Flash, но не могли бы Вы рассказать немного о себе для тех, кто еще Вас не знает?

Конечно. Сначала о своем профессиональном пути: я занялся программированием еще в школе, писал игры на калькуляторе TI-85 вместо того, чтобы заниматься математикой (если не считать hypercard, это было еще раньше). Позже я увлекся написанием собственного программного обеспечения для ведения блогов с домашнего сервера (ASP), а затем перешел к выполнению разовых проектов еще во время учебы в колледже, примерно в 2000 году (php, java). Следующие пару лет разрабатывал внутреннее приложение для Университета штата Юта, предназначенное для отправки/ преобразования для просмотра документов в формате pdf (php, pdf и т.п.). Затем устроился на работу в компанию Schematic и работал с такими клиентами, как Disney, Dell, Target и другими (flash, html). В последнее время работал консультантом в компании Roundarch с такими клиентами, как Bloomberg, HBO, ВВС США (HTML/JS, flex, flash и т.п.).
Читать полностью »

У многих администраторов voip-сетей, сталкивающихся с sip-серверами слова ser, openser, kamailio, opensips вызывают по меньшей мере головокружение. Почему их так много? Почему так похожи? Какие активно развиваются, а какие уже нет? Какой в конце-концов выбрать?

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

Привязка своего домена к Windows Azure (на примере RU CENTER)

По умолчанию для создаваемых сервисов, сайтов, хранилищ Windows Azure предлагает свои собственные имена и внутренний DNS, который резолвит имена второго уровня в пределах cloudapp.net, azurewebsites.net, blob.core.windows.net и т.п. Но вопрос собственного доменного имени возникает практически для любого серьезного облачного приложения или сервиса. Помимо вопроса престижа, иногда есть еще чисто технические причины, например, обход проблемы c кросс доменными скриптами.

Свой домен (Custom Domain Name) к сервисам Windows Azure можно привязать следующими способами:

  • с помощью CNAME записи вашего домена;
  • с помощью A записи.

В случае с CNAME вы застрахованы от проблем, связанных с изменением VIP (Public Virtual IP Address), который закреплен за сервисом, развернутым в Windows Azure, тк. мэппинг происходит на уровне алиасов: yourservice.cloudapp.net (Windows Azure) и http://www.mydomain.ru (CNAME — www), а не IP. Но здесь не возможна привязка к корневому домену, т.е. http://mydomain.com (т.к. обязательно должен быть www или другой алиас).

В случае c A записью возможна привязка к корневому домену, но появляется зависимость от VIP адреса службы, т.к. A запись мэппиться на определенный IP-адрес. А IP-адрес у службы может поменяться, например, при новом деплойменете или перезагрузки ОС. Можно, кстати, применять комбинированный подход, т.е. указывать CNAME и A записи.

Примечание. Еще можно воспользоваться сторонними сервисами, например, DNS Azure, которые делают примерно все то же самое, что будет описано ниже, но автоматически и прозрачно для клиента.

Статья содержит много картинок.
Читать полностью »

Apple и Samsung сразу после вынесения вердикта опубликовали свои отзывы на решение жюри присяжных по делу о нарушении патентов Apple. Но одна компания оставалась подозрительно тихой до сегодняшнего дня, хотя этот процесс касается её напрямую. Только сегодня компания Google прислала официальный комментарий:

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

Независимые аналитики из агентства Piper Jaffray тоже не видят никакой угрозы для Android от будущих исков и не меняют свой прежний прогноз по продажам мобильных устройств на ближайшие четыре года.
Читать полностью »

На прошлой неделе на Хабре было целых две статьи о реализации RESTful web-сервисов на Java. Что ж, не будем отставать и напишем свой вариант на Scala, с монадами и аппликативными функторами. Матёрые разработчики на Scala вряд ли найдут в этой статье что-то новое, а любители Django вообще скажут что у них эта функциональность есть «из-коробки», но я надеюсь что Java-разработчикам и просто любопытствующим будет интересно почитать.

Подготовка

За основу возьмём задачу из предыдущей статьи, но постараемся решить её так, что бы код решения умещался на экран. Хотя бы на 40-дюймовый и пятым шрифтом. В конце концов, в XXI веке должна быть возможность решать простые задачи без мегабайтов xml-конфигов и десятков абстрактных фабрик.

Для тех, кто не хочет ходить по ссылкам уточню: мы собираемся реализовать простейший RESTful сервис для доступа к базе данных клиентов. Из необходимой функциональности — создание и удаление объектов в базе, а также постраничная выдача списка всех клиентов с возможностью сортировки по разным полям.

В качестве кирпичиков, из которых мы будем строить дом, возьмём:

  • Scala — даже не кирпичик, а скорее фундамент,
  • Unfiltered — отличная библиотека для обработки HTTP-запросов,
  • Squeryl — библиотека для запросов к базе данных,
  • Jackson — библиотека для работы с JSON, изначально написанная для Java, но на ура справляющаяся и со Scala-типами,
  • Scalaz — библиотека, позволяющая писать в коде разные забавные символы типа ⊛, ↦ или ∃, а заодно реализующая такие полезные абстракции, как аппликативные функторы, моноиды, полугруппы и стрелки Клейсли. Последние, правда, мне пока не приходилось использовать, но скорее всего это объясняется тем, что я ещё не достиг нужной степени функционального просветления.

По ходу статьи я постараюсь давать достаточно пояснений, что бы код был понятен людям не знакомым со Scala, но не обещаю что у меня получится.
Читать полностью »

Реализация синглтона в многопоточном приложении

Введение

В настоящий момент сложно себе представить программное обеспечение, работающее в одном потоке. Конечно, существует ряд простых задач, для которых один поток более, чем достаточен. Однако так бывает далеко не всегда и большинство задач средней или высокой сложности так или иначе используют многопоточность. В этой статье я буду говорить об использовании синглтонов в многопоточной среде. Несмотря на кажущуюся простоту эта тема содержит множество нюансов и интересных вопросов, поэтому считаю, что она заслуживает отдельной статьи. Здесь не будет затрагиваться обсуждение того, зачем использовать синглтоны, а также как их правильно использовать. Для прояснения этих вопросов я рекомендую обратиться к моим предыдущим статьям, посвященным разным вопросам, связанным с синглтонами [1], [2], [3]. В этой статье речь будет идти о влиянии многопоточности на реализацию синглтонов и обсуждению вопросов, которые всплывают при разработке.
Читать полностью »

Победа Apple над Samsung, одержанная в минувшую пятницу в американском суде, не затронула одну из ключевых позиций южнокорейского производителя на мобильном фронте — планшет Galaxy Tab 10.1. Точнее говоря, затронула, но несколько неожиданным образом.

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

Новости RailsClubMoscow 2012
Добрый день, друзья!

Хочу рассказать вам о последних новостях RailsClub.ru

Напомню, что конференция, посвященная ruby, ruby on rails и веб технологиям в целом состоится 15 сентября 2012 в digitaloctober.ru (начало в 10:00).

Это будет одно из самых крупных ruby/ror событий в России по числу иностранных докладчиков, титулованных спикеров, приглашенных российских ruby звезд, участников, участвующих организаций.

Самая хорошая новость на данный момент это то, что абсолютно все наши иностранные докладчики получили визы. Нет ни одной причины, которая не позволила бы кому либо из иностранцев не приехать в Россию на наше ruby on rails событие. Все готовятся ко встрече с Россией и Москвой, а мы готовим для наших гостей культурную программу.

Также, хочу рассказать, что докладчиком нашей конференции стал Сергей Нартымов. Сергей — software engineer в команде Brainspec, контрибьютор в Ruby on Rails (больше сотни коммитов), Rubinius и Elixir. Сергей использует Ruby и Erlang в своей работе, почитывая на досуге книги по Lisp и Haskell.

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

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


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