Pull to refresh
39
0
DbLogs @DbLogs

Архитектор

Об одном недостатке VK API вслух

Reading time 4 min
Views 136K
Vkontakte Logo

Доброго времени суток, уважаемые жители Хабра!

Начну я с того, что, в моем понимании, Хабр — это чудовищное по своей мощности оружие. Не в смысле того, что им можно кого-то убить. Конечно, нет. Просто он дает самым обычным разработчикам возможность поделиться своими мыслями с потрясающе широкой аудиторией. Причем не имеет особого значения, о чем идет речь. Будь то бережно создаваемый в последние полгода “на коленке” собственный проект или новость о новинках от Google и Apple — все равно. Вас услышат, потому что здесь все равны перед кармой и рейтингом, у каждого есть право слова и голоса. Демократия во всей ее красоте да и только. Но, как и любым оружием, Хабром нужно пользоваться крайне аккуратно. Иначе отдача замучает =)

Я долго подбирал тему, достойную того, чтобы испытать всю силу хабравлияния, и вот, кажется, нашел. Давайте поговорим об API всем известной социальной сети ВКонтакте и о том, что в нем мне кажется нелогичным или, быть может, слегка рудиментарным, подлежащим пересмотру и изменению? Ниже я обязательно расскажу, как и почему пришел к такой мысли.

Внимание! Желающие обсудить последние события из жизни Павла Дурова, ФСБ или знакомых школьников! Прошу вас, ради всего ценного, что есть в вашей жизни, не нажимайте на ссылку “Читать далее”! Я бы очень хотел, чтобы этот пост достиг своей цели, а скандальность — последнее, что для этого нужно.

Читать дальше →
Total votes 143: ↑88 and ↓55 +33
Comments 208

Пять причин, по которым следует использовать Apache Wicket

Reading time 4 min
Views 8.7K

Apache Wicket - это фреймворк для веб-разработки на Java. Я чувствую, что ему не уделяют столько внимания, сколько он того заслуживает. Я профессионально использую Wicket для реальных проектов последние 6 лет и мне это нравится! В этом посте давайте рассмотрим пять причин, по которым вам стоит подумать об его использовании.

Читать далее
Total votes 16: ↑13 and ↓3 +10
Comments 38

Свой сервис отложенного постинга и почти без кода

Reading time 7 min
Views 3.2K


Если вы владеете Telegram-каналом (или несколькими), раскрученным аккаунтом в Instagram или любой другой социальной сети, то уже наверняка задавались вопросом: А как мне планировать посты заранее? Существует очень много разных сервисов, которые решают эту задачу. Но по тем или иным причинам они могут не подходить: где-то цена большая, где-то функционал беден, а где-то вообще страшно оставлять логин-пароль от своего раскрученного аккаунта. Сегодня я расскажу и покажу как на основе нашей платформы для разработки бизнес приложений с открытым кодом Orienteer сделать свой собственный сервис буквально за 60 минут! Заинтересовал? Проваливаемся под кат.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 5

Знакомство с Vuecket

Reading time 9 min
Views 3.4K


English Version
Vuecket — веб-фреймворк, интегрирующий VueJS с клиентской стороны и Apache Wicket с серверной. Он берет все самое лучшее от обоих и позволяет разрабатывать full-stack приложения еще быстрее и проще. Конечно, это всё громкие слова, ведь Vuecket'у на данный момент (Август 2020) меньше месяца, и он не прошел ещё крещение «огнем и кровью» продакшн серверов. Но он уже включил в себя всё самое лучшее из наработанного нами при разработке нашего ключевого Open Source продукта Orienteer(платформа для быстрой разработки бизнес приложений). И именно из-за молодого возраста Vuecket'у нужна ваша помощь: поделитесь, пожалуйста, тем, что вам понравилось, что не очень, где нужна доработка и т.д.

Основные принципы, которыми мы руководствуемся при построении Vuecket'а:

  1. Быть декларативным — не императивным. Vuecket не диктует какие-то специальные требования к коду. Он может быть приложен достаточно быстро и легко к уже существующим Vue.JS или Apache Wicket проектам.
  2. Следовать принципу Парето. Vuecket должен обеспечивать 80% нужного функционала из коробки, но для оставшихся 20% должны быть хорошие и удобные точки расширения.

Легко заметить, что эти принципы также применимы и к Vue.JS, и к Apache Wicket.

Итак, как именно мы будем знакомиться с Vuecket? Предлагаю сделать чат/гостевую доску с поддержкой Markdown. Не буду сильно томить: законченное приложение здесь, а код здесь.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 5

Реализация HFT роботов на устройствах CEPappliance

Reading time 11 min
Views 5.5K
Мы уже 2 года плотно общаемся с HFT трейдерами и разработчиками решений для HFT торговли. И испытываем некоторую неловкость от того, что никто в этой среде открыто не рассказывает о своих технологических успехах. Так как мы делаем устройства CEPappliance на основе FPGA, применимые в том числе для HFT торговли, мы неустанно интересуемся кто и как использует FPGA в этой сфере. Складывается навязчивое впечатление, что FPGA в HFT торговле, как секс у подростков — все о них говорят, но мало кто ими занимается, да еще и успешно.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 18

Заблуждения программистов относительно времени

Reading time 3 min
Views 88K
За последние пару лет я потратил много времени на дебаггинг чужих тестов. Это была интересная работа, иногда расстраивающая, но всегда поучительная. Кто-то может подумать, что в тестах нет багов, но конечно баги есть везде, и тесты не исключение.

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

На самом деле, я повидал так много заблуждений, которые оставляют след в чужих (и моих собственных) программах, что посчитал полезным составить список самых частых проблем.
Читать дальше →
Total votes 241: ↑218 and ↓23 +195
Comments 216

Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие

Reading time 3 min
Views 136K

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

Total votes 72: ↑72 and ↓0 +72
Comments 46

Стандарты и шаблоны для ТЗ на разработку ПО

Reading time 7 min
Views 732K

Введение


Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел. Придется сделать такую статейку самому…

И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification):

• ГОСТ 34
• ГОСТ 19
• IEEE STD 830-1998
• ISO/IEC/ IEEE 29148-2011
• RUP
• SWEBOK, BABOK и пр.
Читать дальше →
Total votes 36: ↑34 and ↓2 +32
Comments 22

Java и Docker: это должен знать каждый

Reading time 7 min
Views 82K
Многие разработчики знают, или должны знать, что Java-процессы, исполняемые внутри контейнеров Linux (среди них — docker, rkt, runC, lxcfs, и другие), ведут себя не так, как ожидается. Происходит это тогда, когда механизму JVM ergonomics позволяют самостоятельно задавать параметры сборщика мусора и компилятора, управлять размером кучи. Когда Java-приложение запускают без ключа, указывающего на необходимость настройки параметров, скажем, командой java -jar myapplication-fat.jar, JVM самостоятельно настроит некоторые параметры, стремясь обеспечить наилучшую производительность приложения.

В этом материале мы поговорим о том, что необходимо знать разработчику перед тем, как он займётся упаковкой своих приложений, написанных на Java, в контейнеры Linux.
Читать дальше →
Total votes 41: ↑38 and ↓3 +35
Comments 18

Orienteer: обзор платформы и обновлений последнего релиза

Reading time 6 min
Views 5.1K
После нашей первой статьи о том, как из Orienteer и docker сделать BaaS, мы обещали рассказать, что такое Orienteer, кому и как он может быть полезен. А тут еще и повод есть хороший: мы зарелизили версию 1.2 нашей платформы.

Версия 1.2 полностью поддерживает установку с помощью docker-образов, есть интеграция с процессным движком Camunda BPM, встроен интеграционный фреймворк Apache Camel, с помощью удалённого логирования ошибок стало проще получать диагностическую информацию о состоянии системы и многое другое.



