Рубрика «Программирование» - 910

О переводе

Это перевод 20 главы книги The Passionate Programmer: Creating a Remarkable Career in Software Development. Её автор — Chad Fowler — талантливый Ruby-разработчик, известный докладчик на конференциях, посвящённых Ruby и IT в целом. Бывший саксофонист, а сейчас — CTO 6Wunderkinder.

Автор перевода этой главы — shchemelevev. Краудсорсинговый перевод книги ведётся на github, присоединяйтесь.

Содержание

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

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

Недавно Oracle заявила о прекращении выпускa коммерческих версий Glassfish. С OpenSource версией все будет неплохо и она останется рефренсной имплементацией Java EE. Однако вызывает опасения тот факт, что качество самого сервера приложений начнет падать без коммерческой версии той же базы кода и соответственно enterprise качество для новых версий Glassfish будет недостижимо. Особенно это касается кейсов, о которых не думают разработчики, но в которых проблемы проявляются в продакшне. Kоммерческий продукт Oracle WebLogic к Glassfish отношения не имеет.

У многих разработчиков необходимость найти сервер приложений Java EE7, который с одной стороны будет иметь OpenSource версию, а с другой — возможность купить коммерческую версию на той же кодовой базе.

image

Таким сервером стал Wildfly 8, полностью совместимый со стандартом Java EE 7 (прохождение Java EE TCK на 100%). Red Hat при необходимости продаст JBoss с коммерческой поддержкой. Кодовая база у обоих серверов одна. К тому же Arun Gupta, возможно главный евангелист платформы Java EE, перешел из Oracle в RedHat и крайне советует пользователям переходить на Wildfly. Нет повода ему не верить.

В этой статье мы рассмотрим сервер приложений Wildfly в облаке InfoboxCloud.
Читать полностью »

Давайте попробуем посмотреть на Sweet.js, компилятор, который реализует гигиенические макросы для JavaScript.

Работает он довольно просто — вы определяете набор шаблонов, по которым выполняется поиск по синтаксическому дереву. При совпадении макрос получает кусок дерева, который ему нужен и тело макроса определяет как этот кусок дерева должен трансформироваться. Далее результат встраивается обратно в дерево и процедура продолжается с того самого места.

Sweet.js оперирует своим собственным форматом синтаксического дерева, почти на уровне токенов, с минимальной структурой. С одной стороны это делает возможным определять довольно экзотические синтаксисы для своих макросов, с другой — делает написание макросов несколько сложнее, как если бы они были определены над стандартным AST JavaScript.

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

Еще раз о конкурсах Intel. Памятка будущим участникам
Каждый год компания Intel проводит порядочное число различных конкурсов, как для разработчиков программного обеспечения, так и для конструкторов разнообразных интеллектуальных устройств. Нет никаких сомнений, что подобного рода мероприятия будут проходить и дальше. По результатам прошлогоднего Intel App Innovation Contest мы с vikky13 подготовили эмоциональный пост, в котором с позиции судей перечислили типовые ошибки участников. Сейчас, когда страсти улеглись, хотелось бы еще раз вернуться к этой теме и рассказать почти о том же более обстоятельно и методично. Можно считать данный пост памяткой для участников любых конкурсов разработок, не только Intel.
Читать полностью »

В этой статье хочу поделиться интересной историей, о необычном решении одной интересной задачи, которая попалась мне год назад. Всё описанное в статье делалось, прежде всего, «just for fun» и из чистого академического интереса…
Дело было год назад, как раз было свободное время и желание сделать что-нибудь полезное. Явно был некоторый интеллектуальный голод и острая нехватка чего-нибудь нового, какой-нибудь интересной задачи… Отсюда и попытки прилепить велосипед даже туда, куда он вообще не требовался… Собственно, таковым велосипедом и является всё нижеописанное…

1. Задача

