Pull to refresh
2
0
brmn @brmn

Senior Cloud Application Developer

Send message

Маркеры на Google Maps во Flutter: от простого к сложному

Reading time7 min
Views7.7K

Я — Тим, разработчик в Гудитворкс. Недавно мы делали приложение-гид по ресторанам. Нам было нужно, чтобы на карте отображалась информация о ресторанах, а пользователь мог бы отмечать понравившиеся. Я расскажу, как работать во Flutter с картами, а также стандартными и нестандартными маркерами. В конце каждой части рассказа — ссылка на репозиторий с полным кодом примера.

За иллюстрацию к статье спасибо DALL·E :)

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments2

Цены и затраты на Serverless: AWS Lambda

Reading time4 min
Views6.3K
Привет, Хабр! Стараюсь делать переводы лучше и буду рад вашей критике.
(Примечание: цены являются точными по состоянию на август 2018 года)

В сервисе AWS Lambda существует 263 позиции с уникальными ценниками. Например, они могут называться “Accelerated InterRegion Inbound using edge locations outside US, Europe or Japan, From EU (Paris) to EU (London)”, и существуют в каждом из 17 регионов. В сумме, это 4 471 отдельные позиции, которые могут быть выставлены вам в счет при выполнении Lambda.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

Apache Kafka: обзор

Reading time12 min
Views363K
Привет, Хабр!

Сегодня мы предлагаем вам сравнительно краткую, но при этом толковую и информативную статью об устройстве и вариантах применения Apache Kafka. Рассчитываем перевести и выпустить книгу Нии Нархид (Neha Narkhede) et. al до конца лета.


Приятного чтения!
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments19

Введение в аннотации типов Python

Reading time6 min
Views277K

Введение



Автор иллюстрации — Magdalena Tomczyk


Вторая часть


Python — язык с динамической типизацией и позволяет нам довольно вольно оперировать переменными разных типов. Однако при написании кода мы так или иначе предполагаем переменные каких типов будут использоваться (это может быть вызвано ограничением алгоритма или бизнес логики). И для корректной работы программы нам важно как можно раньше найти ошибки, связанные с передачей данных неверного типа.


Сохраняя идею динамической утиной типизации в современных версиях Python (3.6+) поддерживает аннотации типов переменных, полей класса, аргументов и возвращаемых значений функций:



Аннотации типов просто считываются интерпретатором Python и никак более не обрабатываются, но доступны для использования из стороннего кода и в первую очередь рассчитаны для использования статическими анализаторами.


Меня зовут Тихонов Андрей и я занимаюсь backend-разработкой в Lamoda.


В этой статье я хочу объяснить основы использования аннотаций типов и рассмотреть типичные примеры, реализуемые аннотациями из пакета typing.

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments50

Английские фразы, которые не стоит переводить буквально

Reading time4 min
Views243K


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

Повседневные фразы и инструкции


Тут сразу стоит отметить, что в английском довольно много фразовых глаголов, которые очень популярны, особенно в разговорной речи. Понятное дело, что sit down, stand up или come up уже никого не удивят, но есть другие интересные случаи, и не только с фразовыми глаголами.
Читать дальше →
Total votes 71: ↑58 and ↓13+45
Comments208

19 идей для Node.js-разработчиков, которые стремятся вырасти над собой в 2019 году

Reading time16 min
Views38K
Автор материала, перевод которого мы публикуем, собрал 19 идей, которые могут оказаться полезными для тех Node.js-разработчиков, которые хотят повысить свой профессиональный уровень в 2019 году. Мир JavaScript огромен, поэтому освоить всё то, о чём пойдёт здесь речь, попросту нереально. Вряд ли найдётся кто-то, кто владеет всем этим в совершенстве. Однако кое-что в этом обзоре вполне может пригодиться именно вам.


Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments11

Бесплатные аккаунты на GitHub смогут [почти] без ограничений работать с приватными репозиториями

Reading time2 min
Views69K

Эта новость опубликована на The Next Web, с пометкой:


"Из-за ошибок в планировании, мы опубликовали эту новость на день раньше снятия эмбарго на разглашение. Фича всё ещё не запущена, о ней официально расскажут завтра. Когда это произойдёт, мы обновим пост новым официальным анонсом".

А ещё есть вот такой замечательный тред в Twitter:



Ясно, что человек писал это дрожащими руками — точно так же, как я сейчас пишу дрожащими руками этот перевод.


Фейк ли это? Нет. Есть и официальное подтверждение в твиттере GitHub, так что — назад дороги нет.


Фичу явно выкатывали на спех, до сих пор на сайте не поправлена часть текстов, касающихся тарифов, а попытка даунгрейднуть план встречает таким вот опасно выглядящим сообщением:



В общем, запасаемся попкорном, скрещиваем пальцы на ногах и ждём годноты!

Читать дальше →
Total votes 134: ↑129 and ↓5+124
Comments178

