» Материалы за 13.02.2018 » Страница 4

 

Приватность: рождение и смерть. 3000 лет истории приватности в картинках

Автор: admin от 13-02-2018, 08:35, посмотрело: 38

Приватность: рождение и смерть. 3000 лет истории приватности в картинках


В эпоху ИТ и быстрого развития технологий понятие «приватности» превратилось в фикцию. Глобальные информационные сети и множество сервисов незаметно собирают о пользователях терабайты данных, да и сами пользователи постоянно выкладывают свою жизнь на всеобщее обозрение в соцсетях. Но всё же многие из нас считают свои компьютеры, смартфоны и поведение в сети «приватными», или хотя бы стремятся к этому. А как вообще появилось понятие «приватности» в человеческой культуре?

Категория: Операционные системы » Linux

 

Мышление в стиле Ramda: первые шаги

Автор: admin от 13-02-2018, 08:35, посмотрело: 34

Недавно я познакомился с замечательной серией статей "Thinking in Ramda", которые проясняют на простых и ясных примерах способы написания кода в функциональном стиле с использованием библиотеки Ramda. Эти статьи показались мне настолько прекрасными, что я не смог удержаться от того, чтобы не перевести их на русский язык. Надеюсь, что в этом будет польза для многих людей :) Давайте начнём перевод с первой вступительной статьи.



1. Первые шаги

2. Сочетаем функции

3. Частичное применение (каррирование)

4. Декларативное программирование

5. Бесточечная нотация

6. Неизменяемость и объекты

7. Неизменяемость и массивы

8. Линзы

9. Заключение



Данный пост — это начало серии статей «Мышление в стиле Ramda» о функциональном программировании.



Я буду использовать библиотеку Ramda в этих статьях, хотя многие из обсуждаемых идей применимы также к множеству других библиотек, таких как Underscore и Lodash, а также к другим языкам программирования.



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

Категория: Операционные системы » Linux

 

Заметки о развертывании Ruby on Rails Deployment в Google Cloud Kubernetes Engine

Автор: admin от 13-02-2018, 08:35, посмотрело: 23

Я использую Google Cloud с Kubernetes Engine в течение 2 месяцев. На самом деле мне не понадобилось и месяца, чтобы уложить все в голове, но потребовалось еще столько же, чтобы разобраться с некоторыми неприятностями.



TL;DR: Google делает довольно хорошую работу, поэтому AWS не расслабляется. Если вы хорошо знаете AWS, я бы посоветовал протестировать Google Cloud. Возможно, из-за мышечной памяти мне было бы комфортнее с AWS, но я изучил Google Cloud и Kubernetes и уверен в них для большинства моих сценариев.



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



Цель статьи – сохранить некоторые фрагменты и мысли для дальнейшего использования. Поэтому имейте в виду, что это не пошаговое руководство. Сперва я намеревался написать руководство, но потом понял, что это почти как написать целую книгу, так что не в этот раз.

Категория: Программирование, Веб-разработка, Google, Linux

 

Знакомство с ConcourseCI

Автор: admin от 13-02-2018, 07:35, посмотрело: 17

Знакомство с ConcourseCI



Всем привет! Я заметил, что на Хабре очень мало информации про такой сервер сборки, как ConcourseCI. Я решил восполнить этот пробел и написать небольшое введение. Под катом описание этого инструмента и небольшой туториал.

Категория: Компании » Google

 

Задействовать для простых тестов наследование, полиморфизм и шаблоны? Почему бы и нет…

Автор: admin от 13-02-2018, 07:35, посмотрело: 20

Язык C++ сложен. Но его сложность проистекает из сложности задач, которые решаются с помощью C++. Каждая фича, которая была добавлена в C++, была добавлена не просто так, а для того, чтобы дать возможность справиться к какой-то проблемой. Ну а уж сочетание существующих в C++ фич делает язык чрезвычайно мощным инструментов. Конкретному примеру того, как это происходит на практике, и посвящена данная статья.



Добавлю еще, что одним из мощных стимулов к написанию данной статьи стало то, что очень часто на глаза попадаются объемные флеймыобсуждения на тему «ООП не нужно» и, особенно, «шаблоны-дженерики на практике почти никогда не нужны». Мне, как далеко не молодому программисту, начинавшему в 1990-ом как раз с инструментов, в которых не было ни ООП, ни шаблонов-дженериков, странно сталкиваться с подобными точками зрения. Но, чем дальше, тем чаще с ними сталкиваешься. Особенно со стороны приверженцев новых языков программирования, вроде Go или Rust-а.



Сложно сказать, чем это вызвано. Может быть людей перекормили ООП (а это так и было)… Может быть задачи за несколько минувших десятилетий сильно поменялись (а это так и есть)… Может быть и просто «вот и выросло поколение»… Как бы то ни было, можно попробовать на примере из реальной жизни показать, что все не так однозначно ©.



Итак, о чем пойдет речь?

Категория: Компании » Google

 

Верстка сборника тезисов конференции в LaTeX

Автор: admin от 13-02-2018, 07:35, посмотрело: 24

В конце прошлого года в Ракетно-Космической Корпорации "Энергия" прошла конференция молодых ученых и специалистов. Автор этой статьи входил в состав секретариата, в частности выполнял функцию верстки сборника тезисов. Описание возникших проблем и путей их решения под катом.

Категория: Компании » Google

 

Автоматическое переключение маршрута в Juniper SRX

Автор: admin от 13-02-2018, 07:35, посмотрело: 24

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



Автоматическое переключение маршрута в Juniper SRX

Категория: Компании » Google

 

Функция random() у гуглобота работает абсолютно детерминированно

Автор: admin от 13-02-2018, 07:35, посмотрело: 21

Я проводил некоторые эксперименты, как Googlebot разбирает и рендерит javascript, и наткнулся на несколько интересных вещей. Первое — то, что функция codev_0. Скрипт по ссылке выше просто использует эту информацию для идентификации бота Google, хотя немножко обфусцирует свои действия, чтобы они не выглядели слишком произвольными.

Категория: Компании » Google

 

Что думаете по поводу англоязычной версии Хабра?

Автор: admin от 13-02-2018, 07:20, посмотрело: 23

Мотивация



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



Чтобы добиться примерно похожего с Хабром результата, можно написать статью на Medium и опубликовать ссылку на Hacker News.



Но на Medium помимо разработки публикуется все что угодно и поэтому аудитория там самая разная, нет возможности вещать только на разработчиков, как в случае с Хабром, а прочтет статью только тот, кто скорее всего будет искать ее в поисковике. Минусы можно перечислять дальше.



Hacker News же (в общем как и Medium) больше похож на форум обо всем, чем на серьезный ресурс, где можно обсудить публикацию, которая будет актуальна в течении многих лет после выхода статьи.



Тема поиска аналога Хабра на английском поднималась несколько раз (вот тут, тут, тут и тут) и я думаю есть еще много разных вариантов, но нет, на мой взгляд, стандарта, которым считается Хабр в русскоязычном сегменте.



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

Категория: Программирование » Веб-разработка

 

Самый быстрый Индиан: Key/Value контейнер на базе Trie

Автор: admin от 13-02-2018, 07:20, посмотрело: 17

Самый быстрый Индиан: Key/Value контейнер на базе Trie


«Может показаться, что я ничего не делаю. Но на самом деле, на клеточном уровне, я очень занят»

Автор неизвестен


В 21 веке построение программ все чаще напоминает конструктор Lego. Этот подход подразумевает, что многие «кубики» придуманы до нас. Собственно их элементарность обманчиво подсказывает, что ресурс улучшений за многие годы здесь практически исчерпан и нам остается использовать то, что есть. Но, как не странно, по аналогии с биологией, элементарные «клетки» порой скрывают самые сложные и продуманные алгоритмы и именно здесь заключены все самые интересные баталии. В этом смысле программисты по многогранности индустрии, чем-то напоминают медиков. Здесь есть свои терапевты, ветеринары, хирурги и есть вот те ребята, которые на несколько строк кода могут потратить несколько месяцев работы.



«В компании Google, прямо сейчас, пока я говорю, в нашем парке серверов, 1% всех CPU занимаются вычислениями внутри хештаблиц. Пока я говорю, более 8% всей оперативной памяти серверов занимают хештаблицы. И это только то, что относится к С++, я не знаю ситуации по Java»

Matt Kulukundis, CppCon 2017

Категория: Программирование » Веб-разработка