На одном торгово-закупочном предприятии, достаточно остро стоял вопрос оптимизации закупок. У предприятия было несколько десятков основных поставщиков, но при этом у многих поставщиков пересечение товаров достигало 20-30%, а цены у всех разные. К сожалению, большинство товаров закупалось «по старой памяти», например привыкли, что товары группы A поставляет поставщик X, а товары группы Б поставщик Y, хотя если отбирать товары не группами, а штучно, то можно не слабо экономить. Для наглядности, покажу на примере:
Читать полностью »

Самая сложная игра всех времён
Robot Odyssey

Нью-йоркский программист Дэвид Ауэрбах (David Auerbach) вспоминает компьютерную игру, для прохождения которой ему понадобилось 13 лет и которая определила его будущее как программиста.
Читать полностью »

Считаем лайки в реальной жизни или как правильно оценить сотрудника (концепция)
Я думаю многим из вас знакомы болезни роста компании. С каждым очередным витком непрерывного расширения бизнеса становится все сложнее лично контролировать все нюансы работы своих подчиненных. Руководители, которые до этого могли пообщаться с каждым из своих сотрудников, внезапно обнаруживают себя в нескончаемой череде звонков и писем, требующих немедленной реакции. Делегирование полномочий это прекрасно, но хочется иметь возможность непосредственно объективно оценить тех людей, которые пополняют ряды компании. Именно на этом этапе к нам приходят различные системы автоматизированного контроля, тестирования и оценки.

Я имею опыт внедрения специализированного софта для теоретического тестирования. Должен сказать, что подобные системы значительно облегчают проведение оценки персонала по необходимым показателям.
Основные преимущества:

  • массовость (масштабируется по мере роста компании)
  • отсутствие субъективизма экзаменатора
  • непрерывность бизнес-процессов (тестирование занимает не более 15 минут, что легко реализуется в рабочее время)
  • географическая распределенность (тестирование в удаленных филиалах не требует особой организации, кроме стабильного VPN)

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

Обзор статического анализатора CppCatСовсем недавно на Хабре презентовали новый инструмент статического анализа С++ кода — CppCat. О предыдущем своём проекте (PVS-Studio) его авторы долго и подробно рассказывали на Хабре. Отношение к нему у меня было двоякое — с одной стороны, статический анализ, конечно, нужен. С ним лучше, чем без него. С другой стороны — PVS-Studio пугала своей масштабностью, эдакой «энтерпрайзнутостью» ну и ещё ценой. Я хорошо себе представлял, как её может купить команда проекта человек в 50, но что делать разработчику-одиночке или команде человек в 5 — я не понимал. Помнится, предлагал как-то авторам развернуть «PVS as a service» в облаке и продавать доступ к нему по времени. Но они пошли своим путём и сделали урезанную версию за относительно небольшие деньги (такой бюджет вполне реально «пробить» или даже купить просто для себя).

Давайте посмотрим, стоит ли игра свеч.
Читать полностью »

Objective-C, по-моему мнение, — не очень удобный язык со множеством проблем. Но мы вынуждены писать приложения под iOS на этом языке. Я разработал другой язык, который генерирует код Objective-C. Поэтому в этом языке вы можете легко использовать классы Objective-C и C функции. Вы также легко можете использовать сгенерированные классы в коде Objective-C. Так что есть возможность вести разработку сразу на двух языках. Я назвал этот язык Objective-D.
Читать полностью »

Пришло время рассказать о еще одной стороне применения замечательного языка Форт.
Этим циклом статей я покажу, как с его помощью можно создавать крошечные клиент-серверные приложения. Каждое из которых можно использовать как исследовательский и обучающий инструмент.
Для развлечения нам понадобится Windows вплоть до семерки и пакет SP-Forth. Андрей Черезов декларировал возможность запуска его форт-системы под Линуксом, но я это не проверял.

Для начала попробуем создать простейшую серверную программку, которая будет отдавать присоединившемуся клиенту ну… скажем текущую дату и время на сервере.

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


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