Почему Ramda?

Reading time8 min
Views30K

Пост содержит перевод статьи «Why Ramda?», которую подготовил один из контрибьютеров Скот Сайет. Статья была опубликована 10 Июня 2014 года на сайте и рассказывает о том почему стоит обратить своё внимание на библиотеку Ramda и функциональное программирование в целом.


Примечание переводчика

В связи с тем, что статья была написана в 2014 году, некоторые примеры устарели и не работали с последней версией библиотеки. Поэтому они были адаптированы под последнюю версию Ramda@0.25.0.

Почему Ramda?


Когда-то давно buzzdecafe представил миру Ramda, в тот же момент сообщество поделилось на два лагеря.

Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments9

Добываем Wi-Fi соседа стандартными средствами MacOS

Reading time5 min
Views360K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →
Total votes 163: ↑151 and ↓12+139
Comments249

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

Reading time4 min
Views162K

Вступление


Предупреждаю сразу: технического в статье очень мало. Это практически пошаговая инструкция для не очень сведующих в техническом плане пользователей. Для людей сведущих (и тех, кому лень читать много текста), приведу две ссылки: Telegram Bots API + IFTTT Maker Channel.

Теперь подробнее. Думаю, все слышали про мессенджер Telegram. Вероятно, многие даже знают про нехитрый API для создания ботов в этом мессенджере. Кроме того, не так давно в T появилась возможность создавать так называемые «каналы» (channels), упрощающие мгновенную рассылку сообщений практически любому количеству подписавшихся на канал лиц. Наконец, самая свежая новость: ботов стало можно добавлять в качестве администраторов в каналы, то есть такие рассылки стало можно делать автоматизированно.

Думаю, не надо объяснять, что это открывает довольно широкие возможности для различных сервисов. Например, у меня довольно быстро получилось сделать следующее:
  • три канала (@RedditTop, @r_pics, @gone_wild — осторожно, последний с «взрослым» контентом), которые ежечасно импортируют топовые посты с Реддита (и двух его сабреддитов);
  • ещё канал, делающий то же с постами с 9GAG;
  • и, наконец, завел хитрого бота @JamesBot, который анонимно пересылает все сообщения, написанные ему, в общий канал (@secret_ru, @secret_en, @secret_es, @secret_ar или @secret_fa — в зависимости от языка). Получился анонимный чат средней степени трэшовости.

Уже после создания всех этих ботов и каналов мне пришло в голову, что простейший автоимпорт постов откуда-то «снаружи» можно наладить вообще без всякого кода и хостинга — буквально минут за 5. На помощь нам придет прекрасный сервис IFTTT — If This Then That, имеющий множество интеграций с социальными сетями и прочими сервисами. Правда, к сожалению, прямой интеграции с Телеграмом у него (пока?) нет — зато есть т.н. IFTTT Maker Channel, позволяющий делать простые HTTP(S)-запросы при срабатывании триггера. К сожалению, мы не сможем принимать сообщения, отправленные боту (входящие запросы IFTTT Maker принимать может, но, увы, только в строго определенном формате) — интерактива не выйдет. Зато сможем по срабатывании любого события (например, новый твит или пост в FB):
  • публиковать сообщение в канале,
  • отправлять сообщение в заранее выбранный чат (куда добавлен наш бот),
  • отправлять сообщение заранее указанному пользователю (который добавил себе бота).
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments16

Фреймворк для работы с Telegraph API

Reading time2 min
Views23K

image


20 декабря 2016 года Telegram открыл API к Telegraph. Для работы с ним я написал простую и функциональную библиотеку под JavaScript.


Пару слов о Telegraph


Telegraph — это сервис заметок и рассказов выполненный в минималистическом стиле, разработанный командой Telegram. Так же поддержка Instant View при просмотре из Telegram'а.


Более подробно про Telegraph


Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments15

Программируем Arduino с помощью Sublime + Stino на MacOS

Reading time3 min
Views15K


Хотелось бы поделиться опытом настройки и использования любимых мной программных продуктов по программированию Arduino контроллеров на Mac OS. Многие используют Sublime как хорошую среду программирования, например, добавив пакет Stino можно получить возможность писать код и заливать его в Arduino контроллеры. О том как всё это за 10 минут настроить под Windows написано много мануалов, но вот как заставить работать на Mac OS сказано мало. Если у вас есть Mac и Arduino, добро пожаловать под кат (внимание, много картинок!).
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments8

Памятка будущему PM

Reading time5 min
Views13K

Памятка будущему PM


Последнее время в связи с ростом курса валюты вопрос перехода в IT становится все более востребованным. Люди, которые раньше и не думали о работе связанной с технологиями, сейчас серьезно задумываются об этом и нередко после основной работы посещают специализированные курсы, занятия. Цель данной статьи — помочь новичкам или еще колеблющемся уяснить основные требования к должности «менеджер проекта» и помочь сделать первые шаги.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments5

