Рубрика «разработка» - 175

Наверняка, вы сталкивались с принципами (пусть и противоречивыми) о написании модулей и классов на JavaScript. Когда мне понадобилось написать встраиваемый в веб-страницу cкрипт, который предоставляет API для работы определённого сервиса, то я не смог найти достойных рекомендаций о проектировании подобных скриптов.

Итак, вот (довольно очевидные) требования к скрипту, с которыми я столкнулся: 

  • он будет встраиваться в страницы сторонних веб-приложений;
  • он должен выполнять свою работу качественно;
  • он должен загружаться быстро;
  • он не должен (непредсказуемо) влиять на работу веб-приложения;
  •  должен соответствовать требованиям безопасности;
  • … // много чего ещё :)

Из реальной практики родились принципы, описанные ниже. Это не полностью уникальные идеи, а скорее сборка лучших практик, которых я видел в чужих решениях, например, в библиотечках google analytics и jquery.

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

Друзья, 22-23 апреля в Ульяновске состоится 5-я международная IT-конференция «Стачка», которая в одном месте собирает экспертов из мира информационных технологий. Мы очень любим эту конференцию, ежегодно посещаем и выступаем спонсорами.

Microsoft едет на “Стачку”! Промо-коды для желающих купить билеты - 1

В этом году компания Microsoft традиционно приняла активное участие в подготовке активностей нескольких секций. Сразу несколько спикеров от Microsoft будут ждать вас на «Стачке».

Гостем секции «Менеджмент и образование» станет Николай Страх,  предприниматель и трекер ФРИИ, эксперт по BigData и Internet of Things.

22 апреля в 10:30 он откроет Стачку своим докладом «Акселератор ФРИИ и Майкрософт: от технологического решения к масштабируемому бизнесу», а 23 апреля проведет мастер-класс под названием «Студии цифровых решений: внутренние и клиентские проекты. Как не облажаться и заработать деньги на стартапе».
Читать полностью »

«Элитарность программистов представляется мне очевидной и в этом представлении является интереснейшим вызовом человечеству в целом.»
— Андрей Петрович Ершов

День рождения Ершова - 1

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

Дональд Кнут вспоминал: «Это началось еще когда я был студентом последнего курса. Тогда только появилась книга Андрея «Программирование для БЭСМ», и мы, группа студентов, смогли убедить преподавателя русского языка включить её в курс в качестве одного из двух сборников текстов для изучения научной лексики».

Ершов потом водил дружбу с Кнутом и Сеймуром Пейпертом, разработал Русский алгоритмический язык, который народ за глаза называл «Ершол». В 1985 создал серию обучающих телепередач для обучения программированию школьников (советский MOOC), через год свозил группу школьников-программистов в Америку, а через год принял в Новосибе ответную делегацию американских школьников программистов. (Кстати, если вы знаете участников этих событий — отпишитесь в комментах или в личку.)

Сегодня, вместе с компанией Edison, предлагаем всем отметить день рождения Андрея Петровича. Заслуги и вклад Ершова в советское (и мировое) программирование описаны в Википедии, мне же захотелось заглянуть чуть глубже и поискать фоточки первоисточники. Пару часов покопался в архиве. Нашел кое-что интересное. Под катом — много картинок и две фундаментальные научпоп статьи Ершова про важность программирования.

А это Ершов и МакКарти если что:
image

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

image

У меня есть хобби: я собираю различные решения типовых задач в Java, которые нахожу в инете, и пытаюсь выбрать наиболее оптимальное по размеру/производительности/элегантности. В первую очередь по производительности. Давайте рассмотрим такую типовые задачи, которые часто встречаются в программировании на Java как "обход Map'ы" и подсчет количества вхождений строк, разные варианты их решений (включая "красивые" и не очень) и их производительность.

Английские версии можно найти на Stackoverflow: по обходу map'ы и по подсчету вхождений подстрок.
Так же советую посмотреть мой opensource проект useful-java-links — возможно, наиболее полная коллекция полезных Java библиотек и фреймворков.

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

image


Предыстория: у нашей небольшой, но очень амбициозной компании «Black Mushroom Studio» появилась идея создания e-commerce проекта и реализации мобильного приложения для оплаты некоторых товаров/услуг через платежного агрегатора.

Что было на входе: каркас приложения на Android, которому, само собой, удобно общаться по HTTP и JSON, и платежная система, предоставившая свое API — web-сервисы с SOAP-содержимым.

Задача: подружить одно с другим.

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

Можно долго говорить о достоинствах и недостатках конкретных технологий конкретных вендоров и преимуществах open source, но везде есть свои минусы и плюсы. Проанализировав несколько продуктов (материал для отдельной статьи), мы пришли к выводу, что для решения наших задач, InterSystems Ensemble подходит больше других.
Читать полностью »

Пишем Lisp-интерпретатор на Java - 1

Некоторое время назад мне захотелось написать свой небольшой интерпретируемый скриптовый язык, просто ради фана, не ставя перед собой каких-либо серьезных задач. Я тогда активно читал известную волшебную книгу SICP (Структура и интерпретация компьютерных программ), и мне захотелось реализовать описываемые в ней абстракции — функции как объекты первого класса, замыкания, макросы и т.п. Параллельно я интересовался языком Haskell, и решил совместить приятное с приятным, и написать интерпретатор языка на нем. В моем языке должна была быть строгая семантика с вызовом по значению и мутабельные переменные. Получившийся язык Lisp-семейства я в своем локальном окружении связал с именем Liscript, полная реализация которого уместилась в примерно 250 строк, включая парсер, ядро и консольный/файловый ввод-вывод. Этого более чем хватало, чтобы ради интереса решать любые задачки, какими обычно мучают студентов, которых угораздило изучать Lisp по учебной программе.

По прошествии времени мне захотелось сделать к интерпретатору кроссплатформенный GUI-интерфейс с перспективой портирования на Android, поэтому я реализовал второй вариант интерпретатора на Java, внешний вид которого вы можете видеть на картинке выше. Да, он поддерживает графический вывод и вообще interoperability с Java, и этот Тетрис написан на Liscript, видна часть его кода. Кому интересны подробности — прошу под кат.
Читать полностью »

Привычка Stack Overflow - 1 Stackoverlow уже стал незаменимым инструментом для множества разработчиков. Продвигаемая авторами модель использования – это “база знаний”. Набираем вопрос в гугле → попадаем на stackoverlow → читаем ответ → profit! Так сайт работает для большинства – за счет гораздо меньшей группы разработчиков, которая отвечает на вопросы. Зачем они это делают? Большинство – для повышения собственной квалификации и социальной реализации. И для карьеры полезно, и комплексы стороной обходят, и кризис среднего возраста не придет. Под катом – перевод статьи одного такого разработчика, который делится своими практическими наработками о том, как ему удалось отвечать на вопросы начинающих разработчиков каждый день.

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

Здравствуйте, дорогие читатели!

В этом году на конференции Microsoft //Build представлено не только много технологических анонсов и нововведений, но и не мало интересных возможностей на самом мероприятии.

HoloLens, Xbox One Dev Mode и возможности для разработчиков с конференции --Build - 1
HoloLens и Holographic Academy, Xbox One Developer Mode и подробности интересных технологических проектов с финала Imagine Cup США — об этом я хочу рассказать вам в данной статье.
Читать полностью »

Свободу тестам - 1Современный мир ПО очень черно-бело разделён на два лагеря: либо ты opensource-приложение, либо закрытое проприетарное. Нет, есть, конечно, и разные лицензии в открытых проектах и какие-то подвижки закрытых продуктов выкладывать в опенсорс свои части (привет, Google, Facebook, Microsoft). Но всё это не меняет сути дела в принципе — если ты берёшь открытый продукт, то видишь всё, что у него внутри, можешь это оценить и решить, стоит связываться или нет. Если ты хочешь приобрести закрытое ПО, то всё, что остаётся — верить заливающимся соловьями продажникам фирмы-производителя, как у них там всё внутри классно, надёжно, быстро и современно. Ну, вы наверняка были на какой-нибудь такой конференции или презентации, где выходил человек в костюме и час втирал о том, как же всё стало лучше в версии 18.1.1 их продукта и почему его нужно покупать прямо сейчас. Ещё часто можно недельку погонять ограниченный trial-режим, что даст ответ ровно на 1 вопрос: «как работает ограниченный trial-режим в течение недели?». Покупатель всегда остаётся один-на-один с решением «взять и рискнуть» или «не связываться». Объективных данных для принятия решения мало. При этом их, казалось бы, больше и не станет — производитель закрытого продукта не выложит исходники, поскольку именно они составляют коммерческую ценность.

Казалось бы — тупик? А давайте рассмотрим следующую мысль — что если мы потребуем предложим производителю выложить в открытый доступ тесты на его ПО? Все, что есть — юнит, интеграционные, производительности, другие. При этом производитель и потенциальный покупатель получают ряд преимуществ.
Читать полностью »

Признайтесь себе, когда вы в последний раз были на IT конференции? Такой, чтобы от профессионалов и для профессионалов? А такой, чтоб взять и никуда не ехать, а сходить на нее прямо в Гомеле? То то же. Значит, у меня есть, что вам предложить :)
Первая Гомельская IT-конференция!

GECOn 2016: Первая Гомельская IT-конференция (24 апреля) - 1

Что это

Минимум воды, максимум технической начинки:

  • 24 апреля – это уже совсем скоро;
  • ОКЦ, ул. Ланге 17 – самый центр города;
  • 13 докладов – на актуальные темы, затрагивающих все аспекты разработки программного обеспечения;
  • 3 потока – докладов много, часов в сутках мало, а рассказать хочется обо всем;
  • 17 экспертов – и я не вру, когда называю их экспертами – это было доказано и подтверждено годами опыта и количеством успешных проектов;
  • 250 участников, среди которых вас до сих пор нет?!
  • Цена – бесплатно, нужна только регистрация.

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


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