Pull to refresh
0
0
Send message

GraphQL на Rust

Reading time18 min
Views12K

В этой статье я покажу как создать GraphQL сервер, используя Rust и его экосистему; будут приведены примеры реализации наиболее часто встречающихся задач при разработке GraphQL API. В итоге API трёх микросервисов будут объединены в единую точку доступа с помощью Apollo Server и Apollo Federation. Это позволит клиентам запрашивать данные одновременно из нескольких источников без необходимости знать какие данные приходят из какого сервиса.

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments41

От желания до оффера: как программисту организовать подготовку к интервью

Reading time3 min
Views8.9K
Пару месяцев назад из-за пандемии мне пришлось искать работу и подойти к этому я решила системно. Со всей своей любовью к планированию, записям и визуальным отражением прогресса. Пройдя путь от белого листа до офферов, представляю свой план, по которому выбирала компании и готовилась к собеседованиям.

Выбор компании


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

Формируем портрет желаемой компании, я сделала 3 колонки:

  • Цели в работе
  • Желания на ближайшие годы
  • Рекомендации (советы друзей о выборе компании)


Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments8

Архитектура мета-сервера мобильного онлайн-шутера Tacticool

Reading time11 min
Views9.9K
Еще один доклад с Pixonic DevGAMM Talks — на этот раз от наших коллег из PanzerDog. Lead Software Engineer компании Павел Платто разобрал мета-сервер игры с сервисно-ориентированной архитектурой, рассказал, какие решения и технологии были выбраны, что и как у них масштабируется, и с какими трудностями пришлось столкнуться. Текст доклада, слайды и ссылки на другие выступления с митапа, как всегда, под катом.

Total votes 31: ↑30 and ↓1+29
Comments5

CSS Grid: Верстаем адаптивный журнальный макет в 20 строк

Reading time12 min
Views58K

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

Самая простая часть задачи — получение списка постов и их эксцерптов (эксцерпт — вступительный текст до ката) с наших любимых RSS–фидов. Для этого мы воспользовались WordPress-плагином Feedzy lite, который умеет агрегировать несколько фидов в один список, отсортированный по времени — идеальное решение в нашем случае. Трудная же часть в том, чтобы сделать всё красиво.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments10

Распознавание лиц с помощью сиамских сетей

Reading time7 min
Views24K


Сиамская нейросеть — один из простейших и наиболее популярных алгоритмов однократного обучения. Методики, при которой для каждого класса берётся лишь по одному учебному примеру. Таким образом, сиамская сеть обычно используется в приложениях, где в каждом классе есть не так много единиц данных.

Допустим, нам нужно сделать модель распознавания лиц для организации, в которой работает около 500 человек. Если делать такую модель с нуля на основе свёрточной нейросети (Convolutional Neural Network (CNN)), то для обучения модели и достижения хорошей точности распознавания нам понадобится много изображений каждого из этих 500 человек. Но очевидно, что такой датасет нам не собрать, поэтому не стоит делать модель на основе CNN или иного алгоритма глубокого обучения, если у нас нет достаточного количества данных. В подобных случаях можно воспользоваться сложным алгоритмом однократного обучения, наподобие сиамской сети, которая может обучаться на меньшем количестве данных.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments3

12 шагов по поиску удаленной работы

Reading time9 min
Views64K
Привет, меня зовут Игорь. Я десять лет работал в офисе, но год назад решился и перешел на удаленную работу. Для начала скажу, что теперь меня палкой не загонишь в офис! Перейти на удаленку было лучшее решение в моей жизни.
... Написание каркаса резюме... Анализ рынка... Анализ конкурентов... Написание резюме...
Total votes 48: ↑39 and ↓9+30
Comments111

Не работайте в плохих проектах

Reading time13 min
Views99K

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


Читать дальше →
Total votes 220: ↑197 and ↓23+174
Comments574

Первый взгляд на FoundationDB, открытую Apple

Reading time9 min
Views18K
В прошлой статье мы рассматривали ограничения и препятствия, которые возникают, когда нужно горизонтально масштабировать данные и иметь гарантию ACID-свойств транзакций. В этой статье рассказываем о технологии FoundationDB и разбираемся, как она помогает преодолеть эти ограничения при разработке mission-critical приложений.

FoundationDB — это распределенная NoSQL база данных с ACID-транзакциями уровня Serializable, хранящая отсортированные пары ключ-значение (ordered key-value store). Ключами и значениями могут быть произвольные последовательности байт. У неё нет единой точки падения — все машины кластера равноправны. Она сама распределяет данные по серверам кластера и  масштабируется на лету: когда в кластер нужно добавить ресурсов, ты просто добавляешь адрес новой машины на конфигурационных серверах и база сама подхватывает ее.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments15

Полное руководство по стратегии обнаружения изменений Angular onPush

Reading time8 min
Views102K

image


Default cтратегия обнаружения изменений


По умолчанию Angular использует ChangeDetectionStrategy.Default стратегию обнаружения изменений.


ChangeDetectionStrategy.Default работает таким образом, что каждый раз, когда что-то меняется в нашем приложении, в результате различных пользовательских событий, таймеров, XHR, промисов и т.д., обнаружение изменений будет запускаться по всем компонентам.

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

Hasura. Архитектура высокопроизводительного GraphQL to SQL сервера

Reading time6 min
Views26K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Architecture of a high performance GraphQL to SQL engine».

Это перевод статьи про то, как устроен изнутри и какие оптимизации и архитектурные решения несет в себе Hasura — высокопроизводительный легковесный GraphQL сервер, выступающий прослойкой между вашим веб-приложением и базой данных PostgreSQL.

Он позволяет генерировать GraphQL схему на основе существующей базы данных или создать новую. Поддерживает GraphQL Subscriptions из коробки на основе Postgres-триггеров, динамический контроль прав доступа, автоматическую генерацию join’ов, решает проблему N+1 запросов (batching) и многое другое.

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments6

Архитектура Redux. Да или нет?

Reading time7 min
Views22K
Автор материала, перевод которого мы сегодня публикуем, говорит, что входит в команду мессенджера Hike, которая занимается новыми возможностями приложения. Цель этой команды заключается в том, чтобы воплощать в реальность и исследовать идеи, которые могут понравиться пользователям. Это означает, что действовать разработчикам нужно оперативно, и что им приходится часто вносить изменения в исследуемые ими новшества, которые направлены на то, чтобы сделать работу пользователей как можно более удобной и приятной. Они предпочитают проводить свои эксперименты с применением React Native, так как эта библиотека ускоряет разработку и позволяет использовать один и тот же код на разных платформах. Кроме того, они пользуются библиотекой Redux.


Читать дальше →
Total votes 34: ↑28 and ↓6+22
Comments26

Курс MIT «Безопасность компьютерных систем». Лекция 13: «Сетевые протоколы», часть 2

Reading time16 min
Views6.8K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
Total votes 21: ↑19 and ↓2+17
Comments0

5+1 случай, когда спецификация REST API играет огромную роль

Reading time13 min
Views34K

В этой статье речь пойдёт о написании и поддержке полезной и актуальной спецификации для REST API-проекта, которая позволит сэкономить много лишнего кода, а также серьёзно улучшить целостность, надежность и прозрачность прокта в целом.


Что такое RESTful API?



Это миф.


Серьёзно, если вы думаете, что в вашем проекте RESTful API, вы почти наверняка ошибаетесь. Идея RESTful — в построении API, который во всём соответствовал бы архитектурным правилам и ограничениям, описанным стилем REST, однако в реальных условиях это оказывается почти невозможно.

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

Почему Wi-Fi не будет работать, как планировалось, и зачем знать, каким телефоном пользуется сотрудник

Reading time15 min
Views161K


Привет!

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

Для разминки — небольшая задачка. Представьте себе беспроводную сеть Wi-Fi, состоящую из точки доступа (AP) и двух одинаковых клиентских устройств (STA1 и STA2).

Читаем надписи на коробках:
AP: 1733,3 Мбит/c
STA1, STA2: 866,7 Мбит/c

Внимание, вопрос. Оба клиента одновременно начинают загружать с сервера большой файл. На какую пропускную способность может рассчитывать каждое из устройств?
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments69

WebSockets в Angular: cоздаем Angular Service для работы с вебсокетами

Reading time9 min
Views44K
image
В этой статье я постараюсь детально охватить узкую сферу применения технологии в рамках фреймворка Angular и его уже неотъемлемого помощника — RxJs, при этом мы намеренно не будем касаться серверных реализаций, т.к. это полноценная тема для отдельной статьи.

Данный текст будет полезен тем, кто уже знаком с Angular, но хочет углубить свои знания непосредственно по теме.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments3

Способы синхронизации вкладок браузера

Reading time5 min
Views33K


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

Ниже опишу различные способы решения подобных задач.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments16

Высокоскоростной протокол передачи файлов – Aspera FASP

Reading time9 min
Views21K


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

Или, например, в случае, когда плавучая бурильная установка, на которой есть только спутниковый канал, должна передать куб геофизических данных бурения скважины для интерпретации в высокопроизводительные вычислительные центры, каждый день задержки может привести к убыткам.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments20

CRDT: Conflict-free Replicated Data Types

Reading time10 min
Views43K

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments14

Путеводитель по Швейцарии

Reading time42 min
Views90K
Приветствую, товарищи!

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

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

Я решил не делить его на отдельные куски — так информацию искать будет проще. Надеюсь что не сильно нарушу тематику ресурса, пусть НЛО нас рассудит.


Flumserberg. Здесь и далее — обычно мои фотографии, которые мне показались более или менее приличными :)
Читать дальше →
Total votes 170: ↑167 and ↓3+164
Comments327
1
23 ...

Information

Rating
Does not participate
Registered
Activity