Этап подготовки проекта в теории

Reading time12 min
Views53K
В данной статье рассмотрены теоретические основы важнейшего этапа в управлении проектами – именно его подготовки. Это должно быть интересно как новичкам в таком непростом деле, как менеджмент проектов, так и начинающим стартаперам, и возможно, опытным менеджерам.

Что же такое проект?
Читать дальше →
Total votes 68: ↑60 and ↓8+52
Comments31

Управление активами ПО — Как поддерживать однажды наведёный порядок?

Reading time4 min
Views3.3K

Добрый день, Хабр!


В качестве вступления хочу сказать спасибо администрации хабра, благодаря их поддержке мы обзавелись собственным тематическим блогом — habrahabr.ru/blogs/sam
Спасибо!

Все мы знаем, что основная группа риска по вопросам ответственности за нелицензионное ПО в организациях это руководители (они так или иначе отвечают в принципе за всё происходящее в организации) и ИТ-отдел (на который руководителям легче всего спихнуть проблему под лозунгом «я не знал о нелицензе, я думал всё легально, вот специалист — он говорил всё в порядке»).

Если отталкиваться от самого первого топика серии — habrahabr.ru/blogs/sam/97343
то этот будет четвёртым шагом под названием «разработка процедур», в котором говорилось о необходимости разработки внутренних документов, регулирующих весь жизненный цикл программного обеспечения в организации.

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

Так-же это прямым образом пересекается с вопросом уменьшения ответственности должностных лиц (руководство, ИТ-отдел) за возможные нарушения законов связанные с программным обеспечением производимые пользователями.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments2

На HTC Desire получены root-права (Upd)

Reading time1 min
Views7.4K
HTC DesireHTC выпустила потрясающий аппарат на Android'е, который все так долго ждали. Но что могло расстроить настоящего техногика, так это отсутствия прав суперюзера в заводской прошивке. Однако широкоизвестный в узких кругах Поль О'Браян, автор проекта Modaco, смог написать эксплоит и получить root на последней версии официальной прошивки 1.15.405.4, чему свидетельствует фото слева.

По отзывам Поля, этот же метод работает на HTC Legend, а также вероятно будет работать на HTC Droid Incredible. О'Браян смог получить доступ на запись в системный раздел, загрузчик, а также radio. Recovery mode все еще защищен.

Upd: Детальная инструкция со всеми необходимыми файлами есть тут.
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments49

Отправка сообщения с вложением по e-mail из модуля в Drupal

Reading time8 min
Views1.8K
Понадобилось мне недавно сделать казалось бы простейшую вещь, а именно с помощью некоторой формы на сайте отправить письмо с вложением. И сделать это надо на сайте, построенном на Друпале… Как оказалось, этот пост очень правильный — действительно нужные рецепты не найдешь даже погуглив. В рунете вообще плохо с информацией, на диком западе получше, однако по теме ничего путного найти не удалось, кроме одного способа, который требует установки двух довольно навороченных модулей — ну это просто, по-моему, ни в какие ворота… Как и в случае с джумлой, пришлось копать сорсы различных модулей, api.drupal.org ну и, разумеется, додумывать. Результаты размышлений предлагаю Вашему вниманию. На примере простейшего модуля я покажу один из способов отправки сообщения с вложением по e-mail.

Хочу посмотреть на результаты
Total votes 14: ↑13 and ↓1+12
Comments7

Почему брать кредиты выгодно?

Reading time4 min
Views22K
Все наверняка слышали фразы типа «Кредиты — кровь бизнеса». С другой стороны, народная мудрость говорит: «Берешь чужое и на время, а отдаешь своё и навсегда».

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

Кредит для бизнеса и кредит для потребителя — немножко разные кредиты ;)

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

Как это работает?
Total votes 211: ↑181 and ↓30+151
Comments272

Как подобрать хорошие ключевые слова и идеи для ваших статей

Reading time3 min
Views4.3K
Одной из самых важных вещей, о которых вы должны задуматься перед запуском проекта, является SEO. Оптимизируя контент сайта и используя правильные ключевые слова вы можете получить большой приток посетителей. SEO — очень комплексное занятие, имеющее множество заковырок. Одним из важнейших моментов этого комплекса является подбор правильных ключевых слов. Об этом мы и поговорим.
Читать дальше →
Total votes 30: ↑22 and ↓8+14
Comments6

Плагин для Redmine

Reading time1 min
Views3.1K
Всем доброго времени суток.

На работе поставили систему управления проектами Redmine. Она довольно хорошо описана на хабре, поэтому повторяться не буду.

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

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

Чтобы это исправить, я написал маленький плагин для redmine, который можно скачать из GoogleDocs

Под катом находится иллюстрация работы плагина.

Посмотреть иллюстрацию
Total votes 11: ↑9 and ↓2+7
Comments14
1
23 ...

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 10,000 €
AWS
Python
TypeScript