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

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

Первый донат спустя год. FAQ Net — записная книжка, программа заметок (бесплатно)

Наверное интересный инструмент, но для меня вот это вот SQLiteDB сразу всё пресекает. Как только начинается некая DB, так я сразу становлюсь заложником инструмента. Как олдскульный чел, мне уже надоели эти зависимости. Хочу простоты. ))

Вот зачем названия нодов и связи складывать в БД? Название файла это и есть название нода. А несложный тег внутри легко сохранит ссылку на другой нод. И даже если он исчезнет или переместится, вы визуально видите эту ссылку и сможете легко восстановить.

Первый донат спустя год. FAQ Net — записная книжка, программа заметок (бесплатно)

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

Пользуюсь им уже наверное больше года. До этого использовал Microsoft One Notes, который реально выбесил своей закрытостью формата и использованию некоей структуры навроде БД. Да, можно было экспортировать в pdf и прочее, но когда каждый месяц открывая заметки видишь, что какая-то записная книжка с некоего перепугу не открывается и надо там немного станцевать с бубном. Нет, информация не терялась, но, как уже сказал -- выбешивало. Надо что-то глянуть, а он тебе такой, ай ну не открывается, авторизуйтесь ещё разок и переоткройте записную книжку и тд.

Принял решение уйти от любых закрытых или сложных форматов. Никаких баз данных, никаких HTML/Word/RTF etc. Текст. Plain text и файловая система. А если точнее, то давно существуют такие форматы как Markdown или чуть более сложный AsciiDoc, которые можно читать даже если Obsidian возьмёт и исчезнет. Это текстовые файлы с дополнительными несложными префиксами, позволяющими выделить заголовки, поставить ссылки и прочее.

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

Единственная деталь -- написан на модном электроне. Лучше бы какой Qt или JavaFX. Но работает хорошо. Ни разу не упал, ни разу ничего не напутал. И вполне шустро на i7 не последнего поколения. Интерфейс можно настроить, скачав понравившуюся тему, которую также можно поменять под себя (там CSS)

Мой опыт проведения 1000 интервью. Конспект доклада Егора Бугаенко

Вполне разумно Егор всё рассказал. Согласен практически со всем. Не очень уверен что так уж важен инстаграмм, но вот на stackoverflow хотя бы раз другой вопрос и задашь. Очень согласен с тем, что нужно хорошо понимать, для чего вы ищите человека и не измудохивать алгоритмами всех входящих, если на то нет объективной необходимости.
По поводу 1000 интервью. А в чём проблема с количеством? Человек явно сказал, что не считает нужным часами пытать человека. Достаточно 15 минут чтобы составить впечатление. Дальше уже есть другие факторы. Испытательный срок и прочее. То есть за полдня в неделю можно поговорить с 10 человеками. В год — уже 400 человек. Пару лет и тысяча. В реальности конечно не пару, а может пять/шесть. Ну так оно и есть. И да, он, видимо, давно не чистый программист. Книги пишет, компанией занимается. Кода видимо также плотно касается, но это давно не основная работа. Не увидел в целом вопиющих противоречий.

PS: Вот с этим комментарием автора текста категорически не согласен
… мне кажется, что индус средних лет просто не вписался бы в команду молодых белых парней...
Будучи сам в возрасте и зная кто работает в IT (а это уже давно не детская отрасль) не люблю личностных выводов/намёков на пол/возраст и прочее.

Почему мы выбрали Electron

Да ну какое там радужно. После того, как на рынок вышли мобилы, и там три ключевых разработчика ОС не смогли найти общего языка, и javascript оказался единственным кроссплатформенным «клеем»…
Qt пошла по рукам. JavaFX стагнирует. Javascript возомнил себя победителем, и теперь все новые проекты это чисто Франкенштейны типа Электрона. Цивилизация куда-то не туда свернула, пытается выкарабкаться всякими там TypeScript…

Оно может и неплохо, что FX ушла в Open мир. :)

Почему мы выбрали Electron

В JavaFX, как и в Swing, при прочих равных, стараются избегать абсолютного позиционирования (разные платформы, разные шрифты, разное разрешение...), а предпочитают использовать специальные layout managers. Это контейнеры, которые расставляют расположенные на них визуальные объекты по определённому закону. В виде сетки, разбивая на некие группы, поддерживая нужные расстояния между ними, меняя их размер с изменением размера охватывающего контейнера ну и прочее. Есть несколько стандартных, есть написанные сторонними людьми. Ну и свой можете написать. SceneBuilder также предлагает класть их как подложку, что некоторых может озадачить, если раньше не сталкивались с таким подходом.

По поводу цикла статей. Есть проект на гитхабе, где человек собирает ссылки на материалы, касающиеся JavaFX. Сторонние библиотеки/фреймворки, книги (их уже много, потому неактуально), статьи, блоги etc. Сейчас, когда материалов уже много, это менее актуально, но тем не менее. Опять же JavaFX работает для всех языков программирования доступных на Java машине (Clojure, Groovy, Kotlin, Scala, Ceylon, JRuby, Jython, Nashorn (это вариант javascript)).

Почему мы выбрали Electron

Хайпа давно никакого нет, потому как сейчас десктоп инструменты не провоцируют хайпы в принципе. Столица плавно переместилась в Веб. Опять же — инструменту уже 8 лет, он вполне зрелый, чего тут хайпать? Недавно, правда, был один хайпец. Начинаяя с версии Java 11, JavaFX больше не часть JDK. Она стала отдельным модулем, называется OpenJFX и перешла в поддержку компании Gluon и OpenJDK комьюнити. Доступна из maven репозитория и версионно с JDK больше не связана. Если действительно следите за общим фоном Java-мира, то в конце прошлого году точно должны были слышать. Штаб находится тут. На Амазоне вы легко найдёте более сотни разных книг/учебников.

Мне сложно понять, какой конкретно острый угол фреймворка вызывает у вас такое яростное неприятие, поскольку инструмент с большего крайне удобен, интуитивно понятен, да и вообще хорошо и быстро работает. Изъяны есть. Как и везде. SceneBuilder я не использовал. Сейчас вообще десктоп инструменты используются значительно реже. Я также использую данный фреймворк лишь эпизодически. Хотя и давно. Как он может безумно (!) проигрывать хоть чему-то, мне не понять. Обычно так эмоционально выражаются апологеты другой платформы (скажем .NET), знакомые с Java инструментами крайне поверхностно, но изначально идеологически настроенные против.

Из своего опыта, могу сказать, что некоторое отчуждение испытывали люди, которые впервые сталкивались с более новой концепцией построения GUI. JavaFX использует некий базовый контейнер-подмосток, на котором может быть выстроена одна иди несколько сцен, состоящих из любых графических элементов. Каждую сцену, вместе со всем её содержимым, можно как угодно трансформировать (масштабировать, скручивать, поворачивать...), анимировать, менять цвета и яркости. И даже источники света размещать. Некая форма с кнопками это всего лишь частный случай сцены. А в целом получается очень гибкая графическая конструкция (и 3D). Идея не нова, таким же образом построены Qt и WPF. Но люди пришедшие из WinForms, Swing, Delphi и ожидающие увидеть доску на которую накидываются контролы, порой, с мороза, чувствуют себя неуютно. Им всё кажется излишне сложным и избыточным. К чему такая мощь для кнопочек? Ну только лишь для кнопочек может и ни к чему.

Ещё одна не всем привычная и пугающая новичков фишка — реактивность свойств. Любое свойство графического объекта может быть «сцеплено» с другим свойством другого объекта. То, в свою очередь, с неким свойством третьего и так далее. Меняя одно свойство, автоматически меняются связанные. Примерно как пересчитываются связанные клетки в Excel. Ну и сцена обновляется. Идея не нова, она положена в основу реактивного программирования, но если вы не имеете навыков такого рода построения интерфейса, то… вы опять же сразу не оцените всю мощь и гибкость такого подхода. И будете по привычке искать какие-нибудь события для того, что бы их «как обычно» обработать.

Есть ещё одна особенность, которую некоторое количество людей люто, патологически ненавидят. JavaFX — фреймворк класса 'lightweight'. Другими словами — все свои контролы он рисует сам и не использует родные контролы операционной среды. Ну и стало быть интерфейс может выглядеть не как родной, нейтивный. Также устроен и Qt. И старенький Swing.

Почему мы выбрали Electron

Рискну показаться категоричным, но на сегодняшний день действительно сильными кроссплатформенными десктоп инструментами (с поправкой в том числе и на количество доступных специалистов на рынке) являются Qt (C++) и OpenJFX (Java и со.). Все остальные либо сырые, либо немного устарели, либо просто «модные».
image

Надолго ли вернулся винил?

Те кто этим занимается, такой ерунды никогда не скажет. ))

Надолго ли вернулся винил?

Ясно. Больше вопросов не имею. ))

Надолго ли вернулся винил?

Нет. Ни в коем случае. Цифра в студии и дома очень разная. Качественный ЦАП штука не дешёвая. Джиттер пока никто не отменял.

Вредный Кейворд «Interface»

Мдя. Надо ставить тег «Юмор». Бивис и Баттхет обсуждают ООП. И не понимая что слово интерфейс означает в обычной жизни.

Астигматизм — способы коррекции

К сожалению, я не переборщил. Мы тут говорим о коррекции глаза в таком возрасте, что бы успеть пресечь развитие амблиопии (или успеть хотя бы частично восстановить глаз после её возникновения). Так вот она должна быть сделана в совсем детском возрасте. Максимум в начальном школьном. И то уже шансов восстановить 'ленивый' глаз — немного. Ну а так то корректироваться можно в любом возрасте, но амблиопический глаз, увы, останется плоховидящим.

Астигматизм — способы коррекции

У человека два глаза. И организм устроен так, что он управляет ими строго согласованно. Если вы смотрите на некий предмет, то оптические оси глаз направляются на него и одновременно оптически оба глаза одинаково фокусируются на предмете. Как следствие, на сетчатке глаза появляется два чётких, но чуть разных изображения. Разница происходит от того, что глаза расположены на некотором расстоянии друг от друга. И из этих двух изображений мозг выстраивает в голове одно, но объёмное.

Если один глаз оптически отличается от другого (разная степень близорукости/дальнозоркости, астигматизм), то при одинаковом напряжении глаз (а они одинаково напрягаются), изображение от этого глаза будет нечётким. И мозг не может построить у себя качественную картинку. Она получается плохой и неразборчивой. И мозг поступает рационально. Он отказывается от изображения, которое ему поставляет худший глаз. Да, картинка уже не будет объёмной, но она хотя бы будет чёткой.

Такая же ерунда получается если один глаз косит. Изображение двоится и мешает мозгу. И мозг прибивает нервный сигнал от косящего глаза.

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

Если поправить оптику глаза очками/операцией, то сигнал от глаза становится полноценным и мозг может его использовать. К сожалению, если это не сделать совсем в раннем детстве, то сложно заставить мозг опять начать «слушать» сигнал с плохого глаза. Используются разные трюки что бы его уговорить (скажем заклеить лейкопластырем лучший глаз или как-то ещё стимулировать худший), но обычно сложно восстановить зрение худшего. Причём физически глаз совершенно не меняется, но не видит. Вот и называется он — «Ленивый глаз». По научному — амблиопия.

DotNext + SpbDotNet + MskDotNet

В каком месте не поняли?
Всё что вы перечислили уже с большего сделала Джава. Которой Микрософт долго тупо и самозабвенно совала палки в колёса. Остервенело, что дурные это делали. Конкуренты хреновы. А сейчас пытается пройти тот же путь типа вдруг самые умные и вера в дружбу у них возродилась. Ну молодежь может и подзабыла чего, но аксакалы то всё помнят. ))

И многие компании не пойдут на сделку с Микрософт в силу её гнилости. Бизнес, есть бизнес, но риски нужно просчитывать. И элемент доверия также просчитываемая величина. И у MS она отрицательна. Эта компания в принципе не способна построить ничего совместного и кроссплатформенного. Нигде и никогда. Такая уж она по своей сути. ))

Это и есть ключевая причина по которой она ухитряется прое$$ать почти всё.

DotNext + SpbDotNet + MskDotNet

iOS, Android, macOS, Windows, Linux, back-end, приставки, всякие HoloLens, малина и т.п — далеко больше чем 2 платформы, между которыми вы можете спокойно шарить логику и даже гуй. (К примеру, XForms помимо мобил сможет отрендерить ваш гуй

Ну, что на это ответить… Разве что напомнить сколько лет платформе Java и в очередной раз улыбнуться как Микрософт с пафосом изобретает велосипед, вставив до этого тучу палок в колёса тех, кто всё это прочухал задолго до него.

DotNext + SpbDotNet + MskDotNet

… Среди наших заказчиков почти никто не интересовался винфоном — замарин выбирали абсолютно не смотря на него. Да, он чужероден андроиду и айосу, но работает на обоих...

Мне сложно это логически осмыслить. Но люди всякие есть. В конце концов далеко не все бизнесы хорошо заканчивают. Значит много решений принимается ошибочно.

Если у меня есть некий инструмент, который является совершенно родным для одной популярной платформы и с некоторыми ограничениями применим для двух других, то выбор такого инструмента мне представляется целесообразным. По крайней мере я серьёзно рассмотрю такую возможность, оценю качество инструмента. Ведь я, как минимум, имею гарантированный/прогнозируемый результат для этой основной платформы. И бонусом, ещё две. Хотя там уже слегка начинается лотерея.

Если же я имею инструмент чужой для обоих платформ, то я сразу получаю три сложно прогнозируемых пути. Специфику самих платформ, глядящих на меня сквозь призму инструмента, и специфику/погрешности самого инструмента. То есть гарантированно я получу изъяны инструмента и ограничения по всем платформам. И это при наличии всего то двух платформ?! Было бы их штук 5, тогда может и да. Общий уровень абстракции не помешал бы.

… много клиентов выбирали замарин даже когда им вообще кроссплатформ не нужен был и нужно только iOS приложение (к примеру, потому что весь бэкенд на шарпе и удобно шарить часть логики, DTO и интерфейс к сервису)…

То есть люди на полном серьёзе выбрали язык мобильного клиента из за языка бэкэнда? И это в наше время, когда давно работает REST а приложения пишутся на архитектуре микросервисов? Этих людей нужно было бы разбудить лет на десять раньше. ))

… Сейчас .NET и Mono живут параллельно и шарят между собой много общего кода — у них разные зоны ответственности…

Вот оно как сложилось. Один человек 10 лет старательно и самозабвенно копировал своим кодом поведение другой платформы, которая его старательно футболила, а теперь они код стали шарить (который с большего разный!) и при этом находиться в разных зонах ответственности. А что тогда у них общего и зачем они так нужны друг другу если нет идеальной совместимости, а есть лишь общая дружба в разных зонах?

DotNext + SpbDotNet + MskDotNet

Когда-то давно, существовало три мобильные платформы. Одна из них — Windows. Предполагалось что будет очень популярной, ибо даже в голову не могло прийти что возможно иначе. И вот тогда было оправдано создание платформы разработки Замарин. Ибо здраво выглядело писать приложение на C# и деплоить его на все три платформы.

Что у нас сейчас? Сейчас мобильной платформы Windows больше нет. Увы, я сам владею Винфоном, но платформы нет. Уже официально нет.

Осталось две платформы. Для одной родной язык — Java. Для второй — ObjectiveC/Swift. И зачем теперь нужна некая чужеродная среда с неродным обеим платформам технологией и языком? Вам невыносимо нравится С#? Ну попробуйте Kotlin. Он в Джава-байткод компилируется. Не можете жить без F# — потрогайте Scala. Или нужен Visual Basic? )) Другими словами — у Замарина больше нет своей родной мобильной платформы. Она стала чужеродна всем. Так повернулась жизнь. И отказавшись от Винфонов, Микрософт, полагаю, осознавал, что и ценность Замарина теперь несколько иная. Разработчики же тож не балваны. Стоит ли теперь нанимать экспертов по Замарину или таки уйти в native разработку? Вопрос, звучавший здраво ещё совсем недавно, увы, приобрёл совсем другую окраску. Причём приобрёл он её вне зависимости от того, насколько сейчас технологически совершенен Замарин.

Но с последним также пока есть вопросы. Я знакомился с мнением разработчиков. Увы, но пока преобладают негативные — сырой и непредсказуемый. Но это, разумеется, всегда субъективно. Просто раньше был хоть какой-то смысл в накоплении опыта работы с этой платформой. Сейчас, вероятнее всего, мобильный рынок для Замарина ушёл.

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

Организация NET Foundation также создавалась в года, когда ещё верилось в перспективу. .NET существует более 15 лет (моложе Java всего лет на 5). На каком то этапе стало понятно, что открытость это благо и быть может она и есть тот краеугольный камень, который увеличит популярность платформы. И были сделаны соответствующие шаги. Другие игроки 'за открытость' также вписались. Ну а чего не вписаться-то? 3 года назад.

Таким образом, в сухом остатке, Замарин/Моно как исполняющая среда, сейчас проходит тот путь который давно прошла уже зрелая Java. От любительского к индустриальному. Точнее пытается пройти сливаясь и конвульсивно переплетаясь с .NET уже официально, под крышей Микрософт, а не Дон-Кихота Мигеля. Не прошло и 15 лет. И что-то мне подсказывает, что то, чем занимался Мигель, могло быть сделано на порядок быстрее и с куда меньшим количеством багов имея он в руках код .NET. Ведь получается, что Замарин/Моно не более чем .NET, написанный вслепую и в состоянии борьбы с компанией, разрабатывающей этот .NET. В чём состоял глубокий смысл такого подвига?

А Unity — да. Самое известное применение Mono. Для IDE. Сам движок к нему не привязан. Выиграли ли они от привязки среды к Mono — очень спорный вопрос. Возможности сравнить альтернативный путь история легко не даёт.

Привет из мезозоя

Эх… «бросить бы все и уехать в урюпинск» (с)

Привет из мезозоя

Ваша ошибка в том, что вы наивно полагаете, что возможности браузера преимущественно определяет некая сильная техническая команда, искренне озабоченная тем, что бы сделать мир чище и лучше. Даже если оставить в стороне тот факт, что понятие 'лучше' у каждого своё, всё равно в жизни, увы, это не так.
В жизни, ключевые решения, в большей мере принимаются бизнесом с точки зрения зарабатывания денег. А деньги всегда хочется заработать побыстрее. Посему, в отсутствии конкуренции и противовесов, решения будут приниматься исходя из сиюминутной жадности. Так уж мы устроены. Уже как раз сто лет как это наглядно демонстрируется. Пора бы и выводы сделать.

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

Привет из мезозоя

Вот если когда-нибудь WebKit займёт 99% рынка (или не WebKit, а любой другой движок), то его владелец сможет послать бюрократов на три весёлых буквы и принудительно сделать всё как надо.

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

Информация

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