Как стать автором
Обновить
9
0

Пользователь

Отправить сообщение

Как я написал мобильное приложение на react-native

Время на прочтение7 мин
Количество просмотров15K
Меня зовут Алексей Андросов, я уже много лет работаю в Яндексе фронтенд-разработчиком. Два года назад мне и моим партнерам пришла в голову идея создать мобильную социальную сеть Verb. Идея Verb в том, что пользователи могут делиться небольшими статусами — “вербами” — о том, чем они занимаются в данную минуту, простыми вещами, о которых хочется рассказать друзьям, но некуда об этом написать. И мы уже даже получили инвестиции, но сейчас не об этом. Сегодня я хочу рассказать о том, как и почему я написал мобильное приложение на react-native.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии6

Очень легкая система мониторинга с Телеграмом и Консулом

Время на прочтение4 мин
Количество просмотров14K


Всем счастья и добра!


Эволюционно так получилось, что в моем личном владении оказался не маленький зоопарк различных серверов: от дешевого Supermicro до топового (на момент выпуска) HP Gen 8. Все конечно связано оптикой и прочими радостями жизни.


Но сказ не про то, как сеть класть, и даже не про то, как сервера настраивать, а про то, как правильно просто на всем этом деле docker-compose сервисы поднимать и радоваться.

Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии15

Один квартал из жизни SOC. Три инцидента без купюр

Время на прочтение12 мин
Количество просмотров14K
Для меня, как аналитика, самые полезные и интересные доклады и статьи – те, которые освещают практические аспекты информационной безопасности и дают конкретные примеры инцидентов и методов их выявления и расследования. Поэтому сегодняшняя статья посвящена нескольким интересным кейсам, с которыми мы в Solar JSOC сталкивались за последнее время.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии7

Антивирус на батниках в прошлом ㅡ пришло время сниффера на PowerShell

Время на прочтение6 мин
Количество просмотров23K


Все мы в качестве сниффера обычно используем готовые программы. Однако, можно обойтись и встроенными средствами Windows с помощью PowerShell. Помимо изобретения велосипеда «потому что можем», скрипты пригодятся в сценариях автоматизированного анализа трафика.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии3

В чём сила Redux?

Время на прочтение8 мин
Количество просмотров29K

image


Это перевод статьи "What’s So Great About Redux?" (автор Justin Falcone), которая мне показалась весьма приятной и интересной для прочтения, enjoy!


Redux мастерски справляется со сложными взаимодействиями состояний, которые трудно передать с помощью состояния компонента React. По сути, это система передачи сообщений, которая встречается и в объектно-ориентированном программировании, но она не встроена непосредственно в язык, а реализована в виде библиотеки. Подобно ООП, Redux переводит контроль от вызывающего объекта к получателю — интерфейс не управляет состоянием напрямую, а передает ему сообщение для обработки.


В этом плане хранилище в Redux — это объект, редюсеры — это обработчики методов, а действия — это сообщения. Вызов store.dispatch({ type:"foo", payload:"bar" }) равносилен store.send(:foo, "bar") в Ruby. Middleware используется почти таким же образом, как в аспектно-ориентированном программировании (например, before_action в Rails), а с помощью connect в react-redux осуществляется внедрение зависимости.

Читать дальше →
Всего голосов 22: ↑14 и ↓8+6
Комментарии31

Правила хорошего тона для API

Время на прочтение5 мин
Количество просмотров21K
Перенос функциональности сайта, интернет-магазина или портала в мобильное приложение имеет ряд преимуществ как для владельца онлайн-сервиса, так и для его клиентов. Владелец получает дополнительный канал связи со своей целевой аудиторией и возможность персонализировать рекламные объявления, а пользователь – более удобный интерфейс, дополнительный функционал и возможность получения своевременных оповещений.

О том, какие принципы и инструменты мы используем для добавления REST API к проектам, читайте под катом.
Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии25

От репозитория до CI/CD-инфраструктуры в продакшене за неделю

Время на прочтение11 мин
Количество просмотров27K
Обычно в термин «поддержка» вкладывают только один смысл — это реагирование на беды с хостингом, замена битых дисков, настройка веб-серверов и СУБД, общее повседневное администрирование. Но, на самом деле, это только первый уровень контроля стабильности работы любого интернет-проекта.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Делаем приложения с поиском на Go

Время на прочтение3 мин
Количество просмотров13K

Однажды в рассылке Golang Weekly мне попался проект Bleve. Это полнотекстовый поиск, который написан на Go. Проект интересный, и появилось бешеное желание получить с ним опыт работы.


Bleve может хранить данные в разных embedded БД:


  • BoltDB (использует по умолчанию)
  • LevelDB
  • RocksDB
  • Goleveldb
  • forestdb
  • Gtreap
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии3

Укрощаем мультимедиа с помощью ffmpeg

Время на прочтение3 мин
Количество просмотров90K

Внезапно ваш диск под завязку забит фотографиями и видео, а впереди новые поездки. Что делать, покупать новый, арендовать дисковое пространство на облаке, или может лучше сжать видео файлы через ffmpeg?





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

Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии33

Вы используете интерфейсы в Go неправильно!

Время на прочтение4 мин
Количество просмотров23K
С таким громким заголовком я думал сначала написать статью. Нет, на самом деле, вполне возможно, что у вас всё хорошо и эта статья — не про вас. Но очень часто, когда люди приходят из других языков, можно видеть, как они пытаются «притянуть за уши» паттерны из того языка, к которому они привыкли, и они в Go зачастую работают плохо.



В этой статье я хотел бы собрать несколько типичных ошибок, которые делают начинающие программисты на Go (и я в том числе), и как этих ошибок избежать.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии8

Отчет с Go meetup 14 апреля

Время на прочтение2 мин
Количество просмотров8K


Спустя полгода сообщество Go-разработчиков снова воссоединилось в нашем московском офисе 14 апреля. И теперь у нас есть возможность ознакомиться с тем, как проходила эта встреча. Пять докладов и прочие подробности ищите под катом.
Всего голосов 40: ↑34 и ↓6+28
Комментарии3

Создание веб-приложения на Go в 2017 году

Время на прочтение8 мин
Количество просмотров78K
Содержание

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


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

Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии44

Сервис загрузки файлов на Golang

Время на прочтение5 мин
Количество просмотров31K
В ходе разработки серверной части сервиса загрузки файлов на Golang родилось отдельное приложение – pavo. В задачи приложения входит загрузка целых файлов, по одному или несколько за раз, кусочная загрузка файла(chunked upload), конвертер изображений. Реализована загрузка данных через multipart/form-data и загрузка файла в бинарном виде в теле запроса. Для работы в production окружении используется nginx для авторизации и обработки медленных соединений. В качестве клиентской библиотеки можно использовать jQuery File Uploader.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии9

Да будет фильм с Xamarin.Forms

Время на прочтение16 мин
Количество просмотров8.1K
Одной из самых крутых тенденций в дизайне мобильных пользовательских интерфейсов, смело можно назвать использование видео в качестве фона для предоставления. Как пример, приложения Tumblr, Spotify и Vine. В этой статье мы разберём то, как реализовать аналогичное решение в приложении Xamarin.Forms, а в конце расскажем о меророиятии, которое скоро пройдёт в СПб. Всё, что нам нужно, это реализовать два пользовательских рендерера для Android и для iOS по отдельности.


Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии2

Суперсилы WinDbg для .NET-разработчиков

Время на прочтение18 мин
Количество просмотров18K
Продолжая серию публикаций по докладам на конференциях, мы остановились на лучшем докладе DotNext 2016 Moscow, в которой Саша goldshtn Гольдштейн рассказывает о возможностях WinDbg для отладки .NET приложений. Этот действительно мощный инструмент позволяет решать задачи, с которыми не справляется встроенный отладчик Visual Studio.

Особенно этот материал будет полезен тем, кому сложно смотреть доклады на английском языке, так как расшифровка переведена на великий и могучий!


