All streams
Search
Write a publication
Pull to refresh
109
0
Александр Мышов @Myshov

Because it's there

Send message
У меня небольшой опыт работы с gitlab, поэтому я не могу точно ответить на этот вопрос.

По ощущениям gitlab сильно отличается от github, но тем не менее некоторые вещи очень похожи, например, возможности markdown разметки, исключение пробельных символов из diff'а. Горячие клавиши отличаются, но их список также доступен по «?».

В общем, можно экспериментировать, смотреть и предлагать реализовать новую функцию команде разработчиков gitlab. Вот тут, например, предлагается добавить получение permanent link также как в github'е.
Были времена, когда в дефолтной Ubuntu были exe-файлы (Tomboy, F-Spot).
Ага точно, чот перепутал немного :/
Пример выше для взлома шифров, зашифрованных методом подстановки, шифр Цезаря — это просто его разновидность.
Это шифр Цезаря:
Вид шифра подстановки, в котором каждый символ в открытом тексте заменяется символом, находящимся на некотором постоянном числе позиций левее или правее него в алфавите. Например, в шифре со сдвигом вправо на 3, А была бы заменена на Г, Б станет Д, и так далее.

Взламывается частотным анализом, который программируется довольно просто, вот мои эксперименты с ним https://github.com/myshov/programming_in_haskell/blob/master/lesson5/caesar_crack.hs
Продолжайте писать — тема интересная.
Вот хороший доклад в тему про представление любого JS-кода в виде ограниченного набора символов

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

Там же занимался базами данных и понимание сложности очень помогало при профилировании запросов к базе / переписывании меделенных sql-запросов.

Сейчас на текущей работе участвую в разработке WebGL-приложения. Не сказать, что каждый день используются какие-то хитрые алгоритмы, в основном математика, но буквально вчера коллега реализовал дельта-кодирование вершин, что позволило сэкономить объем передаваемых данных на 30%. Алгоритм простой, но не зная его не получилось бы экономии трафика.

Еще друг показывал тестовое задание, которое он решал — по сути это быстрый саггестер для заданного набора строк. Прямолинейное решение O(n) с использованием сбалансированного дерева O(log n).

В общем, мое капитанское мнение такое. Не зная алгоритмы можно кодить и кодить довольно хорошо. Но зная алгоритмическую базу, математику, открывается абсолютно новый класс задач, которые программист без профильных знаний решить, увы, не сможет.
Еще есть такая забавная штука :)

git commit -m '$(curl -s http://whatthecommit.com/index.txt)'

Osprey, которые питаются рыбой, иногда называют sea hawk.
Не хочу сказать, что Apple не помогает своим пользователями (Apple Support работает и работает хорошо). Но все-таки ответы от компании (пусть даже такие как у Microsoft) все же лучше, чем полное молчание.
Хочу поделиться своими наблюдениями относительно Apple.

У меня много разных устройств от Apple. Когда осенью у многих пользователей была проблема с зависанием устройства при доступе к какому-либо сервису, работающему c iCloud, был большой тред на их форуме discussions.apple.com, при этом представителей компании с объяснениями ситуации не было. Apple просто в итоге выпустила обновление с исправлением проблемы.

Сейчас еще есть похожая ситуация, с которой я столкнулся буквально вчера. При обновлении iOS до 9-ой версии на разных устройствах (iPhone'ы, iPad'ы) у многих людей стала отваливаться или просто медленно работать сеть (где-то читал, что они в этой версии что-то сильно переработали в сетевом стеке). В итоге на форуме у Apple опять есть треды (более 50 000 просмотров), где пользователи пытаются решить возникшую проблему, дают друг другу те или иные советы. Но при этом официальных сообщений от компании нет.
Один из авторов linq в одной из лекций по функциональному программированию говорил, что при создании linq они черпали вдохновление из haskell.
Выше ошибка, правильно так:
let n = 1;
n += 4;
В оригинале написано:
Functions that contain a compound let assignment
Functions that contain a compound const assignment

Скорее всего, имеется в виду составное присваивание переменной/константы после объявления с помощью let/const:

let n = 1;
n++;

Здесь вместо let можно написать const, переменная просто не обновится.
Это все операторы вида +=, -=, *=, /= etc. Compound assignment.
С модульностью все ок. Реализация модульности в es6 напоминает модульность в python (import… from '...') hacks.mozilla.org/2015/08/es6-in-depth-modules. Поддержка в браузерах на данный момент (январь 2016) на эксперементальном уровне, но можно использовать babel для транспиляции, в своих production проектах мы так и делаем.
В С++ подобное тоже можно делать, только там это называется не overriding, а hiding. В Java, насколько я знаю, нельзя менять сигнатуру.
Зайду издалека. Создателям больших фреймворков без физической предметной области, ничего не мешает использовать ООП для решения своих задач. ExtJS со своей коллекцией виджетов яркое этому подтверждение. Итого, у ExtJS предметная область UI, у меня — некие поздравляющие сущности.

Но все-таки искать какую-то серьезную идеалогоческую базу в этом игрушечном примере не надо (комментарий об этом есть в статье). Основная цель статьи заключалась в том, чтобы показать как одна и та же задача решается в ES5 и ES2015. То что пришлось лезть в дебри «composition vs. inheritance» объясняется тем, что мне показалось интересным сделать небольшой экскурс, чтобы назначение Object.assign() было более очевидным.
Я ведь писал в статье про то, что пример получился искусственный. Именно поэтому дал ссылку на видео Маттиаса.

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Works in
Date of birth
Registered
Activity