• Введение в Git

    • Tutorial

    Оглавление


    Предисловие
    1. Настройка git
    ....1.1 Конфигурационные файлы
    ....1.2 Настройки по умолчанию
    ....1.3 Псевдонимы (aliases)
    2. Основы git
    ....2.1 Создание репозитория
    ....2.2 Состояние файлов
    ....2.3 Работа с индексом
    ....2.4 Работа с коммитами
    ....2.5 Просмотр истории
    ....2.6 Работа с удалённым репозиторием
    3. Ветвление в git
    ....3.1 Базовые операций
    ....3.2 Слияние веток
    ....3.3 Rerere
    4. Указатели в git
    ....4.1 Перемещение указателей
    5. Рекомендуемая литература

    Предисловие


    Git — самая популярная распределённая система контроля версиями.[1][2]

    Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
    Читать дальше →
  • Пилим статью на Хабр

      Под катом частный пример поиска темы, ее адаптации для технической аудитории и формирование правильной структуры статьи. Плюс немного про оформление и читаемость.



      А также про выбор и покупку российских вин.

      Читать дальше →
    • Как заговорить на английском через месяц. 9 простых и проверенных шагов

      Хабр, привет!

      Меня зовут Марина Могилко, я кофаундер онлайн-платформы LinguaTrip.com.

      Мы с командой помогаем людям выучить язык и поступить в зарубежный университет. Я знаю, что за месяц английский не выучишь, но иногда бывают ситуации, когда надо срочно подтянуть язык — предстоит поездка за рубеж или намечается работа в англоязычном проекте. А возможно, просто нет больше сил учить язык и хочется уже начать на нём разговаривать. Для таких случаев мы подобрали простые шаги, которые доступны любому работающему человеку с часом свободного времени в день.

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

      Итак, начинаем! Осторожно: под катом мини-словарик на все случаи жизни.

      image
      Читать дальше →
    • AI для людей: простыми словами о технологиях

        Представляем исчерпывающую шпаргалку, где мы простыми словами рассказываем, из чего «делают» искусственный интеллект и как это все работает.

        В чем разница между Artificial Intelligence, Machine Learning и Data Science?



        Разграничение понятий в области искусственного интеллекта и анализа данных.
        Читать дальше →
        • +29
        • 9.5k
        • 7
      • 9 полезных браузерных расширений для разработчиков (cписок на 2020 год)

        • Translation
        Как упростить себе жизнь при помощи браузерных плагинов.

        Хитрые веб-разработчики умеют пользоваться браузером на уровне «god-mode». Расширения(плагины, add-on) чрезвычайно полезны, когда речь идет об улучшении рабочей среды и повышении производительности написания кода.

        Не за горами 2020 год. Появилось много новых расширений. Я собрал наиболее полезные расширения для веб-разработчиков и поместил их в один список.

        Refined GitHub


        Refined Github упрощает интерфейс GitHub и добавляет полезные улучшения.

        image

        Refined Github

        «Надеемся, что GitHub заметит как необходимы эти улучшения и добавит некоторые из них. Поэтому, если вам нравится какое-либо из этих улучшений напишите, пожалуйста, в службу поддержки GitHub об этом».
        — создатели Refined Github.
        Читать дальше →
        • +16
        • 15.5k
        • 5
      • Холивар. История рунета. Часть 7. YouTube: комики, зашквары и Кремниевая долина

          Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е
          Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль
          Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции
          Холивар. История рунета. Часть 4. Mail.ru: игры, соцсети, Дуров
          Холивар. История рунета. Часть 5. Тролли: ЖЖ, бешеный принтер, Потупчик
          Холивар. История рунета. Часть 6. Блокировки: Лурк, Лента, 282-я и китайский путь



          – Привет. Дальше что? Как дела?… (Рома Жёлудь)

          «Ютьюб» – самый посещаемый сайт в России, особенно среди молодёжи. Первой звездой русского «Ютьюба» стал Рома Жёлудь, записывавший бесхитростные ролики о тяжёлой подростковой доле:

          – Что я думаю о школе? [Обсценная лексика]

          К 16 годам Рома стал кумиром миллионов девичьих сердец. Впрочем, ненавидели его с той же силой.

          Disclaimer. Эта статья — расшифровка замечательного фильма «Холивар» Андрея Лошака. Есть люди, которые экономят время и любят текст, есть те, кто не может на работе или в дороге смотреть видео, но с радостью читает Хабр, есть слабослышащие, для которых звуковая дорожка недоступна или сложна для восприятия. Мы решили для всех них и вас расшифровать отличный контент. Кто всё же предпочитает видео — ссылка в конце.
          Читать дальше →
        • Балансировка красно-чёрных деревьев — Три случая

            Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в длинную ветку.




            В этой статье мы дадим определение, перечислим правила размещения элементов в красно-чёрном дереве, рассмотрим алгоритм балансировки и закрепим сказанное на примере. Более подробно эту тему, а также другие виды двоичных деревьев поиска мы изучаем на курсе «Алгоритмы для разработчиков».


            Читать дальше →
          • WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python

            • Translation

            Оригинал перевода в моём блоге

            Получение полного доступа к языку Wolfram Language из языка Python


            Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении многих лет люди спрашивают нас, как получить доступ ко всем возможностям нашей технологии из других программных сред и языков программирования. Шли годы и мы создали множество таких решений как Wolfram CloudConnector для Excel, WSTP (протокол символьной передачи Wolfram) для программ на C/C++ и, конечно, J/Link, который обеспечивает доступ к Wolfram Language непосредственно из Java.

            Поэтому сегодня мы рады официально представить вам новое долгожданное решение по объединению языков, что позволит напрямую и эффективно вызывать Wolfram Language из языка Python: Клиентскую библиотеку Wolfram для Python. И что особенно важно, это клиентская библиотека имеет полностью открытый исходный код размещенный на git-хранилище WolframClientForPython под лицензией MIT, так что вы можете сколько угодно копировать ее и как угодно использовать ее по своему усмотрению.

            Это легко и просто


            Клиентская библиотека Wolfram позволяет легко интегрировать большую коллекцию алгоритмов языка Wolfram Language, а также базу знаний Wolfram непосредственно в любой уже существующий код Python, что значительно экономит ваше время и силы при разработке нового кода. В этой статье мы сначала покажем вам, как настроить соединение между Python и Wolfram Language, рассмотрим несколько методов и примеров, которые могут быть использованы для вычислений на языке Wolfram Language, а затем и вызова его для использования из Python. Для получения более полной справочной информации перейдите по ссылке: домашняя страница документации для клиентской библиотеки Wolfram для Python.
            Читать дальше →
          • Снова про phpQuery

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

            Содержание статьи:


            Читать дальше →
          • 30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама

            • Translation

            Оригинал перевода в моём блоге

            Прямая трансляция Стивена Вольфрама о конкурсе (на английском)

            Сайт конкурса

            Поясним для читателей, что означает «Правило 30» — это элементарный клеточный автомат (см. Wiki), состояние которого (правило построения нового уровня ячеек на основе старого) в двоичной системе счисления задается как 0-0-0-1-1-1-1-0, что можно интерпретировать как 30 в десятичной системе счисления.

            Итак, с чего все началось? — «Правило 30»


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

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

            Итак, сегодня я предлагаю соискателям 30000 долларов США в качестве общей суммы призов за ответы на три основных вопроса о Правиле 30.

            Правило 30 чрезвычайно просто:
            Существует последовательность строк черных и белых клеток (ячеек) и, учитывая конкретную строку чёрно-белых ячеек, определяются цвета ячеек в строке ниже, рассматривая каждую ячейку в отдельности и ее смежных соседних ячеек, затем к ним применяется следующее простое правило подстановки, а именно:


            Код
            RulePlot[CellularAutomaton[30]]
            [Посмотрите ролик, в котором за пару минут рассказывается суть клеточных автоматов и Правила 30 — примечание переводчика]
            Читать дальше →
          • Время высокой точности: как работать с долями секунды в MySQL и PHP

            • Tutorial


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


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


            Я буду использовать термин «время высокой точности». В документации MySQL вы увидите термин “fractional seconds”, но его дословный перевод звучит странно, а другого устоявшегося перевода я не нашёл.

            Читать дальше →
          • Переезд: подготовка, выбор, освоение территории

              Кажется, что IT-инженерам легко живется. Они хорошо зарабатывают и свободно перемещаются между работодателями и странами. Но это все не просто так. «Типичный айтишник» красноглазит за компьютером со школы, а потом еще в университете, магистратуре, аспирантуре… Дальше работа, работа, работа, годы продакшн, и только тогда переезд. А потом опять работа.

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



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

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

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

              Всем привет.

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

              Итак, начнем. Но не с самого начала – думаю, что такое граф и какие они бывают (ориентированные, неориентированные, взвешенные, невзвешенные, с множественными ребрами и петлями или без них), мы все уже знаем.

              Итак, поехали. Какие же варианты структур данных для «графохранения» мы имеем.
              Читать дальше →
            • «5 копеек» к разговору о Cортировках

                В продолжение темы хочу поделиться своим кодом, который обгоняет std::sort() из актуальных версий GNU C++ Library и (примерно, нет точных данных) повторяет результат "Сортировки Александреску" с CppCon 2019.

                Читать дальше →
                • +17
                • 4.6k
                • 6
              • Современный валютный рынок

                  Маринус ван Реймерсвале. Меняла и его жена. 1539 г. Музей Прадо, Мадрид.
                  Маринус ван Реймерсвале. Меняла и его жена. 1539 г. Музей Прадо, Мадрид.

                  Я начал работать в Deutsche Bank программистом на Java в 2009-м году (последствия кризиса, чудо на Гудзоне, «Миллионер из трущоб», свиной грипп, поражение сборной в Мариборе). На собеседовании мне сообщили, что я буду работать в проекте AutobahnFX.

                  FX? Foreign eXchange? Мои знания о валютном рынке не отличались от знаний среднестатистического обывателя. На углу возле дома есть обменник, но от разницы курсов покупки и продажи дёргается глаз. В вагонах метро висит реклама форекс-контор «Чувствуешь разницу? На этом можно заработать!» Газеты описывают инвестиционные банки то как всезнающих спекулянтов, предсказывающих курсы валют на годы вперёд, то как сборище бездарных рвачей, обрушивших мировую экономику. «Ну ладно, — подумал я, — разберёмся в процессе».

                  Эта статья — часть того, что я выяснил, работая то над одной системой, то над другой. Почему вам стоит прочитать её? Во-первых, это интересно. Современный валютный рынок — сложная распределённая система из множества независимых акторов. Во-вторых, если вы работаете в финансах, вы можете увидеть сходство и с другими рынками, от рынка облигаций до рынка деривативов на погоду. Наконец, в-третьих, если в следующий кризис опять грохнется какой-нибудь инвестиционный банк, вам будет проще читать разбор полётов в прессе.
                  Читать дальше →
                • Фокусное расстояние глаза. Какое же оно?

                    Перед началом статьи обращаюсь к маленьким фотографам — запасайтесь огнетушителями.
                    Поехали!

                    В этот раз я постараюсь обойтись без аналогий глаза с фотоаппаратом и мозга с компьютером. Почему?
                    С самых первых попыток изучения мозга человеком люди искали аналогии для облегчения понимания/объяснения его работы. Для каждой эпохи были свои примеры — человек сравнивал мозг с самым сложным устройством своего времени:
                    — паровые машины,
                    — ламповая техника,
                    — сегодня это компьютеры,
                    — в будущем…
                    Обратимся за материалом к учебникам по физиологии, дабы избежать ненужных заблуждений.

                    Глаз как оптическая система



                    Читать дальше →
                  • И ещё о сортировках

                      И ещё о сортировках


                      Рискну опять поднять эту тему. Начну со ссылки на статью Михаила Опанасенко (oms7), очень впечатляющую по объёмам проделанной работы, а также по количеству приведёных ссылок. Свой материал начал готовить, не зная об этой публикации, что впоследствии, после ознакомления привело к необходимости его существенной переработки. Для тех, кто уже прочитал эту статью, сообщаю, что в моём материале, исследуются более разнообразные по типам данные, в частности, строки и вещественные числа, используются библиотеки boost и bsd, а также затрагиваются некоторые другие отсутствующие в названной статье темы.
                      Читать дальше →
                    • Архив олимпиадных задач по физике для школьников

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

                        Читать дальше →
                      • Суд США полностью легализовал скрапинг сайтов и запретил ему технически препятствовать

                          Вчера Апелляционный суд 9-го округа США принял решение (pdf), что скрапинг публичных сайтов не противоречит закону CFAA (Computer Fraud and Abuse Act).

                          Это действительно важное решение. Суд не только легализовал эту практику, но запретил мешать конкурентам снимать информацию с вашего сайта в автоматическом режиме, если сайт является общедоступным. Суд подтвердил понятную логику, что заход бота-скрапера юридически не отличается от захода браузера. В обоих случаях «пользователь» запрашивает открытые данные — и что-то делает с ними на своей стороне.

                          Сейчас многие владельцы сайтов пытаются поставить технические препоны конкурентам, которые полностью копируют их информацию, не защищённую копирайтом. Например, цены на билеты, товарные лоты, открытые профили пользователей и т. д. Некоторые сайты считают эту информацию «своей», а скрапинг расценивают как «воровство». Юридически это не так, что теперь закреплено официально в США.
                          Читать дальше →
                        • Как обустроить себе рабочее место

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

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

                            image
                            (рабочее место одного из наших сотрудников)
                            Читать дальше →