Pull to refresh
1
0
Send message

Монорепо: typescpript & workspaces npm. Настройка и публикация в npm

Reading time7 min
Views18K

Существуют разные способы создания монорепозитория в node.js, есть разные библиотеки для этих целей: yarn workspaces, lerna и так далее. Но сегодня я хочу коротко рассказать о монорепозитории на typescript, используя только npm.

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments3

Основы Elasticsearch

Reading time12 min
Views688K

Elasticsearch — поисковый движок с json rest api, использующий Lucene и написанный на Java. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES.


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


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

Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments78

Шпаргалка с командами Docker

Reading time5 min
Views701K
Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.



Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments15

Курсоры БД в Doctrine

Reading time6 min
Views15K

image


Используя курсоры, вы сможете порционно получить из БД и обработать большое количество данных, не расходуя при этом память приложения. Уверен, перед каждым веб-разработчиком хотя бы раз вставала подобная задача, передо мной тоже — и не раз. В этой статье я расскажу, в каких задачах курсоры могут быть полезны, и дам готовый код по работе с ними из PHP + Doctrine на примере PostrgeSQL.

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

Локальный (offline) npm репозиторий

Reading time3 min
Views19K


Предыстория


Решив продаться задорого, я оказался у работодателя, где интернета нет не только в пром-контуре, но и в деве (ситуация на самом деле нередкая во многих, так сказать, "энтерпрайзах"). Есть IE в консоли, где ты, мой дорогой читатель, можешь конечно посмотреть на Хабр или stackoverflow, но не более. В целом, повторюсь, ситуация не исключительная, с ней можно жить — вот он, мой личный ноут, на котором я это пишу, стоит на столе… wifi ли, поднимаемый многими сотрудниками, сотовый ли как модем, в целом, если это не оборонка/всякие службы из трех букв (тут я советую идти официальными-дорогими путями, о чем будет пара слов ниже) и нет службы радиоконтроля, то вы вольны со своим личным ноутом делать все что угодно (в рамках допустимого :) ), ну по-крайней мере, так это выглядит у нас. Возможность перетащить файлики в dev-среду худо-бедно есть, но мне очень не понравилось решение держать node_modules в кодовой базе и я засучил рукава (рукава я засучивал много раз и по поводу переезда с TFS на git, и по поводу локального nuget-репо, но это отдельные истории, тоже не лишенные драматизьму, но о них как-нибудь в следующий раз). Есть несколько довольно дорогих решений вопроса, вполне возможно, что я смог бы протолкнуть даже какой-нибудь Artifactory, но когда я представил сколько этой займет сил и самое главное, как долго это будет решаться, согласовываться и внедряться, было решено поступить дешево и сердито.


Дисклеймер: поскольку у меня была windows-среда, то и описываю я детально именно работу в виндовой консоли, однако по сути отличия будут только в конце, когда вы захотите окончательный результат поднять в виде сервиса/демона.


Не томи, задушевенник, как?

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments14

Помощь и просьба о ней. Статья про информационную безопасность для рядовых пользователей

Reading time118 min
Views101K
Я предлагаю вам некоторые шаги по повышению безопасности и приватности в интернет сети (и не только) для рядовых пользователей. Обоснование почему это необходимо – в начале статьи. Для тех, кто всё знает и недоумевает, почему этот текст находится здесь — просьба прочитать пункт «Для тех, кто уже всё знает». Три месяца назад я написала этот текст, но в связи с моей необразованностью и нескончаемым потоком новостей о новых угрозах безопасности, мне надоело переделывать, так что пусть в этом тексте остаётся всё как было).
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments98

12 приемов работы с JavaScript, которых нет в большинстве туториалов

Reading time6 min
Views45K


Когда я начал изучать JavaScript, то первым делом составил список приемов, которые помогали мне экономить время. Я подсмотрел их у других программистов, на разных сайтах и в мануалах.

В этой статье я покажу 12 отличных способов улучшить и ускорить свой JavaScript-код. В большинстве случаев они универсальны.
Читать дальше →
Total votes 70: ↑45 and ↓25+20
Comments88

Начинаем изучать микроконтроллеры на примере STM32F030f4p6

Reading time14 min
Views57K


0. Перед прочтением статьи


