Habrahabr лучшее

Лучшие публикации за последние 24 часа
Подписка на Лента Habrahabr лучшее Habrahabr лучшее


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

Они считаются альтернативой обычному сельскому хозяйству, поскольку работают в центре региона потребления своей продукции. Длительное хранение, транспортировка на дальние расстояния — все это становится не нужным. Но являются ли городские фермы «чистыми» в отношении окружающей среды?
Читать дальше →
Привет.
Есть желание поделиться с сообществом идеей, которая реализована в компании провайдере для оперативного реагирования на повреждение медного кабеля. Конечно не претендую на изящность решений, однако сервис показал хорошие результаты работы.
Читать дальше →


Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. В этом предновогоднем выпуске не будем утомлять вас длинным перечнем новостей. С Наступающим Новым Годом!

Релизы
pgAdmin4 3.6

В этой версии добавлены:

  • из панели Properties можно дропать несколько объектов одновременно;
  • можно импортировать из и экспортировать в определения серверов из базы и в базу данных конфигураций.

pgpoolAdmin 4.0.2

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

dbForge Studio for PostgreSQL v2.0

На этот раз devart выпустила Studio со Standard edition, в которой есть функциональность, не включенная в бесплатную версию Express. 30 дней можно пользоваться Standard edition бесплатно. О различиях Standard и Express можно почитать здесь.

VOPS-2.0

Вышла новая версия расширения PostgreSQL от Postgres Professional для эффективного исполнения векторных операций.

pg_probackup 2.0.25

Новая версия утилиты для бэкапа и восстановления, тоже от Postgres Professional

pgCluu 2.9

Новую версию этой программы на Perl для аудита производительности кластеров с PostgreSQL можно скачать здесь. pgCluu собирает статистику работы не только СУБД, но и системные ресурсы кластера.

postgres_dba 4.0

Вышла новая версия утилиты Николая Самохвалова для администрирования PostgreSQL. В ней появились три новых отчета: список расширений, настройка параметров PostgreSQL и Вакуум: что происходит прямо сейчас. И, конечно, доработки и исправления.
Читать дальше →
Всем привет, пишу свой первый пост. Согласно правилам, его нельзя делать рекламным, поэтому постараюсь вам рассказать чего-нибудь интересного, без ссылок и прочего.

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

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

Я долго смотрел вокруг и мучил себя мыслями о том, что российские школьники не получают доступ к качественному и красивому сервису для просмотра оценок.
Читать дальше →


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

Читать дальше →


Сегодня один из SSD на одном из наших новых файловых серверов под Linux умер. Это не первая и, вероятно, не последняя смерть SSD, с которой мы столкнёмся, но, как почти всегда в таких случаях, я почувствовал, как шалят мои нервы – а всё из-за сочетания характера отказов SSD, их похожести на «чёрный ящик» и твердотельной природы.

Как и большинство других отказов SSD, этот произошёл внезапно; диск перешёл из состояния прекрасно работающего в состояние вообще не реагирующего ни на что секунд за 50, без какого бы то ни было предупреждения через SMART или что-либо ещё. Вот он радостно обрабатывает запросы на чтение и запись (по всем внешним признакам, в том числе и ZFS, которая не жаловалась на контрольные суммы), а вот уже нет никакого Crucial MX300 на SAS-порту.
Читать дальше →
Введение
Итак, начнем! Что же означает аннотация Version в JPA?

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

Какие же могут возникнуть проблемы?
  1. Потерянные обновления могут возникнуть в ситуациях, когда две транзакции, выполняющиеся параллельно, пытаются обновить одни и те же данные.
  2. Грязные чтения возникают, когда транзакция видит еще не сохранённые изменения, сделанные другой транзакцией. В таких случая может возникнуть проблема из-за отката второй транзакции, но при этом данные уже были прочитаны первой.
  3. Неповторяемые чтения возникают, когда первая транзакция получила данные, а вторая транзакция внесла в них изменение и успешно закоммитила их, до окончания первой транзакции. Иначе говоря, когда в рамках одной транзакции один и тот же запрос на получение, например всей таблицы, возвращает разные результаты.
  4. Фантомное чтение — проблема похожая на неповторяемые чтения, за тем исключением, что возвращается разное количество строк.

Коротко о их решениях
  1. READ UNCOMMITED — решается с помощью аннотации Version в JPA(об этом как раз и статья)
  2. READ COMMITED — позволяет читать только закоммиченные изменения
  3. REPEATABLE READ — тут немного посложнее. Наша транзакция «не видит» изменения данных, которые были ею ранее прочитаны, а другие транзакции не могут изменять тех данных, что попали в нашу транзакцию.
  4. SERIALIZABLE — последовательное выполнение транзакций

