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

12 декабря все калининградские поклонники технологий Google собрались вместе, чтобы познакомиться, послушать выступления приглашенных спикеров, обменяться идеями и знаниями.

DevFest Калининград-2015: фотоотчёт - 1

На конференции было около 300 участников, спикеры из Калининграда, Москвы, Санкт-Петербурга и Воронежа. Организаторами выступили GDG-сообщество города и Химико-Биологический Институт БФУ им. Канта, при активном участии компании SmartHub.
Читать полностью »

Аналитика Instagram и GAE - 1

Некоторое время назад на Хабре была опубликована статья про поиск похожих аккаунтов в Twitter'e. На комментарии автор, к сожалению, не реагировал, потому пришлось изобретать велосипед. Но чтобы не делать уж совсем то же самое, было решено искать похожие аккаунты в Instagram с помощью Google App Engine, да так, чтобы воспользоваться сервисом мог каждый. Так появился instalytics.ru*.

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

Приветствую, коллеги. В эту пятницу Microsoft выпустила бета-версию Typescript 1.8, в которой на удилвение много очень полезных для javascript разработчика штук. Мы в voximplant недавно начали переписывать наш web sdk на typescript, и по моему опыту могу с уверенностью сказать, что польза от компилятора огромная. Он позволяет объединить лучшее, что есть в статически и динамически типизированных языках: в начале вы быстро пишите javascript код, не заботясь о типах и экспериментируя с архитектурой — а когда код «стабилизируется», добавляете типы где считаете нужным и тем самым перекладываете кучу проверок на плечи компилятора. Под кактом я кратко пройдусь по ключевым фичам новой версии и поделюсь своими соображениями об их полезности и практической применимости.

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

Статья будет посвящена простому, но эффективному паттерну — Composite Converter [составной конвертер].
imageЧитать полностью »

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

Вот вроде уже профессионал в своем деле. 12+ лет программирования в PHP, знаю все плюшки и важные вещи: паттерны, методики, best practices, узкие места, частые ошибки и пр. И тим-лид я уже лет 5 где-то. И команда крепкая. И проекты все время интересные широкие. И начальство понимающее положительное.

Есть еще куча всего, что можно изучить, это несомненно. «Я знаю, что ничего не знаю» (Сократ) — и с этим я полностью согласен. Более того, постоянно учусь: вебинары, семинары, книги, примеры решения задач… Но есть какой-то голод внутри. Знакомо, не правда ли? Читать полностью »

Как программирование позволяет логично выражать мысли - 1

Распространено мнение о том, что программы могут выполнять лишь набор заложенных в них команд и ничего больше. Так ли это на самом деле?Читать полностью »

Одной из самых сильных сторон языка программирования Go является встроенная поддержка concurrency, основанная на труде Тони Хоара «Communicating Sequential Processes». Go создан для удобной работы с многопоточным программированием и позволяет очень легко строить довольно сложные concurrent-программы. Но задумывались ли вы когда-нибудь, как выглядят различные паттерны concurrency визуально?

Конечно, задумывались. Все мы, так или иначе, мыслим визуальными образами. Если я попрошу вас о чём-то, что включает числа «от 1 до 100», вы мгновенно их «увидите» в своей голове в той или иной форме, вероятно даже не отдавая себе в этом отчёт. Я, к примеру, ряд от 1 до 100 вижу как линия с числами уходящая от меня, поворачивающая на 90 градусов вправо на числе 20 и продолжающая до 1000+. И, покопавшись в памяти, я вспоминаю, что в самом первом детском саду в раздевалке вдоль стены были написаны номерки, и число 20 было как-раз в углу. У вас же, вероятно, какое-то свое представление. Или вот, другой частый пример — представьте круглый год и 4 сезона года — кто-то их видит как квадрат, каждая грань которого принадлежит сезону, кто-то — как круг, кто-то ещё как-то.

Так или иначе, позвольте мне показать мою попытку визуализировать основные паттерны concurrency с помощью Go и WebGL. Эти интерактивные визуализации более-менее отражают то, как я вижу это в своей голове. Интересно будет услышать, насколько это отличается от визуализаций читателей.
Визуализация concurrency в Go с WebGL - 1
Читать полностью »

Долгое время я задумывался, что же не в порядке с некоторыми частями кода. Раз за разом, в каждом из проектов находится некий «особо уязвимый» компонент, который все время «валится». Заказчик имеет свойство периодически менять требования, и каноны agile завещают нам все хотелки воплощать, запуская change request-ы в наш scrum-механизм. И как только изменения касаются оного компонента, через пару дней QA находят в нём несколько новых дефектов, переоткрывают старые, а то и сообщают о полной его неработоспособности в одной из точек применения. Так почему же один из компонентов все время на устах, почему так часто произносится фраза а-ля «опять #компонент# сломался»? Почему этот компонент приводится как антипример, в контексте «лишь бы не получился ещё один такой же»? Из-за чего этот компонент так неустойчив к изменениям?
Читать полностью »

Каждый С-программист с опытом накапливает привычный багаж техник и идиом. Зачастую бывает сложно понять, как сделать то же самое в новом языке. Так вот, вашему вниманию предлагается коллекция распространенных паттернов на C и их эквивалентов на D. Если вы собираетесь перевести свою программу с C на D или ещё сомневаетесь стоит ли это делать, то эта статья для вас.

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

image

Сегодня я хочу вам рассказать об алгоритмах подсчёта количества палиндромов в строке: для чего это нужно, где применяется, как это быстро сделать, какие подводные камни нас ожидают и многое другое. Рассмотрим различные способы для решения данной задачи, выясним плюсы и минусы каждого способа. Эта статья будет обзорной: если я что-то не описываю здесь, то постараюсь всегда дать вам набор ссылок, где всё подробно описано и расписано. Надеюсь, что материал будет интересен как новичкам в сфере алгоритмов, так и матёрым программистам. Что же, если я смог заинтересовать вас, то прошу под кат!
Читать полностью »


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