Данная статья преследует следующие цели:

  1. показать, как работать конкретно с этой платой;
  2. показать подход, с помощью которого можно написать программу мигания светодиодом, опираясь исключительно на документацию и логику;
  3. изложить материал языком, понятным человеку, слабо знакомому с микроконтроллерами.

Код получится минималистичным с точки зрения использования дополнительных файлов — мы не будем подключать ни один файл, кроме тех, что нужны для сборки пустой, но валидной, прошивки. Т.е. на базе кода прошивки, которая работает, но ничего полезного не делает.
Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments63

Канбан в IT (Kanban Development)

Reading time7 min
Views282K
Я собираюсь написать несколько статей про новую методологию гибкой разработки Канбан (Kanban Development) в целях подготовки к Scandinavian Agile Conference 2009, где я буду делать один из докладов (кстати, заодно приглашаю всех на конференцию).
Сегодня публикую первую из статей.
Основная задача первой статьи — это как можно проще описать основы Канбан: что это такое, в чем отличие от других гибких методологий и зачем это нужно.
Также я хотел бы собрать как можно больше вопросов и сомнений в комментариях, чтобы ответить на них в следующих статьях, так что пишите всё, что вам непонятно, или что ещё вы хотели бы узнать про Канбан.
Я не то, чтобы большой специалист по этой новой методологии, но мы внутри команды пришли к Канбану самостоятельно и последовательно прошли все этапы мутации от SCRUM до Канбан, так что практический опыт есть.

Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments91

Mkcert: валидные HTTPS-сертификаты для localhost

Reading time2 min
Views91K

В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

Традиционно есть два решения.
Читать дальше →
Total votes 65: ↑54 and ↓11+43
Comments35

Заряжаем АА, ААА и другое цилиндрическое и аккумуляторное

Reading time10 min
Views309K
На ныне покойном Geektimes есть (или был) блог Gearbest и он был (или есть) уныл. Их маркетологи зачем-то раз за разом втюхивают одни и те же телефоны и планшеты, тогда как на сайте (впрочем, как и на Ali) есть куча других отличных товаров для гиков. Поэтому, можно я поделюсь своими маленькими китайскими открытиями?



У меня есть дети. Дети = выброшенные батарейки. Т.е. там есть еще промежуточные звенья типа больших роботов, мечей, орущих робокошек, которые катаются по дому и мерцают как мечта эпилептика и так далее. Но все приводит к одному — выброшенным батарейкам.

Благодаря Алексею Надежину мы уже знаем, что лучшими по соотношению цена/емкость являются либо батарейки Ikea и Ашан, либо GP Super. Тем, собственно и жили.
UPD: в комментариях указали, что Алексей провел новое исследование. С учетом обновления цен до текущих, получается, что лучше выглядят батарейки Pairdeer и Lexman из Леруа Мерлен. Ну и опять же Ашан.
Однако, вывалив в специальный контейнер очередную порцию дохлых батареек и испытав на себе полуночный плач ярославны о том, что любимая кукла не работает, пришел к простому выводу — пора переходить на аккумуляторы. Причем, если будут аккумуляторы, неплохо бы их как-то еще и заряжать. Полез гуглить простые зарядки и тут мне открылся “о дивный новый мир”.
Читать дальше →
Total votes 108: ↑107 and ↓1+106
Comments198

Подборка: 7 Chrome-расширений для обхода блокировок

Reading time3 min
Views963K


В последние годы вопрос обхода различных блокировок сайтов стоит достаточно остро. Проще всего решить ее можно с помощью прокси-расширений для браузера. А поскольку самым популярным браузером сейчас является Chrome, то я решил собрать в одном материале все самые адекватные варианты прокси и VPN-расширений для него.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments28

Учим CSS Grid за 5 минут

Reading time3 min
Views88K
Быстро познакомимся с будущим макетов веб-сайтов.

image

Grid макеты имеют основополагающее значение для дизайна веб-сайтов, а модуль CSS Grid — это самый мощный и простой инструмент для его создания.

В этом году модуль также получил нативную поддержку основных браузеров (Safari, Chrome, Firefox), поэтому я считаю, что всем фронтенд разработчикам придется изучать эту технологию в недалеком будущем.