Каждый последующий пункт покрывает все предыдущие, иначе говоря может заменить решения, указанные ранее. Таким образом SERIALIZABLE имеет самый высокий уровень изолированности, а READ UNCOMMITED — самый низкий.
Читать дальше →

Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс.


Через некоторые время ИДЕЯ немного меняется, и все начинается с начала.


А начало этой истории — разделение компонент на Контейнеры и неКонтейнеры (в народе — Тупые Компоненты, простите за мой франзуский).


Читать дальше →

Как то уж так повелось со времен голодной студенческой юности, что я чаще на остатки денег покупал себе бананы, а не чипсы или гречку. Причин этому наверное может быть много, от "в Беларуси бананы дешевле картошки", до "банан как и шоколад способствует мозговой активности". Но факт остается фактом. Если хурма фрукт сезонный, то банан — это такая штука которая сопровождает нас по жизни постоянно. Как не отдать долг и не черкнуть заметку. Кроме того, про проведенному мной среди знакомых микро-опросу, одним из основных фруктов, которые с вероятностью 99% будут практически на каждом Новогоднем столе, также является банан. А ведь правильный банан еще нужно найти…
В общем, для "разогрева" предлагаю короткий мини-тест. Как вы думаете, какой из бананов на картинке обладает максимальными лечебным эффектом по версии китайских исследователей? Для начала просто выберите и запомните число под понравившейся картинкой.



Ну а за ответом — традиционно, под кат.

Читать дальше →

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

Попробуем провести заимствование и посмотреть на политические процессы «глазами» и законами электротехники, а затем применить для моделирования политических процессов известные симуляторы электрических схем. Будущие «Закон Ома / Киргофа для цифровой политической цепи» — будут отличаться от своих прототипов собственной метамоделью, интерпретирующей законы общества в соответствующие законы природы, которые существуют объективно, т.е. независимо от представлений человека о них.

С политикой пока всё иначе: даже древнегреческий этап становления " науки о политике" — не пройден (начальный этап оцифровки политики).

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

Подход продемонстрирован на упрощенной модели общества потребления, а в качестве симулятора электронных схем использован falstad.
Читать дальше →

Ссылка на фото

В преддверии нового года, хочется напомнить, а для кого-то это будет новой информацией о том, что с 2019-го года в КНР вводятся квоты на продажи автомобилей (легковые, спортивно-утилитарные автомобили и минивены) в рамках программы «Автомобили с новыми источниками энергии». Так, в следующем году автомобильные компании или импортеры должны вписываться в 10% квоты от продаж подключаемых легковых электромобилей. В случае если они не будут достигнуты, то их можно будет покупать у других автомобильных компаний, или, в крайнем случае – штрафные санкции (профильное министерство может запретить производство новых моделей, пока они не будут соответствовать определенным нормам по расходу топлива).
Читать дальше →

Авария, устранение которой заняло более суток, вызвала перебои в работе многих служб по всей территории США. В некоторых регионах было невозможно дозвониться в службу экстренной помощи на номер 911 с сотовых операторов AT&T и Verizon. Также были проблемы со снятием наличных из банкоматов, была нарушена работа лотереи и один из госпиталей не мог получить доступ к медицинским записям пациентов.


Читать дальше →


Незнакомая мобильная среда
Я, возможно, также как и вы, пришел к React Native как разработчик JavaScript нежели как разработчик нативных мобильных приложений. Абсолютно новый мир со своими нюансами и хитростями.

Одной из самых важных тем для изучения станет тестирование. Когда все более или менее понятно с модульными тестами (unit), что делать с тестами интерфейса и сквозными тестами (end-to-end)? iOS. Android. На рынке смесь разных типов устройств.

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

Я вкратце рассмотрю два фрэймворка, на которые стоит обратить внимания, чтобы облегчить себе жизнь как разработчику.
Читать дальше →
Самая большая боль современного человека – время. Время является одним из самых важных и нужных ресурсов. Но проблема в том, что время никогда не повернуть вспять, нельзя сохранить в какой-нибудь баночке «до лучших времен», нельзя вложить в банк, что-то на него купить или продать (фильм «Время» не в счет). Мы тратим время, пытаясь обменять его на что-то другое. Именно поэтому важно понимать то, как ты тратишь свое время, нужно уметь его ценить и правильно организовывать рабочий процесс.

И правда. Успех любого человека зависит не только от того, какой доход он имеет или какими другими материальными ресурсами обладает. Особенно важно то, как шевелятся шестеренки в его голове, как он воспринимает мир, ищет ли он возможности, развивается ли он в том или ином направлении и насколько эффективно распоряжается своими ресурсами, особенно временем. Ведь от того, куда, как и сколько ты вложишь времени, зависит достижение определенных результатов и целей. И это относится абсолютно к любому проекту, заданию. Никто еще не смог заменить человека как ресурс. Поэтому чем более эффективными мы будем, тем больше и качественнее мы сможем решать задачи любой этимологии, тратя на это минимум ресурсов. Вот почему знания данной темы применимы абсолютно в любых областях. Но всегда остается самая большая головная боль человечества – как быть максимально эффективным при минимальных затратах?
Читать дальше →


Изображение: Robinhood

13 декабря 2018 года финтех-стартап Robinhood, который разрабатывает приложение для торговли на американских биржах без комиссии, объявил о запуске собственных сберегательных счетов. В заявлении компании указывалось, что пользователи смогут получить доход по депозиту около 3% – при том что в США максимальный доход по депозитам не превышает 2%. Также депозиты на сумму до $250 тыс. должны были быть застрахованы.

Однако анонс новой услуги вызвал серьезный скандал, и ее пришлось свернуть уже на следующий день. Читать дальше →


Много ли вы вспомните российских игр? Качественных? Запоминающихся? Да, такие были. Если вам больше 35 или вы фанат российского игропрома, то с "Проклятыми Землями" вы наверняка знакомы.


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


Какому фанату игры не будет интересно узнать, что же там внутри?

Рычаг я дам
Всем привет! Компании «Нейросети Ашманова» и «Наносемантика» приглашают всех желающих принять участие в 3-м всероссийском Тесте Тьюринга в 2019 году, который мы организуем.



Мы ранее проводили этот конкурс в 2015 и 2016 годах вместе с Фондом Сколково и Microsoft.
В 2019 году Тест Тьюринга пройдёт на крупнейшей конференции по искусственному интеллекту OpenTalks.ai.
Под катом – даты, подробности проведения и ссылка на регистрацию участников.
Читать дальше →
Введение
Всем привет! Это моя первая статья и пишу я ее от лица младшего инженера-разработчика на языке C#. Так что здесь не будет каких-то подробных сведений о SQL, лишь практические сведения и размышления по решению довольно не очевидной задачи, с которой мне пришлось столкнуться, для таких же новичков, как и я сам.

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

Итак, представим, что у вас есть web-сервис и SQL (MS-SQL) база данных с таблицей html-писем, которые ваш сервис рассылает пользователям. Письма хранятся за некоторое количество лет и удалить их нельзя, так как они нужны для сбора статистики и аналитики. Однако, с каждым годом количество писем растет, база разрастается, а места на SQL-сервере все меньше (в нашем случае еще одним фактором было восстановление базы на тестовую площадку, т.к. его время пропорционально росло) и с этим нужно что-то делать. Благо, в нашем случае есть свободный сервер с кучей свободного места (в реальности его может не быть и конечно это временное решение, но это выходит за рамки статьи). Так возникла задача по переносу большой таблицы (и говоря «большой», я имею в виду реально большую таблицу, все что я видел, пока искал похожие решения, было в районе 60-100Гб, в нашем случае таблица весила более 300 Гб).

Мы рассмотрим несколько способов решения этой задачи, но не все они будут относится к переносу вида сервер – сервер. Иногда может возникнуть необходимость переноса таблицы между базами в рамках одного сервера. Также, некоторые способы чисто теоретические, я не проверял их все на практике, однако они наверняка должны сработать.
Читать дальше →


Предисловие
Команда, в которой я сделала свои первые шаги на поприще написания промышленного кода, занималась разработкой удобного API к функциональности программного продукта на C# (для удобства назовем его, скажем, буквой E), существовавшего уже много лет и зарекомендовавшего себя на рынке с весьма положительной стороны. И здесь вроде бы у юного падавана пока не должно возникать вопросов, однако же представим себе, что ранее вы, скорей всего, конечно, писали собственные web-API, но вряд ли для широкой аудитории, а значит жили по принципу «Сам создал – сам пользуюсь», и если вдруг кого-то бы заинтересовала функциональность вашего API, то вы, наверное, кинули бы ему pdf-файл с подробной инструкцией (по крайней мере я бы сделала именно так). «Где посмотреть функционал апи» — спросила я тимлида ожидая получить ссылку на текстовый документ. «Загляни в Swagger» — ответил он.

Читать дальше →
В JetBrains мы любим экспериментировать. Результаты наших экспериментов не всегда становятся достоянием широкой публики, но кое-чем мы готовы поделиться с вами прямо сейчас.

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

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

Читать дальше →

Страницы

Последние публикации

Новые комментарии