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

image
У нас в гостях Георгий Туревич (Zh0rzh), разработчик over 100500 лет на PHP, соорганизатор конференции ZFConf, ныне осваивающий азы Enterprise в мире Java.

В выпуске:

  • Webdev vs Enterprise / PHP vs Java.
  • Command bar гитхаба очень крут.
  • Внутренняя кухня ZFConf. Профиты участия в конференциях в качестве организатора, докладчика и слушателя.

Слушать в Itunes
слушать на podfm
скачать файл(63.8 Мб)
Читать полностью »

Всем доброго времени!

Ковыряя свои давние скрипты нашел один скрипт примерно такого содержания
Читать полностью »

Недавно на Хабре был представлен сервис создания планировок квартир Planner 5D.
Вашему покорному слуге как раз нужна была 3D-модель квартиры для визуализации состояния домашней автоматики — отображать, где включен свет, а где выключен, и новый сервис пришёлся как раз кстати.

Экспорт планировок из Planner 5D

Оставалась нерешённой одна задача — как импортировать данные из Planner 5D в собственную программу. Для этого нужно было разобраться, как извлечь данные из сервиса, разобрать формат данных и сделать инструмент для проверки, правильно ли визуализируется модель.
Читать полностью »

Наш язык программирования неуклонно развивается: мы выпустили Kotlin M3 — большой milestone, в который вошло много интересного: от обновления домашней страницы до поддержки режима скриптов. А еще наша команда начала активный «догфудинг»: в ближайшее время все больше кода в проекте Kotlin будет писаться на Kotlin.

В этом посте я кратко опишу две наиболее интересные вещи, которые были сделаны в M3: мульти-декларации и «расщепление» интерфейсов коллекций.Читать полностью »

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

                                    Трэш-капитализм в действии

Перед тем как вы начнете читать это, замечу, что автор не имеет экономического образования, а все его мысли про экономику базируются на прогулянных школьном и университетском курсах экономики, отрывках из бредовых снов, материалах журнала Yes!, а также постах (около)политических форумов. Поэтому, если по прочтении этого поста у вас возникнет чувство несогласия с автором, то просто не воспринимайте прочитанное всерьез.
Читать полностью »

Моя «парадигма» работы с потокамиКогда я учился писать многопоточные приложения — я перечитал кучу литературы и справочной информации по этой области. Но между теорией и практикой — огромная пропасть. Я набил кучу шишек, и до сих пор иногда получаю по голове от собственных потоков. Для себя я выработал набор некоторых правил, которым стараюсь строго следовать, и это значительно помогает мне в написании многопоточного кода.

Поскольку ошибки, связанные с синхронизацией потоков крайне сложно отлаживать, то самым эффективным способом тут является предупреждение этих самых ошибок. Для этого используются различные парадигмы программирования на разных уровнях абстракции. Нижним уровнем абстракции будем считать работу с объектами синхронизации (критические секции, мьютексы, семафоры). Верхним — такие парадигмы программирования, как Futures and promises, STM (software transactional memory), обмен асинхронными сообщениями и т.п. Верхний уровень абстракции зачастую всегда основан на нижнем.

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

Мне захотелось написать эту заметку на Хабр, после того, как в очередной раз я столкнулся с нежеланием наших с вами соотечественников вносить свой вклад в те свободные продукты, которыми они пользуются. Конечно, русских среди контрибьюторов СПО немало, но их могло бы быть значительно больше, если бы не это поистине маниакальное нежелание делиться результатами своего труда. И дело не в том, что жалко или не хватает квалификации.
Читать полностью »

В наши дни методики архитектуры, дизайна и организации процесса разработки ПО размножаются как кролики на стероидах. Фреймворки, компоненты и библиотеки не отстают. Mножество решений основывается на опыте, интуиции или серии проб и ошибок. С усложнением систем, риски выбора неподходящих средств только растут. Я бы хотел обсудить один из возможных способов оценки адекватности инструментов поставленной задаче.

Смысл жизни каждый находит для себя сам. Физики могут сказать, что смысл жизни в борьбе с энтропией: преобразовании хаоса в порядок.
В этом случае, смысл софта в устранении рутины, чтобы cделать создание порядка более эффективным и интересным.

Текст будет длинный. Если вы никуда не торопитесь и удобно устроились в кресле, то давайте попробуем обосновать это утверждение.Читать полностью »

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

Russian Code Cup 2012: подробный разбор задач с финала в картинках, видео и примерах10 сентября 2012 года завершился чемпионат по программированию Russian Code Cup 2012. Подробный рассказ о том, как все происходило, публиковался ранее, а сегодня мы разберем задачи, которые были предложены финалистам. Их было всего шесть, и каждая из них — отдельная интересная история:

На решение этих задач выделялось три часа. Единственным решившим пять задач из шести оказался победитель Russian Code Cup 2012 Владислав Епифанов. Чуть менее половины финалистов решили по четыре задачи. Первые три задачи сделали почти все. Задачу про колоду карт правильно решил только один Евгений Капун. Второе место на турнире заняла Наталья Бондаренко, решившая четыре задачи быстрее других и с меньшим числом попыток.

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


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