All streams
Search
Write a publication
Pull to refresh
4
1

Backend-разработчик, умею готовить хайлод.

Send message

Я IRL: прохожу долгий отбор в команду, онбординг. Несмотря на владение общепринятыми технологиями и годы практики мне всё равно требуется обучение в компании. И где-то через полгода работы начинаю что-то самостоятельно уметь делать в проекте строго в своей области веба, чтобы достичь понятных и детерминированных KPI.

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

Блин, они отстают в понимании картины мира лет на 30-40. о-фи-геть.

в иске отсутствуют доказательства причинения ущерба

То есть если я начну продавать оупенсорс код, нарушая лицензию, я могу сказать, что автор всё равно на нём не зарабатывал, а потому ущерба нет?

Интересную позицию их юристы выбрали, однако. Пойду продавать MS .Net Core, он же в оупенсорс выложен.

Сам не настоящий сетевик, но стоял рядом с настоящим.

От него слышал, что проблема недоступности ubuntu.com по ipv6 - это проблема того, что гигантские AS до сих пор не могут договориться друг с другом о тарификации обмена трафиком, и фактически ipv6 интернет порван во многих местах. И через атлантику он порван прямо капитально.

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

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

pollution - поллю... а не, загрязнение.

ассоциативные связи

Как по мне, этот подход придумали враги и злодеи какие-то. Да, он формально хакает kpi на число слов, которые можно вспомнить при прохождении теста. Но он не решает проблему при изучении языков - понимания слова без подключения мыслительного процесса. (какие ассоциации сейчас подключал русскоязычный читатель, чтобы вспомнить, что означает слово процесс? да никаких, в этом и цель)

Слово должно изыматься даже не из оперативной памяти, а из какого-то "аппаратного" сопроцессора, чтобы мы успевали распознавать текст со скоростью большей, чем он подаётся. И чтоб ещё оставались мысленные ресурсы на обдумывание сказанного. А ассоциации ломают всё: мы вынуждены сначала вспомнить, какой ассоциативный механизм и каким образом нас приводил к какому-то выводу, а потом валидировать вывод.

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

Можно выиграть, если в полный размен идти

Не такой размен тронами я люблю смотреть, совсем не такой.

Кстати, прокол: выезд айтишника за границу пока не является уголовным преступлением.

неспособен четко и внятно описать основные этапы подключения к серверу по HTTP протоколу.

Извините, не могли бы Вы привести пример задачи, в которой необходимы эти знания?

Признаться, я много работаю с хайлод бекендами, но не могу дать ответа на этот вопрос. Хочется про syn/ack рассказать, но это мало относится к http. Что именно ожидается в ответе и зачем?

на другой эмеил, который не был привязан к моей текущей учётке? так это тогда совсем другая учётка.

Насчет ввода данных кредиток, сильно бесит, когда выбор месяца в "expiry date" - не две цифры, как в кредитке, а...

...а 4. Привет Apple.
В их "billing form" хоть и есть плейсхолдер-подсказка еле заметным серым цветом на белом фоне, что надо вводить MM/YYYY, но всё равно, когда ты разогнался вводить много цифр с карты, вводишь дату как на карте: 06/29 (плейсхолдера уже к этому моменту нет), а эппл пишет: срок действия карты истёк.

думаешь: WTF?
оказывается, нужно вводить 06/2029, ибо великие UX-эксперты Apple не смеют спорить, что твоя карта истечёт в 29 году от Рождества Христова.

хм, а у меня с такси постоянно рулетка. 50% поездок идеальны (разве что авто старовато), 50% - какой-то треш.

из любимого:
1. комфорт+. таксист сказал, что в его машине можно курить, и закурил.
2. комфорт. таксист позвал выпить с ним кофе возле придорожной заправки, а то чёт он ещё не проснулся. Пошли пить.
3. комфорт+. таксист решил не ехать 3 минуты до меня, а поехать по своим делам. минут 10 ехал от меня. Для местных: он уехал вообще от Площади Республики до середины Цицернакабердского шоссе. В результате в 5 км от меня прожал кнопку, что он меня ожидает. Техподдержка решила, что он неправ, и дала купон на ~40 рублей.

>>Вы недооцениваете масштаб явления

ух, мой любимый балкон

фото

Там вышло "делюкс" дополнение, где

Маленький спойлер

рассказчик размышляет на тему того, как прошли эти годы, и куда катится игровая индустрия.

В целом такая же годнота

тесты этот баг не находили?

А за что в описанной схеме получает деньги прораб?

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

Насколько я могу судить, сложность этого алгоритма получилась O(n)

Зависит от того, что Вы называете n. Если это номер ряда - то нет. Если это размер пирамиды - то да.

если размазать пирамиду в один слой, то получим:

[1] [3 5] [7 9 11] [13 15 17 19] ... 

То есть вполне себе арифметическую прогрессию. Сумма ряда в ней - сумма фрагмента этой прогрессии. Осталось найти индексы элементов.

Размер каждого слоя получается такой: 1, 2, 3, 4... - то есть тоже арифметическая прогрессия.

Напомню формулу n-ного элемента прогрессии
a_n= a_1 + d(n - 1)
Где d - размер шага прогрессии. То есть 1.

А сумма первых n элементов
S = (a_1 + a_n) n / 2

если подставить первую формулу во вторую, получим
S = (2a_1 + d(n-1)) n / 2

Итого, хотим индекс 4 ряда. Нам нужно знать сумму размеров предыдущих 3 рядов.
S = (2*1 + 1 (3 - 1)) * 3 / 2 = 6.
А конец нашего ряда имеет индекс
S = (2* 1 + 1(4 - 1)) * 4 / 2 = 10.

Итого возвращаемся к исходной последовательности.

Нам нужна сумма первых 10 чисел минус сумма первых 6.
S = (2 * 1 + 2 (10 - 1)) * 10 / 2 - (2 * 1 + 2 (6 - 1)) * 6 / 2 = 100 - 36 = 64.

В результате задача решается за O(1), применив 3 формулы, зависящие от n.

function progressionSum(n, a1, d) {
	return (2 * a1 + d * (n -1 )) * n / 2
}

function sumNPyramidRow(n) {
  let prevIdx = n - 1;
  let fromIdx = progressionSum(prevIdx, 1, 1)
  let toIdx = progressionSum(n, 1, 1)
  return progressionSum(toIdx, 1, 2) - progressionSum(fromIdx, 1, 2)
}

Решение за O(1)

Information

Rating
1,709-th
Registered
Activity

Specialization

Backend Developer
Lead