Всего голосов 40: ↑38 и ↓2+36
Комментарии2

Разработка приложений на Go: повторное использование логики

Время на прочтение5 мин
Количество просмотров11K

На мой взгляд, написание библиотек на Go — довольно хорошо освещенная тема… а вот о написании приложений (команд) статей гораздо меньше. Когда дело до этого доходит, весь код на Go представляет собой команду. Так давайте об этом и поговорим! Этот пост будет первым в серии, т.к. у меня много информации, которой я еще не делился.


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

Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии16

Как я стал лучше программировать

Время на прочтение6 мин
Количество просмотров48K
Автор статьи — Джеймс Лонг, один из создателей Firefox Developer Tools

Несколько человек на React Conf спросили у меня совета, как программировать лучше. По какой-то причине люди видят во мне продвинутого программиста, к советам которого стоит прислушаться. Я подумал, стоит записать «ментальную модель» того, как я подходил к программированию на протяжении всех лет.

Некоторая информация: мне 32 года и 10 лет твёрдого опыта. Наверное, только в последние пару лет я приобрёл уверенность в том, что делаю. Но даже теперь я продолжаю сомневаться в себе. Дело в том, что это чувство никогда не уходит, так что старайтесь не обращать на него внимания, продолжайте хаки и накапливайте опыт.

Сразу скажу, что здесь всего несколько советов для улучшения своих способностей. В итоге вам нужно самим выяснить, что лучше всего подходит именно вам. Это просто те вещи, которые я посчитал полезными.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии33

Свой облачный хостинг за 5 минут. Часть 3: Consul, Registrator, Consul-Template

Время на прочтение10 мин
Количество просмотров39K
Docker friends

Привет Хабр! Я продолжаю цикл статей о том, как построить свой облачный хостинг за 5 минут. В прошлой статье мы рассмотрели инструменты, которые помогут решить нам проблему обнаружения сервисов (Service Discovery). В это части мы приступим к практике, построим облако и посмотрим как эти инструменты ведут себя в реальной жизни.

Как и прежде, всю работу может выполнить обычный программист в течение 5 минут, просто запустив набор сценариев для Ansible, которые я подготовил специально для вас и выложил на GitHub.

Несмотря на то, что наше облако стало сложнее и теперь в нём используется бо́льшее число инструментов, построить его стало проще. Я полностью переписал набор сценариев из прошлых статей, удалил всё лишнее, остальное упростил настолько, насколько это вообще возможно.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии13

Свой облачный хостинг за 5 минут. Часть 2: Service Discovery

Время на прочтение7 мин
Количество просмотров44K
Cloud hosting

Привет Хабр! В предыдущей статье я рассказал как построить свой облачный хостинг за 5 минут, используя Ansible, Docker и Docker Swarm. В этой части я расскажу о том, как сервисы, запущенные в облаке, находят друг друга, как происходит балансировка нагрузки между ними и обеспечивается их отказоустойчивость.

Это вводная статья, здесь мы сосредоточимся на обзоре инструментов, которые будут решать проблему «обнаружения сервисов» в нашем облаке. В следующей части мы приступим к практике, поэтому я решил дать вам время поближе ознакомиться с ними.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии1

MassTransit. Сервисная шина для обмена сообщениями на основе сервера очередей RabbitMQ (MSMQ) для .Net

Время на прочтение8 мин
Количество просмотров46K
MassTransit
Впервые я услышал о библиотеке MassTransit (MT) около года назад от экс-коллеги, зашедшего в наш офис для обмена опытом. Компания, в которую он устроился, использовала MT для уменьшения связности между модулями разрабатываемого ими сервиса и, поскольку высокая связность начала превращаться в проблему и для нас, чужой опыт оказался нам очень кстати. Помимо уменьшения связности путем перехода на событийную модель взаимодействия между модулями, MT пригодился нам и для распределения ресурсоемких задач между несколькими процессами.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Свердловская обл., Россия
Зарегистрирован
Активность