Как стать автором
Обновить
4
0
Алексей @skazi_premiere

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

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

Pritunl — VPN-сервер для себя и друзей за 10 минут

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


В связи с последними событиями в России хочу рассказать вам о классном self-hosted VPN-сервере. После простой установки, без особого труда и углубленных знаний вы сможете создавать пользователей, генерировать VPN-профили и смотреть графики использования сети.


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


В результате чего пятидоллоравая VPS'ка может превратится в мощный инструмент обхода блокировок

Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии95

ООП с примерами (часть 2)

Время на прочтение5 мин
Количество просмотров676K
Волею судьбы мне приходится читать спецкурс по паттернам проектирования в вузе. Спецкурс обязательный, поэтому, студенты попадают ко мне самые разные. Конечно, есть среди них и практикующие программисты. Но, к сожалению, большинство испытывают затруднения даже с пониманием основных терминов ООП.

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

Первая часть посвящена классам, объектам и интерфейсам.
Вторая часть, представленная ниже, иллюстрирует инкапсуляцию, полиморфизм и наследование

Читать дальше →
Всего голосов 50: ↑37 и ↓13+24
Комментарии37

ООП с примерами (часть 1)

Время на прочтение4 мин
Количество просмотров605K
Волею судьбы мне приходится читать спецкурс по паттернам проектирования в вузе. Спецкурс обязательный, поэтому, студенты попадают ко мне самые разные. Конечно, есть среди них и практикующие программисты. Но, к сожалению, большинство испытывают затруднения даже с пониманием основных терминов ООП.

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

Первая часть, представленная ниже, посвящена классам, объектам и интерфейсам.
Вторая часть иллюстрирует инкапсуляцию, полиморфизм и наследование

Читать дальше →
Всего голосов 85: ↑64 и ↓21+43
Комментарии67

Пишем SOAP клиент-серверное приложение на PHP

Время на прочтение29 мин
Количество просмотров233K
Всем привет!
Так случилось, что в последнее время я стал заниматься разработкой веб-сервисов. Но сегодня топик не обо мне, а о том, как нам написать свой XML Web Service основанный на протоколе SOAP 1.2.

Я надеюсь, что после прочтения топика вы сможете самостоятельно:
  • написать свою собственную серверную реализацию веб-приложения;
  • написать свою собственную клиентскую реализацию веб-приложения;
  • написать свое собственное описание веб-сервиса (WSDL);
  • отправлять клиентом массивы однотипных данных на сервер.

Как вы могли догадаться, вся магия будет твориться с использованием PHP и встроенных классов SoapClient и SoapServer. В качестве кролика у нас будет выступать сервис по отправке sms-сообщений.
Интересно?
Всего голосов 48: ↑38 и ↓10+28
Комментарии26

Учебный курс по React, часть 3: файлы компонентов, структура проектов

Время на прочтение6 мин
Количество просмотров30K
В этом материале мы поговорим о файлах компонентов и о структуре React-проектов.

image

Часть 1: обзор курса, причины популярности React, ReactDOM и JSX
Часть 2: функциональные компоненты
Часть 3: файлы компонентов, структура проектов
Часть 4: родительские и дочерние компоненты
Часть 5: начало работы над TODO-приложением, основы стилизации
Часть 6: о некоторых особенностях курса, JSX и JavaScript
Часть 7: встроенные стили
Часть 8: продолжение работы над TODO-приложением, знакомство со свойствами компонентов
Часть 9: свойства компонентов
Часть 10: практикум по работе со свойствами компонентов и стилизации
Часть 11: динамическое формирование разметки и метод массивов map
Часть 12: практикум, третий этап работы над TODO-приложением
Часть 13: компоненты, основанные на классах
Часть 14: практикум по компонентам, основанным на классах, состояние компонентов
Часть 15: практикумы по работе с состоянием компонентов
Часть 16: четвёртый этап работы над TODO-приложением, обработка событий
Часть 17: пятый этап работы над TODO-приложением, модификация состояния компонентов
Часть 18: шестой этап работы над TODO-приложением
Часть 19: методы жизненного цикла компонентов
Часть 20: первое занятие по условному рендерингу
Часть 21: второе занятие и практикум по условному рендерингу
Часть 22: седьмой этап работы над TODO-приложением, загрузка данных из внешних источников
Часть 23: первое занятие по работе с формами
Часть 24: второе занятие по работе с формами
Часть 25: практикум по работе с формами
Часть 26: архитектура приложений, паттерн Container/Component
Часть 27: курсовой проект
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии0

Нейронные сети для начинающих. Часть 1

Время на прочтение7 мин
Количество просмотров1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии64

Нейронные сети для начинающих. Часть 2

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


Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии35

Мега-Учебник Flask Глава 1: Привет, мир! ( издание 2018 )

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

blog.miguelgrinberg.com


Miguel Grinberg




>>> следующая глава >>>


Эта статья является переводом нового издания учебника Мигеля Гринберга. Прежний перевод давно утратил свою актуальность.


Автор планирует завершить его выпуск в мае 2018. Я, со своей стороны, постараюсь не отставать с переводом.

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

Переход с AngularJS на Angular: жизнь после AngularJS (3/3)

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


В заключительной части истории про миграцию на Angular мы поделимся избранными местами нашей внутренней документации, помогающими нашим разработчикам освоиться в новом фреймворке. Речь пойдет про особенности новых логики компиляции компонентов, Change Detection и концепции трансклуда. Это актуальные конвенции, использующиеся прямо сейчас при работе с Angular. Ну и в конце — несколько ссылок на англоязычные статьи и видео, которые мы рекомендуем коллегам.

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

Переход с AngularJS на Angular: проблемы и решения гибридного режима (2/3)

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


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

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

Переход с AngularJS на Angular: цели, планы и правила переноса элементов (1/3)

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


В январе мы в Skyeng закончили перевод нашей платформы Vimbox с AngularJS на Angular 4. За время подготовки и перехода у нас накопилось много записей, посвященных планированию, решению возникающих проблем и новым конвенциям работы, и мы решили поделиться ими в трех статьях на Хабре. Надеемся, что наши заметки окажутся полезными структурно похожим на наш Vimbox проектам, которые только начали переезжать или собираются сделать это.

Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии5

Динамическое отображение логов в броузере на Node.js & WebSocket

Время на прочтение3 мин
Количество просмотров4.3K
Динамическое отображение логов в броузере на Node.js & WebSocket

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

Инструменты и модули для решения

Для серверной части был выбран Node.js. Но похожий пример можно аналогично реализовать и с использованием EM на руби. В данном случае подкупила библиотека Socket.IO, а также несколько простых модулей для работы с файлами.

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

Продвинутый чат на Node.JS

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

Итак, сразу ссылка на демо для нетерпеливых.
(Сервер уже уложили)

Особенности


  • Сохранение сообщений в БД
  • Авторизация
  • Команды чата
  • Соединение с сервером по WebSocket

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

CSS Grid — швейцарский армейский нож для макетов сайтов и приложений

Время на прочтение9 мин
Количество просмотров52K
В течение последних двух месяцев я углубился в изучение CSS Grid. В этой заметке я хочу поделиться своими основными соображениями. Чтобы было более понятно, я объясню все с помощью диаграмм.

Вероятно, вы уже знакомы с блоковой моделью CSS для обычных элементов. Давайте начнем с аналогичного «общего обзора» для CSS Grid:


В основе структуры CSS Grid находится основной контейнер, представляющий собой обычный div, имеющий margin, border и padding. Для создания CSS grid контейнера добавим свойство display: grid. Элементы сетки — это потомки, размещенные внутри родительского контейнера. Они обычно определяются как список, описывающий header, sidebar, footer или другие аналогичные элементы макета сайта, зависящие от его дизайна.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии21

RxSwift часть 1

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

ReactiveX logo


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

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

Обработка ошибок в Node.js

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


Пост содержит перевод статьи «Error Handling in Node.js», которую подготовили сотрудники компании Joyent. Статья была опубликована 28 марта 2014 года на сайте компании. Dave Pacheco поясняет, что статья призвана устранить неурядицу среди разработчиков, касаемо лучших практик работы с ошибками в Node.js, а так же ответить на вопросы, которые часто возникают у начинающих разработчиков.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии11

Система разделения прав доступа в веб-приложении

Время на прочтение14 мин
Количество просмотров69K
В этой статье мы пройдём с вами полный цикл от идеи, проектирования БД, написания PHP-Кода, и завершающей оптимизации. Постараюсь рассказать обо всем, как можно проще. Использовать для примеров буду PHP и Mysql. Заодно потренирую новичков :).

В этой статье я коснусь вопросов:
  1. Идея ACL
  2. Проектирование БД
  3. Нормализация БД
  4. Рефакторинг кода
  5. Оптимизация рабочего кода

Статья является ответом на Бинарное распределение прав доступа в CMS. Пока автором пишется практическая часть, я хочу предоставить мой вариант, который я использую довольно давно.
То, что я сейчас расскажу, похоже на ACL.

Читать дальше →
Всего голосов 94: ↑71 и ↓23+48
Комментарии103

Настройка UEFI-загрузчика. Самое краткое руководство в мире

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

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?


Я обещал "самое краткое руководство". Вот оно:


  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Читать дальше →
Всего голосов 52: ↑46 и ↓6+40
Комментарии99

TestLink — боль и слёзы тестировщика или панацея? Опыт внедрения

Время на прочтение5 мин
Количество просмотров117K
Как и во многих других стартапах в наших проектах, в первый год существования родились горы кода, которые хоть и были неплохо покрыты unit-тестами, но всё же оставались практически не охвачены с точки зрения функционального тестирования. В первое время мы обходились небольшим чек-листом. Проблем не возникало, пока на проекте было несколько тестировщиков, хорошо знающих все тонкости проекта. Но, как это всегда бывает, если один человек из небольшой команды уходит, то необходимо найти ему адекватную замену. И вот тут возникли большие трудности.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии18

Установка OTRS и интеграция с Active Directory

Время на прочтение4 мин
Количество просмотров116K
Сейчас на Хабре мало обзоров helpdesk-систем, правда, имеется сравнительный обзор SaaS-helpdesk (с хорошей ссылкой в комментарии от dude1phoenix), обзор OTMS-helpdesk и Request Tracker (как и OTRS написан на Perl).
Предлагаю вам поближе познакомиться с системой поддержки клиентов OTRS, с ее установкой на Debian и интеграцией с Active Directory предприятия.
Читать дальше
Всего голосов 30: ↑26 и ↓4+22
Комментарии22
1
23 ...

Информация

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