Привет! Наш коллега, Скотт Хансельман, считает, что в рамках изучения языка программирования важно не только кодить и практиковаться в написании, но и изучать чужой код. «Читайте чужой код» говорит Скотт и приводит полезные материалы, которые он нашел в наработках своего коллеги. Подробнее под катом!
Рубрика «Программирование» - 415
Изучаем синтаксические парсеры для русского языка
2018-08-09 в 6:00, admin, рубрики: dependency parsing, nlp, UDPipe, Блог компании Сбербанк, Компьютерная лингвистика, машинное обучение, парсеры, Программирование, синтаксисПривет! Меня зовут Денис Кирьянов, я работаю в Сбербанке и занимаюсь проблемами обработки естественного языка (NLP). Однажды нам понадобилось выбрать синтаксический парсер для работы с русским языком. Для этого мы углубились в дебри морфологии и токенизации, протестировали разные варианты и оценили их применение. Делимся опытом в этом посте.
Как работает Graal — JIT-компилятор JVM на Java
2018-08-08 в 12:56, admin, рубрики: graal, java, jit, jvm, truffle, Компиляторы, ПрограммированиеПривет! Представляю вашему вниманию перевод статьи "Understanding How Graal Works — a Java JIT Compiler Written in Java".
Введение
Одной из причин по которой я стал исследователем языков программирования является то, что, в большом сообществе людей связанных с компьютерными технологиями, почти все используют языки программирования, и многие интересуются тем как они работают. Когда я впервые столкнулся с программированием, будучи ребенком, и познакомился с языком программирования, первым, о чем я хотел узнать, было то как это работает, и самым первым, что мне хотелось сделать, было создание собственного языка.
В этом выступлении я покажу некоторые механизмы работы используемого всеми вами языка — Java. Особенностью является то, что я буду использовать проект под названием Graal, который реализует концепцию Java на Java.
Первый опыт в съемках IT ситкома: вторая и третья серия от Cloud4Y
2018-08-07 в 16:11, admin, рубрики: высокая производительность, информационная безопасность, информационные технологии, облачные технологии, Программирование, сериалы онлайн, сисадмин, системное программирование, хранение данных, юморВторая и третья серия мини-ситкома про борьбу админа, ИТ-руководителя, генерального директора на полях сражений с мировыми катаклизмами, проверяющими органами, раздолбайством и собственным самолюбием. Просим не судить строго, это наш первый опыт в производстве подобного контента.
Открытый вебинар «Асинхронное программирование в Python»
2018-08-07 в 14:16, admin, рубрики: python, асинхронное программирование, асинхронность, Блог компании Отус, ПрограммированиеВсем привет!
Андрей Кравчук, преподаватель курса «Разработчик Python», провёл на прошлой неделе открытый урок на тему «Асинхронное программирование в Python», где, собственно, разбирались с организацией асинхронной обработки данных под высоконагруженные системы.
Как всегда ждём комментарии и вопросы здесь или можно зайти с ними к нам на день открытых дверейЧитать полностью »
Программирование мышкой: как мы убегаем от рутины с CRM
2018-08-07 в 13:49, admin, рубрики: CRM, CRM-системы, dynamics, usability, Блог компании Промсвязьбанк, интерфейсы, ПрограммированиеЧто такое программирование мышкой? Это принцип создания пользовательского интерфейса, который позволяет уйти от написания кода. Многие критикуют данный подход: дескать, программирование мышкой недостойно настоящего разработчика, все должно быть в коде. Но ведь раньше даже чтобы нарисовать круг, нужно было знание основ синтаксиса того же Basic. Сейчас любой пользователь может нарисовать любую фигуру в любом простейшем графическом редакторе, и это даже не назовут программированием, поскольку операция слишком проста. Это и есть развитие пользовательского интерфейса, позволяющего облегчить взаимодействие с компьютером. В этом материале я поделюсь нашим опытом максимизации принципов «программирования мышкой» в CRM Dynamics.
От API first на Swagger до Single contract на RAML
2018-08-07 в 12:15, admin, рубрики: api, open source, openapi, RAML 1.0, swagger, Анализ и проектирование систем, идея проекта, Программирование, проектирование, Разработка веб-сайтов
Привет, %username%!
Ты наверняка знаешь, что такое API интерфейсы и то, как много от них зависит в твоем проекте. Более того, я так же полагаю, что ты уже знаком с тем, что такое API first подход и знаешь, что Swagger и его Open API являются одними из самых популярных инструментов, помогающих ему следовать.
Но в этой статье я хочу рассказать про подход к реализации API first, концептуально отличающийся от того, что предлагает Swagger и Apiary. Во главе идеи стоит понятие Single contract и возможность его реализации на базе RAML 1.0.
Под катом:
- Краткое описание принципов API first;
- Single contract – ввод понятия, предпосылки к появлению, рассмотрение возможности его реализации на базе OAS (Swagger);
- RAML + annotations + overlays как база для Single contract, примеры;
- Проблемы RAML, концептуальные разногласия разработчиков;
- Идея SaaS сервиса на базе вышеизложенной идеи (картинка прототипа сверху).
typeof(T) vs. TypeOf⟨T⟩
2018-08-07 в 9:35, admin, рубрики: .net, C#, Программирование, Промышленное программированиеИногда рефлексивные вызовы дороги в терминах производительности и не могут быть опущены.
В этой статье представлены паттерны, позволяющие существенно повысить производительность множественных рефлексивных вызовов посредством техники виртуализации (кэширования) результатов.

Решение цветных японских кроссвордов со скоростью света
2018-08-06 в 22:07, admin, рубрики: Алгоритмы, головоломка, логические задачи, ПрограммированиеЯпонские кроссворды (также нонограммы) — логические головоломки, в которых зашифровано пиксельное изображение. Разгадывать кроссворд нужно с помощью чисел, расположенных слева от строк и сверху от столбцов.
Размер кроссвордов может доходить до 150x150. Игрок с помощью специальных логических приемов вычисляет цвет каждой клетки. Решение может занять как пару минут на кроссвордах для начинающих, так и десятки часов на сложных головоломках.
Хороший алгоритм может решить задачу намного быстрее. В тексте описано, как с помощью наиболее подходящих алгоритмов (которые вообще приводят к решению), а также их оптимизаций и использования особенностей C++ (которые уменьшают время работы в несколько десятков раз) написать решение, работающее почти мгновенно.

Курс MIT «Безопасность компьютерных систем». Лекция 6: «Возможности», часть 2
2018-08-06 в 17:00, admin, рубрики: Capsicum, Анализ и проектирование систем, Блог компании ua-hosting.company, Возможности приложений, информационная безопасность, проблема предоставления полномочий, ПрограммированиеМассачусетский Технологический институт. Курс лекций #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Читать полностью »