В этой статье я быстренько расскажу вам об основах CSS Grid.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments18

Как вычислить (город пользователя) по IP

Reading time8 min
Views120K
Зная местоположение человека, можно сделать тысячу полезных и не очень вещей: предложить правильный товар и заранее назвать цену доставки, показать ареал обитания покемонов, вывести локальные новости или посоветовать кафе неподалеку.

Местоположение — это важно.


Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments40

Обнаружены критичные уязвимости в протоколе WPA2 — Key Reinstallation Attacks (KRACK)

Reading time3 min
Views90K

 
Группа исследователей обнаружила серьезные недостатки в протоколе WPA2, обеспечивающем защиту всех современных Wi-Fi сетей. Злоумышленник, находящийся в зоне действия жертвы, может использовать эти недостатки, используя Key Reinstallation Attacks. Злоумышленники могут использовать этот новый метод атаки для чтения информации, которая ранее считалась зашифрованной.

UPD: пост обновлен частичными подробностями атаки и списком обновлений вендоров.
Total votes 92: ↑88 and ↓4+84
Comments151

Начинаем изучать STM32 или Управляем светом по-умному

Reading time8 min
Views238K

Небольшое вступление


Однажды, заехав в очередную съемную квартиру, я столкнулся с определенным неудобством, которое достаточно сильно напрягало: выключатель света в основной комнате оказался за шкафом-стенкой, который был прикручен к стене, и его перестановка была невозможна т.к. на это требовалось значительно много времени и сил. Решить данную проблему хотелось очень сильно и в голову пришла одна мысль: сделать дистанционный пульт для управления освещением!

Именно с идеи создания собственного пультика для управления светом в комнате и началось моё увлечение электроникой, микроконтроллерами и различными радиоустройствами.
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Comments203

Сага о Гольфстриме и уровне ИБ в крупной охранной фирме

Reading time10 min
Views39K

Данная публикация носит исключительно информационный характер и призвана обратить внимание руководства крупного российского оператора систем охранной сигнализации "ГОЛЬФСТРИМ Охранные Системы" (далее — ГОЛЬФСТРИМ) на наличие уязвимости информационной системы, ставящей под удар защиту и безопасность граждан, а также федеральных органов исполнительной власти, доверивших защиту своего имущества данной компании.

Читать дальше →
Total votes 125: ↑123 and ↓2+121
Comments50

Параллакс на чистом CSS

Reading time4 min
Views168K
В этой статье показывается, как с помощью CSS трансформаций и махинаций с 3d сделать параллакс-эффект на сайте на чистом CSS.

Параллакс почти всегда создаётся с помощью JavaScript и, чаще всего, получается ресурсоёмким, из-за вешания листенеров на событие скролла, модификации DOM напрямую и срабатывания ненужных перерисовок и перестановок. Всё это происходит асинхронно с потоком, в котором браузер рендерит страницу, из-за чего скролл начинает подтормаживать, а картинка рваться на части. Более правильные реализации параллакса отслеживают скролл и используют отложенные обновления DOM с помощью requestAnimationFrame. Получается качественной другой результат, но почему бы вообще не избавиться от JavaScript?
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments48

Карусель на Vanilla.JS

Reading time4 min
Views34K
Прочитав эту статью решил запилить свою карусель с блэк-джеком и jQuery хотя нет, без него ибо 2017 год и он не особо и нужен. Создадим функцию, которая принимает объект с параметрами, и делает слайдер. Некоторые моменты будут опущены, такие, как: вендорные префиксы, таймер смены и т.д.
Первое что мы сделаем — разметка для карусели, на классах, а не id, дабы можно было использовать несколько раз один и тот же модуль на странице, ну и специфичность не была 3-его порядка.
Total votes 37: ↑24 and ↓13+11
Comments18

Настройка резервного копирования информации в облако Microsoft Azure Backup

Reading time7 min
Views4.1K
Настоящая статья содержит инструкцию по настройке резервного копирования информации в облако Microsoft Azure Backup, зашифрованной при помощи КриптоПро EFS, и доступа к этой информации по USB-токенам и смарт-картам, например, JaCarta производства компании «Аладдин Р.Д.».
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments0

Information

Rating
Does not participate
Registered
Activity