Search
Write a publication
Pull to refresh
0
@GenGoread⁠-⁠only

User

Send message

Как подойти к анализу сайта с точки зрения взломщика и выявить уязвимости?

Reading time6 min
Views25K
Пошаговая инструкция по выявлению недочетов в системе безопасности веб-приложений с помощью Detectify для поиска уязвимостей.

97% проверенных TrustWave приложений уязвимы перед тем или иным видом угрозы.

Читать дальше →

N причин, чтобы использовать Create React App

Reading time10 min
Views78K


Create React App — отличный инструмент для быстрого старта React-приложений. Вы не тратите время на настройку Webpack, Babel и других привычных инструментов. Они заранее настроены и спрятаны, так что разработчики могут сфокусироваться на коде и бизнес-логике приложения.
Читать дальше →

Продвинутое туннелирование: атакуем внутренние узлы корпоративной сети

Reading time20 min
Views65K

 
В этой статье будут рассмотрены сценарии атаки защищенных сегментов корпоративной сети с помощью pivoting-техник, metasploit framework и proxychains.
Читать дальше →

Windows 10 Creators Update: что нового в Bash/WSL и Windows Console

Reading time8 min
Views44K
Когда вышел Windows 10 Anniversary Update (AU), подсистема Windows Subsystem for Linux (WSL) была ещё далека от завершения и страдала от многих несовместимостей, особенно с популярными средствами разработки вроде node.js, Java и др.

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

И сообщество ответило!

Таким образом, этот новый релиз подсистемы Windows для Linux и консоли Bash создан вами и для вас!
Читать дальше →

Зачем использовать статические типы в JavaScript? (Преимущества и недостатки)

Reading time15 min
Views19K
Мы о многом рассказали в первой части. Теперь с синтаксисом покончено, давайте наконец перейдём к самому интересному: изучению преимуществ и недостатков использования статических типов.

Преимущество № 1: Вы можете заблаговременно находить баги и ошибки


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

Архитектура модульных React + Redux приложений

Reading time7 min
Views63K


Большинство разработчиков начинает знакомство с Redux с Todo List Project. Это приложение имеет следующую структуру:

actions/
  todos.js
components/
  todos/
    TodoItem.js
    ...
constants/
  actionTypes.js
reducers/
  todos.js
index.js
rootReducer.js

На первый взгляд такая организация кода кажется логичной, ведь она напоминает стандартные соглашения многих backend MVC-фреймворков:

app/
  controllers/
  models/
  views/

На самом деле, это неудачный выбор как для MVC, так и для React+Redux приложений по следующим причинам:

  1. С ростом приложения следить за взаимосвязью между компонентами, экшнами и редюсерами становится крайне сложно
  2. При изменении экшна или компонента с большой вероятностью потребуется внести изменения и в редюсер. Если количество файлов велико, скролить IDE вверх/вниз не удобно
  3. Такая структура потворствует копипасте в редюсерах

Не удивительно, что многие авторы(раз, два, три) советуют структурировать приложение по «функциональности» (by feature).
Читать дальше →

Эволюция на React+Redux

Reading time13 min
Views22K
КДПВ

Привет, Хабр, я тут написал онлайн версию замечательной настольной игры "Эволюция: Происхождение видов" и хотел бы поделиться своими заметками насчет архитектуры и технических моментов. Сразу уточню — я не пиарюсь, скорее, мне интересно рассказать про ошибки и фичи, а взамен услышать много нового и хорошего о своих решениях и коде.

Читать дальше →

Книга «Программируем на Python»

Reading time8 min
Views39K
image Привет, Хаброжители! Вы наверняка слышали о книге Майкла Доусона (Michael Dawson), в которой он учит языку программирования Python тем же самым путем, то есть через программирование несложных игр. Учиться, создавая свои собственные развлекательные программы.

Несмотря на развлекательный характер примеров, демонстрируется вполне серьезная техника программирования. Ниже приведен отрывок из главы «Объектно-ориентированное программирование. Игра «Блек-джек»»
Читать дальше →

Топ инструментов разработки для PostgreSQL

Reading time6 min
Views209K

Конференция PG Day Russia растет и масштабируется: этим летом мы готовим для вас доклады и тренинги по всем наиболее популярным базам данных, а также по администрированию и хранению данных. в рамках подготовки мы запустили корпоративный блог, где планируем делиться ценной информацией о происходящем в мире баз данных. Первый пост посвящен инструментам разработки для PostgreSQL, его автор varanio будет рад ответить на ваши вопросы и комментарии!


Я поспрашивал различных людей, имеющих отношение к PostgreSQL, что они используют в реальной жизни для разработки приложений, использующих PG.


Это, конечно, не строго математическая выборка, но тем не менее получился некоторый список инструментов на слуху, которые достойны того, чтобы их "пощупать", что я и собираюсь сделать в этой статье.


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


Итак, вот неформальный топ и субъективное описание.

Читать дальше →

Bash-скрипты, часть 3: параметры и ключи командной строки

Reading time10 min
Views590K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

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

image
Читать дальше →

10 способов как выделиться из толпы безликих аутсорсеров-конкурентов (с примерами)

Reading time5 min
Views17K

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


image alt text


Итак, возможные преимущества, которые можно выкатывать на сайте, чтобы цеплять потенциальных клиентов:

Читать дальше →

Введение в React и Redux для бекенд-разработчиков

Reading time9 min
Views59K


Если вы как я долгое время считали, что JavaScript – это такой «игрушечный» язык на котором пишут анимашки для менюшек и падающие снежинки на форумах под новый год, а потом очнулись в 2016 году с мыслями WTF: react, flux redux, webpack, babel,… не отчаивайтесь. Вы не одиноки. Материалов по современному фронтенду в сети много, даже слишком много. Под катом еще одно альтернативное мнение о том, каково это учить JavaScript в 2016 году.
Стань модным

Отслеживаем ресайзинг элемента без setTimeout и фреймов

Reading time3 min
Views18K
image
Наверно каждый WEB-разработчик когда-либо сталкивался с проблемой отслеживания события resize на странице. И если для window это сделать сможет любой новичок, то для остальных элементов эта задача принесет немало головной боли. Если вы относитесь к этой категории людей, то добро пожаловать под кат.
Читать дальше →

Организация компонентов в проекте

Reading time3 min
Views17K
Многие руководствуются рекомендациями Presentational and Container Components, но уважаемый автор признаётся в сносках, что концепция разделения спорная, и компоненты можно смешивать. А если это так, то зачем тащить чемодан без ручки? Все компоненты проекта удобнее хранить в одной общей папке. Какие плюсы:
  • Простота навигации по файловой системе.
  • Уникальные имена компонентов проекта.
  • Импорт без боли ('../../../../../..').


Когда проект вырастет, следует дробить его на приватные npm-пакеты, инкапсулируя реализацию. Но не выращивать дерево подпапок внутри папки компонентов — развивать и поддерживать такое ощутимо сложнее. Проверено.
Дальше больше

Как правильно написать ТЗ на систему или доработку системы 1С

Reading time4 min
Views36K
Для того, чтобы Вам как заказчику, консультанту или методологу понять, что нужно разработчику 1С для того, чтобы доработать Вашу систему или разработать новую, нужно понимать, какими категориями информации он оперирует в ходе своей работы. Это сильно упростит программисту понимание того, что же от него хотят.

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

Данные правила легко соблюдать даже при написании кратких пользовательских историй, если Вы создаете их в рамках проекта SCRUM / Agile.

Итак, приступим.
Читать дальше →

Обзор онлайн-курса по Arduino/робототехнике от МФТИ (вторая неделя)

Reading time5 min
Views13K

Мы продолжаем публикацию обзора онлайн-курса "Строим роботов и другие устройства на Arduino", начало здесь.


Итак, долго ли коротко, закончилась вторая неделя онлайн-курса робототехники от МФТИ. Признаться, неделя оказалась очень насыщенная всевозможными темами.


Вот примерный перечень, который я выделил для себя:


  • Делитель напряжения. Использование фоторезистора и термистора
  • Аналоговый сигнал. Разрядность сигнала
  • Обмен данными через последовательный порт. Среда Processing
  • Цифровой сигнал. Кнопки и варианты подключения. Подтягивающий резистор
  • Логические выражения, операторы if и else
  • Зуммер, светодиодная шкала, семисегментный индикатор
  • Микросхемы. Логический инвертор 74HC04, сдвиговый регистр 74HC595
  • Отладка программ
  • Внешние модули
  • Вариант готовой системы мониторинга, отображающей температуру и уровень освещенности на светодиодной шкале, а также динамиком, срабатывающим при превышении определенной температуры

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


Упрощаем универсальное/изоморфное приложение на React + Router + Redux + Express

Reading time8 min
Views19K

На Хабре уже было предостаточно статей про то, как делать универсальное (изоморфное) приложение на стеке React + Redux + Router + Koa/Express (Google в помощь), однако я заметил, что все они содержат повторяющийся код для серверного рендеринга. Я решил упростить задачу и выделить этот общий код в библиотеку, так и появился на свет Create React Server, работает примерно так:


import Express from "express";
import config from "./webpack.config";
import createRouter from "./src/createRouter";
import createStore from "./src/createStore";
import {createExpressServer} from "create-react-server";

createExpressServer({
  createRouter: (history) => (createRouter(history)),
  createStore: ({req, res}) => (createStore()),
  port: 3000
}));

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

Читать дальше →

Советы начинающему скалисту

Reading time13 min
Views29K

Часть 1. Функциональная


Эта статья (если быть до конца честным — набор заметок) посвящена ошибкам, которые совершают новички, ступая на путь Scala: не только джуниоры, но и умудренные опытом программисты с сединами в бороде. Многие из них до этого всегда работали лишь с императивными языками такими как C, C++ или Java, поэтому идиомы Scala оказываются для них непонятными и, более того, неочевидными. Поэтому я взял на себя смелость предостеречь новообращённых и рассказать им об их типичных ошибках — как совсем невинных, так и тех, что в мире Scala караются смертью.

Читать дальше →

История о том, как я парсер для дневника мастерил

Reading time3 min
Views17K

Год назад я начал писать ботов для всеми любимого Телеграма. На Питоне, конечно. И вот недавно мой сын пошёл в школу, где, как оказалось, был электронный дневник под названием МРКО. Как вы могли догадаться, самая первая мысль — сделать бота (пока для личного пользования), который смог бы присылать в Телеграм оценки, домашнее задание и комментарии. Кому интересно — прошу под кат.


Читать дальше →

Эврика! Моменты озарения при изучении React

Reading time5 min
Views21K
Светлана Шаповалова, редактор «Нетологии», перевела статью Тайлера МакГинниса, в которой он перечислил основные моменты озарения, которые возникают при изучении React.

image

Одна из моих главных преподавательских задач — сделать так, чтобы у людей чаще случались моменты озарения. «Эврика!» — это момент внезапного прояснения, когда ранее непонятные факты вдруг обретают смысл. Такое случалось с каждым. Я знаком со многими преподавателями и лучшие из них умеют так преподносить урок, чтобы озарение у учеников возникало намного чаще.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity