Tcl для Cisco IOS в простых примерах

Автор: admin от 9-06-2019, 22:15, посмотрело: 28

Представим, что вам нужно развернуть «с нуля» десяток однотипных access-коммутаторов Cisco. Типовая конфигурация включает имя хоста и домена, шлюз по-умолчанию, пароли, список пользователей, IP-адреса для SVI, номера VLAN'ов, настройки транков аплинков и т.д. Вводить это каждый раз руками очень долго и непроизводительно. Разумеется, можно создать типовой конфиг и заливать его по (T)FTP, но, во-первых, это потребует хотя бы минимальной настройки из консоли, во-вторых, изменяемые параметры конфигурации всё равно придётся менять. Для решения подобных (а также многих других) задач Cisco IOS содержит мощное средство автоматизации — встроенный интерпретатор языка Tcl (Cisco IOS scripting w/ Tcl).

Категория: iOS

 

Беты Apple живьем: мелочи, о которых не рассказали на презентации

Автор: admin от 9-06-2019, 21:30, посмотрело: 29

Официально новые версии операционных систем Apple появятся только через несколько месяцев, но бета-версии можно «пощупать» уже сейчас. Для этого нужен аккаунт разработчика, компьютер с iTunes, Xcode 11 beta и файлы прошивок: iOS 13, iPad OS 13, TV OS 13, Watch OS 6 и MacOS 10.15.1 Catalina. Найти их можно на developers.apple.com в разделе Developer Downloads.



Беты Apple живьем: мелочи, о которых не рассказали на презентации


На основном докладе WWDC, конечно, рассказали о самых важных новых фишках, но живьем посмотреть на то, как реализованы новые функции — это совсем не то, что на слайдах. И потом, Тим Кук и его команда за два часа не успели упомянуть о нескольких интересных мелочах.

Категория: Apple, iOS

 

Основы шаблонов С++: шаблоны функций

Автор: admin от 9-06-2019, 20:55, посмотрело: 36

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


Основы шаблонов С++: шаблоны функций


Невозможно разбираться в современном С++, не зная, что такое шаблоны программирования. Данное свойство языка открывает широкие возможности оптимизации и повторного использования кода. В данной статье попробуем разобраться, что это такое и как это всё работает.



Механизм шаблонов в языке С++ позволяет решать проблему унификации алгоритма для различных типов: нет необходимости писать различные функции для целочисленных, действительных или пользовательских типов – достаточно составить обобщенный алгоритм, не зависящий от типа данных, основывающийся только на общих свойствах. Например, алгоритм сортировки может работать как с целыми числами, так и с объектами типа «автомобиль».

Категория: iOS

 

Создание IPSec GRE туннеля между Mikrotik hEX S и Juniper SRX через USB Модем

Автор: admin от 9-06-2019, 20:55, посмотрело: 32

Цель



Необходимо организовать VPN Tunnel между двумя устройствами, таких как Mikrotik и Juniper линейки SRX.



Что имеем



Из микротиков выбрали на сайте микротика вики, модель которая сможет поддерживать аппаратное шифрование IPSec, на наш взгляд она оказалась достаточно компактная и недорогая, а именно Mikrotik hEXS.



USB Modem был куплен в ближайшем сотовом операторе, модель была Huawei E3370. Никакие операции по отвязки от оператора мы не проводили. Все штатное и прошито самим оператором.



В ядре установлен центральный маршрутизатор Juniper SRX240H.

Категория: iOS

 

Декомпозируя UICollectionViewCell

Автор: admin от 9-06-2019, 20:55, посмотрело: 41

После просмотра Keynote WWDC 2019 и знакомства с SwiftUI, предназначенного для декларативного описания UI в коде, хочется порассуждать о том, как можно декларативно наполнять таблички и коллекции. Например, вот так:



enum Builder {

    static func widgets(objects: Objects)  [Widget] {
        let header = [
            Spacing(height: 25).widget,
            Header(string: "Выберите страну").widget,
            Spacing(height: 10, separator: .bottom).widget
        ]
        let body = objects
            .flatMap({ (object: Object)  [Widgets] in
                return [
                    Title(object: object).widget,
                    Spacing(height: 1, separator: .bottom).widget
                ]
            })
        return header + body
    }
}

let objects: [Object] = ...
Builder
    .widgets(objects: objects)
    .bind(to: collectionView)


В коллекции это отрисуется следующим образом:

Категория: iOS

 

Как маленькая программа превратила маленькую контору в федеральную компанию с прибылью 100+ млн.руб/месяц

Автор: admin от 9-06-2019, 17:40, посмотрело: 49

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




  • Разработать программный комплекс для call центра с мобильным приложением для водителей такси и автоматизировать внутренние бизнес-процессы.

  • Сделать все надо было в максимально сжатые сроки.

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



На тот момент я не понимал, как устроен этот рынок и его нюансы, но тем не менее очевидными для меня были две вещи. Call центр необходимо строить на базе программной АТС asterisk с открытым исходных кодом. Обмен информацией между call центром и мобильным приложением по сути является клиент-серверным решением со всеми соответствующими паттернами проектирования архитектуры будущего проекта и его программирования.



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

Категория: Веб-разработка

 

Введение в свёрточные нейронные сети (Convolutional Neural Networks)

Автор: admin от 9-06-2019, 14:00, посмотрело: 55

Полный курс на русском языке можно найти по этой ссылке.



Оригинальный курс на английском доступен по этой ссылке.



Введение в свёрточные нейронные сети (Convolutional Neural Networks)
Выход новых лекций запланирован каждые 2-3 дня.

Категория: Программирование