• Как оценить уровень владения английским языком



      На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

      В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
      Читать дальше →
    • Нарастающий итог в SQL

      • Tutorial
      Нарастающий (накопительный) итог долго считался одним из вызовов SQL. Что удивительно, даже после появления оконных функций он продолжает быть пугалом (во всяком случае, для новичков). Сегодня мы рассмотрим механику 10 самых интересных решений этой задачи – от оконных функций до весьма специфических хаков.
      Читать дальше →
    • Девелопишь на .NET Core? Го в Ubuntu, я создал

      • Tutorial
      image
      Photo by Kevin Horvat
      Все 12 лет своей карьеры я работал с .NET и был крепко привязан к Windows и проприетарным инструментам разработки. Но, спасибо Microsoft, .NET Core все изменил и теперь разрабатывать для .NET можно почти на чем угодно и в чем угодно. Дело за малым — перетащить на Core свои проекты. Не так давно я решил и этот вопрос и завел трактор для полного переезда на Ubuntu.

      Результат очень понравился — все взлетело, разрабатывать легко, а Docker и Kubernetes сделали процесс переезда намного легче. Но из-за слабого знания ОС, bash и запутанности вариантов установки некоторых инструментов (например, того же Docker) изначальная настройка заняла больше дня. То есть процесс довольно долгий и местами запутанный.

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

      Если для вас это звучит полезно — добро пожаловать под кат.
      Читать дальше →
    • Как выучить иностранный язык

        Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


        Оглавление:


        1. Отступление про умных людей и прочих полиглотов
        2. Первый шаг
        3. Какой преподаватель нужен (уровень преподавателя)
        4. Где искать преподавателя
        5. Развитие навыков: слушание
        6. Развитие навыков: чтение
        7. Развитие навыков: письмо
        8. Развитие навыков: разговор: произношение
        9. Развитие навыков: разговор: языковой барьер
        10. Словарный запас
        11. Самое главное


        Итак, вопрос: “Как выучить английский язык?”.

        Читать дальше →
      • ООП, «святая троица» и SOLID: некоторый минимум знаний о них

          Необходимое вступление


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


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


          Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


          Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



          Читать дальше →
        • Деловая переписка на английском языке: фразы и советы

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

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

            Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
            Читать дальше →
          • Поиск данных и объектов в базе данных MS SQL Server с помощью бесплатной утилиты dbForge Search

            • Tutorial

            Описание общей потребности в поиске данных и объектов в базе данных


            Поиск данных, а также хранимых процедур, таблиц и других объектов в базе данных является достаточно актуальным вопросом в том числе и для C#-разработчиков, а также и для .NET-разработки в целом.

            Достаточно часто может возникнуть ситуация, при которой нужно найти:

            1. объект базы данных (таблицу, представление, хранимую процедуру, функцию и т д)
            2. данные (значение и в какой таблице располагается)
            3. фрагмент кода в определениях объектов базы данных

            Существует множество готовых решений как платных, так и бесплатных.

            Сначала рассмотрим как можно осуществлять поиск данных и объектов в базе данных с помощью встроенных средств самой СУБД, а затем рассмотрим как это сделать с помощью бесплатной утилиты dbForge Search.
            Читать дальше →
          • Уровни изолированности транзакций для самых маленьких



              Сегодня хотел бы довести крайне интересный, но часто покрытый тайнами для обычных смертных программистов раздел базы данных (БД) — уровни изолированности транзакций. Как показывает практика, многие люди, связанные с IT, в частности с работой с БД, слабо понимают зачем нужны эти уровни и как их можно использовать себе во благо.

              Немного теории


              Сами транзакции особых объяснений не требуют, транзакция — это N (N≥1) запросов к БД, которые выполнятся успешно все вместе или не выполнятся вовсе. Изолированность же транзакции показывает то, насколько сильно влияют друг на друга параллельно выполняющиеся транзакции.
              Выбирая уровень транзакции, мы пытаемся прийти к консенсусу в выборе между высокой согласованностью данных между транзакциями и скоростью выполнения этих самых транзакций.
              Стоит отметить, что самую высокую скорость выполнения и самую низкую согласованность имеет уровень read uncommitted. Самую низкую скорость выполнения и самую высокую согласованность — serializable.
              Читать дальше →
            • Азоры: последний резерв флоры в середине Атлантического океана


                Долина внутри кратера вулкана, маленький «Затерянный мир», тёплый и надёжно защищённый от непогоды снаружи. Озеро так вообще +75 градусов Цельсия в некоторых местах.

                Азорские острова — это архипелаг посреди Атлантического океана, примерно на полдороге между Европой и Америкой. Поскольку это единственные острова на многие километры вокруг, есть три классных спецэффекта:

                • Тут очень изолированный биом. Например, есть эндемичный азорский снегирь Pyrrhula murin (хотя тут вечное лето, даже на Новый год). Среди животных нет ничего ядовитого или иначе опасного для человека.
                • Очень высокая влажность из-за температурных инверсий и «шершавых» гор, останавливающих облака (как следствие — рай для флоры)
                • И тут очень важный перевалочный пункт как по дороге из Африки и Индии (вспоминаем времена Ост-Индской торговой кампании), так и начиная со Второй Мировой — база для дозаправки и встреч конвоев.

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

                И ещё на островах очень, очень интересно. Сейчас расскажу.
                Читать дальше →
              • IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там

                Поехать работать в Австралию или Таиланд, когда тебе 25 и нет семьи, не так и сложно. И таких историй большое количество. А вот переехать, когда тебе под 40, жена и трое детей (8 лет, 5 лет и 2 года) — задача другого уровня сложности. Поэтому хочу поделиться своим опытом переезда в Германию.



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


                Итак, 2015 год, мы с семьей живем в Санкт-Петербурге на съемной квартире. Долго думали, как нам переезжать, что делать со школой, местами в садике и съемной квартирой. Нами было принято несколько важных решений:

                Читать дальше →
              • Как айтишнику найти работу в США и ЕС: 9 лучших ресурсов

                Мировой рынок IT стремительно развивается. С каждым годом профессия разработчика софта становится все более востребованной — уже в 2017 году в мире насчитывался примерно 21 миллион программистов различных направлений.

                К сожалению, русскоговорящий рынок IT находится еще на начальной стадии развития — уже есть крупные и успешные проекты, но рынок еще долго не сможет сравняться с европейским и американским, которые производят до 85% всех IT-продуктов мира.
                Читать дальше →
              • Как проапгрейдить существующий проект с ASP.NET MVC на ASP.NET Core. Практическое руководство

                • Tutorial
                Этот пост родился из нашего опыта переноса существующего проекта с ASP.NET MVC на ASP.NET Core. Мы постарались собрать в одно целое весь процесс миграции в структурированном виде и описать различные узкие места, чтобы разработчики в дальнейшем могли опираться на этот материал и следовать дорожной карте при решении подобных задач.

                Пара слов о нашем проекте. Мы open-source eCommerce платформа на ASP.NET, которая к моменту переноса успешно существовала уже 9 лет. Мы делали миграцию 2 года назад — но руки дошли написать об этом только сейчас. На тот момент мы были одним из первых крупных проектов, кто решился на подобный шаг.

                Почему стоит перейти на ASP.NET Core


                Прежде чем приступить к разбору шагов по переходу с ASP.NET MVC на ASP.NET Core, несколько слов о преимуществах этой платформы.


                Читать дальше →
              • Опыт переезда iOS Developer в Германию по визе на поиск работы

                Добрый день, дорогой читатель!

                В этом посте я бы хотел рассказать о том, как я переехал в Германию, в Берлин, как нашел работу и получил Голубую Карту, и какие подводные могут ожидать людей, решивших повторить мой путь. Я надеюсь, что моя статья будет полезна тебе, если ты хочешь получить новый, интересный, профессиональный IT-опыт.

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

                Почему именно виза на поиск работы, а не Голубая Карта сразу? Как уже было сказано, самое главное — время.

                26 февраля 2018 я подал комплект документов на визу и 28 февраля виза уже была на руках. А 15 марта 2018 вылетел в Берлин. Виза выдается на 6 месяцев беспрерывного пребывания на территории Германии.

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

                Здесь можно найти список основных документов на эту визу. А здесь общую информацию по визе. Данные постоянно обновляются.

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

                Но обо всем по порядку.
                Читать дальше →
              • Как развивается умение общаться (с самого-самого начала) и что с ним делают игры на сторителлинг

                  Одна из самых распространенных тем запросов, с которыми приходят к детским специалистам, это речь. Самая очевидная проблема — это когда ребенок не говорит. Вот ему год, а он молчит. Вот ему уже три, а он все равно молчит. А вот уже пять… Тут понятно, что что-то пошло не так. Есть менее очевидные проблемы, которые на самом деле тоже про речь. Например, ребенок плохо учится. Почему плохо учится? Оказывается, когда ему учительница задает вопрос, он в ответ двух слов связать не может. Или у ребенка почему-то нет друзей. И оказывается, что он просто не представляет, как со сверстниками вообще разговаривать. Ну и не разговаривает. И так далее.

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

                  • Tutorial
                  Меня зовут Вячеслав, я хронический математик и уже несколько лет не использую циклы при работе с массивами…

                  Ровно с тех пор, как открыл для себя векторные операции в NumPy. Я хочу познакомить вас с функциями NumPy, которые чаще всего использую для обработки массивов данных и изображений. В конце статьи я покажу, как можно использовать инструментарий NumPy, чтобы выполнить свертку изображений без итераций (= очень быстро).

                  Не забываем про

                  import numpy as np

                  и поехали!
                  Читать дальше →
                • Многопоточность в .NET: когда не хватает производительности



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

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

                    Под катом — видео и расшифровка моего доклада с конференции DotNext, где я разбираю несколько примеров, когда использование средств из стандартной библиотеки .NET (Task.Delay, SemaphoreSlim, ConcurrentDictionary) привело к просадкам производительности, и предлагаю решения, заточенные под конкретные задачи и лишённые этих недостатков.
                    Читать дальше →
                  • Переезд в австрийский социализм

                      На Хабре часто пишут про эмиграцию в разные страны, а про Австрию ещё не было. Пора восполнить пробел.



                      Хальштатт


                      Я попробую описать мой опыт переезда в Австрию (в Вену), а также немного расскажу про особенности страны, которые я узнал за 6 лет проживания тут. Старался кратко, заранее извиняюсь, что не получилось :)

                      Читать дальше →
                    • Как найти работу с релокацией в Европу: практический гайд для IT-специалистов

                      • Перевод
                      Сам по себе поиск работы в сфере IT достаточно прост. Что же касается поиска вакансий с возможность релокации, здесь уже сложнее. Несмотря на то, что технологические компании по всему миру сейчас активно нанимают разработчиков и других IT-специалистов из-за рубежа, поиск таких вакансий забирает достаточно много сил и времени.

                      В этой статье я решил собрать наиболее популярные сайты/ресурсы, на которых реально найти вакансии с переездом в страны Европы.

                      Джоб-борды для IT-специалистов и нишевые сайты


                      AngelList


                      На сегодняшний день AngelList является одним из наиболее популярных сайтов по поиску работы в стартапах по всему миру. Процесс поиска вакансий с релокацией на этом сайте очень прост – во вкладке «Compensation» выбираем опцию «Company Will Sponsor Visa». Чтобы сузить полученный список вакансий до максимально релевантных, можно использовать фильтры «Role» и «Location».

                      image

                      Glassdoor


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

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

                      image

                      Поскольку на сайте Glassdoor нет специального фильтра для поиска работы с переездом, при поиске вакансий описанным выше методом могут попадаться нерелевантные. В целом же, ключевое слово relocation в поисковой строке делает свое дело.
                      Читать дальше →
                    • Я вам перезвоню

                      • Tutorial
                      Привет, я Катя, я нашла работу. И написала методичку по общению с работодателем. Расскажу, что спрашивать на собеседовании, чего не спрашивать и как это делать правильно.



                      Весь месяц гоняла по собесам. Посмотрела и на стартапы и на Яндексы. Компаний много, выбирать сложно. Чтобы найти ту самую, нужно учесть много факторов. Для каждой компании я составляла индивидуальный список вопросов. Универсальные оформила в этот faq. В нем ключевые вопросы соискателя и их аналитика. Часть вопросов заточена под разработчиков, остальные подойдут всем. Го под кат!
                      Читать дальше →