Итак, обо всём этом коротко и по порядку под катом. Но краткость не всегда полезна, так что, дорогой читатель, есть одна просьба. Если мы были излишне кратки, а вы хотите узнать о чем-то более подробно — пишите в комментариях!

Ах, да — в статье вы найдете маленький подарок читателям Хабрахабр.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 10

Настраиваем приватный Docker-репозиторий

Reading time 3 min
Views 79K

Docker одна из горячих тем в разработке. Большинство новых проектов строится именно на Docker. Как минимум, он отлично зарекомендовал себя для распространения ПО, например, наша система поиска по документам Ambar устанавливается с помощью docker-compose.


В начале работы над Ambar мы использовали публичный docker-репозиторий, но с ростом проекта и появлением enterprise версии мы задумались над созданием собственного приватного репозитория. В данной статье мы поделимся своим опытом развертывания селф-хостед репозитория: пошагово опишем весь процесс, попытаемся обойти все подводные камни.

Читать дальше →
Total votes 43: ↑38 and ↓5 +33
Comments 14

Погодная станция из Arduino и Orienteer

Reading time 5 min
Views 13K
Под Новый Год ко мне приходит желание разработать что-нибудь нестандартное. В этот раз я решил начать собирать и обрабатывать погодные данные возле своего дома. И, конечно, выбрал Arduino в качестве железа, а вот в качестве хранилища и инструмента просмотра и анализа — упоминавшийся недавно на Хабрахабре конструктор бизнес-приложений Orienteer. Тем что получилось, я поделюсь в этой заметке.


Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 14

Docker swarm mode (режим роя)

Reading time 11 min
Views 95K

На хабре уже писали про Docker swarm mode (режим роя), который является новой фичей версии 1.12. Данная опция внесла небольшую путаницу в головы тех, кто знаком с отдельно стоящей реализацией Docker Swarm имевшей распространение ранее и не отличавшейся удобством настройки и использования. Однако, после добавления Swarm в коробку с Docker все стало намного проще, очевиднее и функциональнее.

Подробнее о том, как устроен новый кластер Docker контейнеров с точки зрения пользователя, а также о простом и удобном способе разворачивания сервисов Docker на произвольной инфраструктуре далее под катом.
Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Comments 60

Docker, GitLab, бесплатные SSL-сертификаты и другие плюшки современной веб-разработки

Reading time 12 min
Views 47K

И снова здравствуйте! Почти пять лет уже не писал здесь новых статей, хотя, если честно, всегда знал, что рано или поздно начну это делать снова. Не знаю как вам, а мне все таки это дело всегда казалось довольно увлекательным.


Начинать написание нового материала после столь продолжительного отдыха от этого дела — труднее всего. Но раз цель поставлена — надо идти до конца. Начну немного издалека.


Всю свою сознательную жизнь основным родом моей деятельности была и остается по сей день веб-разработка. Именно поэтому, сознаюсь сразу, что данный материал стоит воспринимать именно как попытка построения Docker-кластера от системного администратора любителя, но никак не профессионала. В этой статье я не могу претендовать на экспертное мнение в кластеризации и даже, более того, сам же хочу проверить достоверность собственного опыта.


Под хабракатом вы найдете Quick Start по использованию Docker на уровне, необходимом для решения конкретных задач, обозначенных ниже, без углубления в "дебри" виртуализации и прочих сопутствующих тем. Если вы до сих пор хотите начать успешно использовать эту современную технологию, тем самым значительно упростив целый ряд процессов: от разработки веб-продуктов и до разворачивания и переноса оных под какое-либо современное оборудование — прошу под кат!


Opening Illustration - Docker

Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 26

Свой BaaS c моделированием предметной области, скриптами и многим другим за полчаса

Reading time 4 min
Views 7.8K
Сегодня расскажем и покажем как за полчаса поднять свой Backend as a Service (BaaS) с весьма интересными возможностями.



BaaS — это веб-приложение, которое работает в облаке и предоставляет все необходимое для бизнес/мобильных приложений и сайтов (front-end). BaaS как минимум позволяет:

  • Управлять пользователями и ролями
  • Моделировать предметную область
  • Получать доступ к данным через REST
  • Управлять самими данными (база данных)
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 11

Как правильно внести свою лепту в Open Source проект: простые подсказки

Reading time 6 min
Views 69K
Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


Читать дальше →
Total votes 80: ↑69 and ↓11 +58
Comments 46

APS-стандарт – использование на примере CMS LiveStreet

Reading time 6 min
Views 16K
imageВ 2007-м году компанией SWSoft, ныне Parallels, опубликован новый стандарт средств, для развёртывания веб-приложений на хостинге – APS — Application Packaging Standard: apsstandard.org.
APS-формат разработан, чтобы упростить реализацию бизнес-модели Software-as-a-Service (SaaS) для облачных сервис-провайдеров и разработчиков ПО. APS-пакет – упакованное в соответствии с APS-стандартом веб-приложение.
В статье — краткий обзор APS-стандарта и описание процесса подготовки и публикации APS-пакета в общедоступном каталоге — на примере APS-пакета CMS Livestreet, выход которого вызвал определённый интерес на Хабре: (Блог LiveStreet CMS).
Надеюсь, статья заинтересует разработчиков веб-приложений, сервис-провайдеров и пользователей их услуг.
Читать дальше →
Total votes 32: ↑23 and ↓9 +14
Comments 26

Детальный анализ Хабрахабра с помощью языка Wolfram Language (Mathematica)

Reading time 8 min
Views 53K

Скачать пост в виде документа Mathematica, который содержит весь код использованный в статье, вместе с дополнительными файлами, можно здесь.

Анализ социальных сетей и всевозможных медиа-ресурсов является сейчас довольно популярным направлением и тем удивительнее для меня было обнаружить, что на Хабрахабре, по сути, нет статей, которые содержали бы анализ большого количества информации (постов, ключевых слов, комментариев и пр.), накопленного на нем за довольно большой период работы.

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

В посте будут рассматриваться статьи, относящиеся к хабам, всего в анализе участвовало 62000 статей из 264 хабов. Статьи, написанные только для корпоративных блогов компаний в посте не рассматривались, а также не рассматривались посты, не попавшие в группу «интересные».

Ввиду того, что база данных, построенная в посте, формировалась за некоторое время до публикации, а именно 26 апреля 2015 г., посты, опубликованные на Хабрахабре после этой даты (а также, возможно, новые хабы) в данном посте не рассматривались.
Читать дальше →
Total votes 158: ↑150 and ↓8 +142
Comments 65

99 ресурсов для продвижения стартапов

Reading time 3 min
Views 48K


В адаптированной нами подборке вы сможете найти множество полезных источников по ряду маркетинговых задач, которые приходится решать всем бизнесам без исключения. Уверены, что каждый сможет найти что-то подходящее для своих проектов.
Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Comments 1

Конференции для разработчиков c видео презентациями

Reading time 2 min
Views 17K
Для разработки надо идти в ногу со временем, и хорошее место узнать что-то новое и получить ценный опыт — концеренции и мастер классы. Я вот решил собрать некоторые значащие конференции и их видеоканалы с выступлениями. Старался не включать мелких конференций, слишком отдалённых от программирования (по PM и маркетингу), или не выкладывающих видео.

К сожалению некоторые конференции
  • заказывают сторонних людей, которые выкладывают всё на свой канал вместе с другими конференциями или личным хламом;
  • встраивают в свой сайт без возможность шаринга, а порой и вообще закрывают под ключ или с оплатой;
  • не выкладывают материалы и трёхлетней давности;
  • не заботятся о качестве видео — тёмный зал, совершенно не видно презентации, нет монтажа, неполадки со звуком, неслышно вопросов и т.п.

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

Читать дальше →
Total votes 27: ↑25 and ↓2 +23
Comments 30

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity