Как стать автором
Обновить
22.2
Карма
0
Рейтинг

Пользователь

  • Подписчики 1
  • Подписки

Амиго всё. Now it's official

Правильно, что не верите. Специально для вас что бы вы не растраивались без любимого браузера: Амиго Го, Амиго Фаерфокс, Амиро Клевер и Амиго Лайт.

Конкурс статей по PostgreSQL на «Хабрахабр»

А вам бы хотелось, чтобы призом был, как минимум, автомобиль?

Нет, дело не в стоимости призов, дело в том что билет на конференцию ничего скорее всего для организаторов не стоит, так как получен за счет партнерских отношений. То же самое про дипломы и памятные призы, то есть скорее всего конкурс нужен лишь для маркетинга. Если организаторам в реальности нет особого дела до конкурса и он лишь повод для рекламы конференции/фирмы, то и участникам нет особой мотивации тратить на него свое время. ИМХО, конечно.

Конкурс статей по PostgreSQL на «Хабрахабр»

Прошу прощения, но почему не сделать призы чуть более существенными? Билеты на конференцию для многих (живущих за границей/не Москве) — почти бесполезны, диплом лауреата это по сути просто бумажка, памятные призы не раскрыты. В целом, все призы практически исключительно моральные. ИМХО, если есть задача получить какой-то реальный результат, стоило бы предложить хоть что-то реальное ради чего стоило бы приложить усилия.

Каково это — быть разработчиком в России, когда тебе сорок

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

В Java (и JVM) существует десятки фреймворков и сотни открытых библиотек, которые позволяют добавить все что угодно. И они постоянно обновляются и развиваются. Сам синтаксис самого языка развивается не так быстро, но при желании даже синтаксис можно расширить (проект Lambok, например). Ну и синтаксис это далеко не самое главное, а практически все что есть в стандартной библиотеки (коллекции, веб, многопоточность, функциональное программирование) переписано в десятках сторонних библиотек. Хочешь писать вот прямо как на каком-нибудь Haskele, найдете достаточно библиотек добавляющий все возможные функциональные штуки.

Начинается разработка OpenJDK 10

Начинается разработка OpenJDK 10

Там все ещё хуже, есть ещё toString, Equals, hashCode и это все лишь для того чтобы описать класс, только хранящий данные. Есть проект Lombok который позволяет все это решить, но, увы, он никак не стандарт.

Начинается разработка OpenJDK 10

Аннтоцию Singleton — метод getInstance() и ссылка на объект генерятся автоматически

Ну нафиг, есть же Dependency inject'он фреймворки которые поддерживают эту аннотацию из спецификации JSP 299. А создавать сингельтон руками это совсем уж антипатерн, не говоря уже о вопросах потокобезопасности getInstance(). Его не протестировать толком в unit тестах и он нарушает SOLID принципы.

Оператор декапсуляции — опасный, но иногда очень нужный — осуществляет доступ к приватным полям (например для тестов), пример, someInstance#privateFieldName

Опять-таки, ну нафиг хотите берите рефлексию и работайте с приватными полями. Можно даже сделать в тестах статическую функцию, которая вернет поля, а аля getPrivateField(someInstance, privateFieldName), это практически тоже самое. Но как только введут оператор декапсуляции, так его начинающие начнут везде юзать. Это как goto, он имеет иногда смысл, но не настолько насколько он может быть вредным в кривых руках.

Как дизайнеры управляют удачей в играх

«счет» карт считается читерством только если игрок выигрывает. Зачастую казино сами специально рекламируют подобные методы (в основном плохо работающие), только потому что игроки, считающие себя сильно хитрыми, проигрываются в пух и прах. Это примерно как Форекс, там полно методов как обмануть «казино», но по факту игроки чаще всего обманывают сами себя.

Angular 2: почему на TypeScript?

именно с точки зрения больших проектов. Очень больших.

У вас нет понимания, что такое Очень большой проект. Вот Линукс, Виндовс или поисковая машина гугла это Очень большой проект, то что может понять один человек во всех деталях это ещё совсем не самый большой проект. На фронэнде браузер просто не вынесет «Очень большого проекта» скорее всего.

Angular 2: почему на TypeScript?

Радуйтесь, что ваш проект этих размеров ещё не дорос и житие ваше легко и безоблачно.

Ооо, я работал на проектах в которых кол-во строк сопоставимо с последней версией Windows или Linux. Да, есть и такие бизнес решения. Боюсь это ВЫ просто не понимает что такое по-настоящему большой проект.

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

Это вы так похоронили рефакторинг как класс?

При достижении определённых размеров любой проект

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

Приведение разных исходников в одному виду? Зачем? Вам серьёзно больше заняться нечем?

Вы сейчас наглядно демонстрируйте стиль под названием быдлокодерство. Архитектура, рефакторинги, стили, качество кода — нафиг, надо лабать. Бизнес требует. Понимаете, в бекэнде давно уже поняли что до определенного предела костыли и велосипеды работают, а потом код начинает пахнуть и разваливаться. Во фронтенде часто именно такой стиль «Времени нет, надо фигачить», просто потому что проекты пока относительно небольшие (реально большие вроде поисковой машины гугла или исходного кода Oracle DB, в браузер пока не засунуть). Печально, что при этом учить пытаются.

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

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

И заняться нам с вами больше нечем, мы уже выяснили.

Во-первых, сейчас диалог напоминает разговор с дикарем, когда он пытается доказать что барабан отличное средство связи куда лучшее чем телефон. Вот больше чем уверен, что со нормальными статическими языками (Java, C++, C#) вы никогда серьезно не работали и даже не представляете почему их предпочитают в реально больших проектах.

Во-вторых, про реально большие проекты и статическую типизацию, вы сейчас напоминаете Д'артаньяна и п**ов, вот всякие Гулы, Линуксы и Микрософты придумали языки со статической типизацией для своих реально больших проектах, но вот вы Д'артаньян, а все они п**сы вы знаете решение «Пишите больше тестов! Тесты вас спасут!». Ага, в миллионы умных людей до этого не догадались, на придумывали какую-то статическую типизацию.

То что тесты нифига не спасают от того что программист не учел (знаете что такое SQL injections и почему в языках с динамической типизацией его провести легче?), а 100% автоматическое покрытие это вообще профанация, так как заставляет тестировать не реально нужное, а даже тот код где тесты и не нужны (а он есть всегда).

Angular 2: почему на TypeScript?

Не сарказма ради, а просвещения для поинтересуюсь: а как часто вам нужно проделывать такие массированные переименования переменных/функций/чего там, чтобы именно эта возможность стала чуть ли не ключевой при выборе инструментария?

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

Так вот: за четыре года таких измывательств над одним из старейших JavaScript фреймворков на рынке мне ни разу не пришлось проделывать массированных переименований fooBar в barFoo. Потому что либо а) это публичное API и оно высечено на скрижалях, либо б) это приватное API и его можно менять, но мне есть чем заняться и кроме таких экзерсисов. А как часто вы такие упражнения проделываете?

Во-первых, бытие определяет сознание, вам не хочется менять, потому что это слишком сложно. Во-вторых, некорректно сравнивать фреймворк и обычный бизнес процесс. К вам приходит аналитик и говорит что он ошибся и переменная revenue (доход), которая используется в ваших бизнес объектах это на самом деле taxValue (сумма уплаченных налогов). Оставить в вашем приватное API название вводящее в заблуждение очевидно плохая идея, самодокументирующийся код придумали не просто так, чем проще можно будет поменять один код на другой тем лучше.

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

Плюс автодополнение методов позволяет изрядно ускорить работу.

Как дизайнеры управляют удачей в играх

Если все так, как вы утверждаете — можете ли вы объяснить, как казино с контролем честности может «жульничать» в Black Jack

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

Варианты есть, все эти методы не спасают на 100%.

Angular 2: почему на TypeScript?

Это прекрасно. Поиск и замену в текстовых редакторах уже запретили отдельным указом, а grep и awk так и вообще предали анафеме. Это теперь рефакторинг, хоть и (снисходительно так) простейший, конечно. Но для этого непременно нужно распоследнее достижение в IDE-строении и 100500 новейших тулзов от Microsoft, иначе никак.


Предположим у вас тысяча функций с именем A в тысяче модулей/объектах, которые используются в тысяче мест каждый. Вам нужно найти и поменять имя А на B, но только для одного модуля, включая вызовы функций у переменных, объектов и т.п. Поиск и замена тут не сильно поможет, так как вывести что в одном у том же файле функцию у переменной X надо менять, а у переменной B — не нужно текстовый редактор не сможет, а IDE сможет.

И ведь что характерно, опять лебедь раком щуку: у нас самые распрекрасные компиляторы-помогаторы, которые за вас всё сделают. То, что в серьёзной системе серьёзный рефакторинг возможен только при наличии не менее серьёзного автоматизированного тестирования, конечно никто не упоминает. Потому что тесты всё равно никто не пишет, правда? Нафиг они нужны, за нас всё IDE сделает.

А это вообще никак не связано. Тесты и IDE никак не связаны с друг другом. К чем это вообще?

Потому что ES6 требует транспиляции до поры до времени, а вот TypeScript вечно будет обузой.

Как только ES6 перестанет требовать транспиляции, появится новый ES7 на который перейдут все модные фреймворки. Так что не факт.

Как стареть в IT

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

Отказали скорее всего именно потому что он перерос вакансию. Взять «Линуса Торвальдса» чтобы он HTML формочки рисовал можно, но он же через два дня попросит расчёт сколько бы ему не платили. Поэтому иногда «слишком много знает» тоже может быть причиной отказа.

баллы от HR ты уже получил, а штраф за пустой акк вряд ли будет

Да, пофиг HR на всякие github'ы, они на ссылки на них не смотрят особо. ИМХО.

Итоги: что сильнее – ассемблер или Хабраэффект?

И вообще, стоит вопрос зачем масштабировать? Если установить AsmBB на отдельном сервере с мощном многоядерном процессоре и SSD, а веб сервер на втором, производительность хватит на многотысячном форуме и гигабайтной БД.

Ооо, а ничего что многотысячный форум и гигабайтная БД даже на PHP работает на шаред хостинге? Я понимаю если бы вы говорили о сотнях запросов в секунду и терабайтных БД на слабой VDS'ке, но ДВА МОЩНЫХ сервера для ОБЫЧНОГО форума и весьма небольшой БД? Вы серьезно? С таким забиванием гвоздей микроскопом можно взять вообще самый медленный язык и все равно выиграть.

3D-печать металлами — технологии и принтеры

Угу, отправил 3D принтер на Луну, а через год там уже полностью напечатанная жилая станция на сто человек со всей начинкой.

Как стареть в IT

В коммерции куда больше внедрения и прочего тырпрайза. Задачки там есть, но сильно меньше.

Думаю во всяких гуглах и твитерах с вами не согласятся, там много фундаментальных задач на ИИ, алгоритмы и т.п. При сильном желании найти интересные научные проекты можно и в коммерции (только возможно не в РФ).

Итоги: что сильнее – ассемблер или Хабраэффект?

Это CPU shared hosting'а, а shared hosting даже с честными лимитами сложно мерить в «попугаях».

Итоги: что сильнее – ассемблер или Хабраэффект?

Да хотя бы, сколько записей в таблицах тем, постов и пользователей? Хотя бы в примерных порядках, единицы, сотни, тысячи, сотни тысяч.

Как стареть в IT

Думаю отсюда:

«Меня часто спрашивают по учителям и преподавателям. Это призвание, а если хочется деньги зарабатывать, есть масса прекрасных мест, где можно сделать это быстрее и лучше. Тот же самый бизнес. Но вы же не пошли в бизнес, как я понимаю, ну вот» (с) премьер Медведев

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность