Pull to refresh

Веб-редактор кода на Kotlin, с примерами и компиляцией в JavaScript

Reading time 1 min
Views 4.1K
JetBrains corporate blog Java *Kotlin *
Слышали про Kotlin? Это новый JVM-ориентированный язык программирования от JetBrains?

До вчерашнего дня о Kotlin можно было только почитать и пофантазировать.
А вчера команда разрабатывающая язык открыла для всеобщего доступа web-редактор кода на Kotlin c возможностью компиляции и запуска. Добро пожаловать на http://kotlin-demo.jetbrains.com!

Вот, что можно сделать сейчас:
  • Поиграться с готовыми примерами и задачками.
  • Запустить ваш код на JVM, работающей на нашем сервере. Т.е. можно использовать знакомые вам классы из JDK.
  • Также можно скомпилировать Kotlin-код в JavaScript и запустить его в браузере

Редактор кода уже сейчас умеет делать подсветку ошибок «на лету» либо в момент запуска (по умолчанию), форматирование кода и предоставляет автодополнение по Ctrl+Space.
Kotlin web demo
Проект находится в стадии разработки и будет активно развиваться. Дальше обещается библиотека для более удобной работы с расширениями JDK типа collections и пр., больше примеров и интересных задач.

Ваши идеи, толковые предложения, а также отчеты об ошибках очень приветствуются в баг-трекере проекта.

А если есть желание посоревноваться и получить приз, то предлагаем вот такие 2 задачки:
Читать дальше →
Total votes 34: ↑29 and ↓5 +24
Comments 51

Мгновенное изменение языка приложения

Reading time 9 min
Views 33K
Development for iOS *
Мне бы хотелось рассказать об интересном опыте, приобретенном в процессе разработки бесплатного пока что конвертера валют, моего второго приложения в категории Finance. Первое, Money iQ, было написано во время работы в небольшой компании и даже успело побывать на 1м месте российского App Store. Небольшую dev story о создании приложения я опубликую чуть позже и в другом блоге, если будет интересно, а в этой статье мне хотелось бы остановиться на такой проблеме как мгновенное изменение языка внутри приложения.

Собственно, проблема.


Наверное, многим приходилось сталкиваться с мультиязычными приложениями. Я говорю не только о приложениях под iOS, а вообще о приложениях, поддерживающих несколько языков. Во из них в сеттингах есть пункт «Language/Язык/Idioma», позволяющий установить язык, нужный пользователю.

В разных ситуациях эта опция работает по-разному. В каких-то приложениях для установки нового языка приходится их перезапускать. В каких-то все случается мгновенно. О том, как осуществить второй подход при написании приложений под iOS, в статье и пойдет речь.
Читать далее...
Total votes 20: ↑18 and ↓2 +16
Comments 33

Не ещё одна статья о функциональном программировании

Reading time 6 min
Views 19K
Python *Functional Programming *
Вот уже несколько лет функциональное программирование набирает популярность. Это, конечно, не значит, что люди забрасывают свои старые языки и ООП и массово переходят на Haskell, Lisp или Erlang. Нет. Функциональная парадигма проникает в наш код через лазейки мультипарадигменных языков, а вышеупомянутые языки чаще служат флагами в этом наступлении, чем используются непосредственно.

Я собирался продолжить в том же духе и во второй части статьи представить свою библиотеку, добавляющую пару функциональных трюков в python, но потом понял, что фокус моей библиотеки не на функциональном программировании, а на практичности. На этом я и сосредоточюсь, приведу несколько жизненных примеров полезности funcy.
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Comments 15

ASP.NET MVC Урок C. Многоязычный сайт

Reading time 19 min
Views 58K
.NET *ASP *
Tutorial
Цель урока. Научиться создавать многоязычные сайты. Структура БД. Ресурсы сайта. Определение языка. Переключение между языками. Работа в админке.

Проблемы многоязычного сайта

Итак, заказчик просит сделать сайт многоязычным, т.е. чтобы и по-русски, и по-французки, и по-английски. Это может быть как просто многоязычный блог, так и гостиничный сайт, сайт по работе с недвижимостью и многое другое.
Для начала определим, что же мы будем переводить:
  • Написание дат, сумм в зависимости от выбранной локализации. С этим справляется класс System.Globalization
  • Встроенные ресурсы сайта — выдача ошибки («Поле не может быть пустым», «The field is required») и другие сообщения.
  • Не встроенные ресурсы, как то логотипы, изображения, js-локализация элементов управления. Для переключения между ними необходимо знать текущее значение языка на странице.
  • Пользовательские значения.


Читать дальше →
Total votes 131: ↑88 and ↓43 +45
Comments 2

Лучше или хуже

Reading time 5 min
Views 12K
Website development *Programming *Go *
Translation
Перевод статьи «For Better or For Worse» разработчика из компании DataDog Inc. Статья посвящена вопросу дизайна языков программирования и связи дизайна с попытками оценок качества языков. Частично является ответом на недавно переведенную тут эту статью.

В программистской тусовке возникает мем об “объективном качестве” дизайна Go. Буквально на днях я встретил его в статье про выбор языков от Honza, где он был очень хорошо виден:
Учтите, язык объективно очень плохо спроектирован. [...] И, при этом, Go гораздо более популярен, чем Haskell, если верить GitHub. При этом, уже столько отличных проектов, написанных на Go, вроде Docker, InfluxDB, etcd, Consul, Prometheus, packer и других.

Я думаю, что это крайне интересный набор противоречий, и автор с этим согласен.

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

Когда люди с таким видением пытаются объяснить популярность Go, они неизбежно приходят к парадоксу. Если Go настолько плох, почему он так популярен?
Читать дальше →
Total votes 55: ↑34 and ↓21 +13
Comments 94

Играем с ключевыми словами в Javascript

Reading time 4 min
Views 25K
Abnormal programming *Open source *JavaScript *Programming *
image

В статье рассказывается про модуль, позволяющий создавать подмножество javascript с любыми ключевыми словами. Строго для безудержного веселья.
На волне статьи про rucckuu.js я обзавидовался и решил обнародовать своё творение: небольшую экосистему для создания произвольных подмножеств javascript. Если к вам давно закрадывалась мысль о том, что некоторые ключевые слова плохо подходят к контексту их применения или мысль о том, что javascript слишком многословен (всякое бывает). Если вы хотите добродушно подшутить над коллегами или просто объяснить вашей маме, чем вы всё-таки занимаетесь на работе, добро пожаловать под кат.

Трогни чтобы дальше
Total votes 35: ↑29 and ↓6 +23
Comments 42

Учим машину разбираться в языках

Reading time 4 min
Views 4.8K
Microsoft corporate blog Programming *Machine learning *
Translation
Хабр, привет! Мы уже рассказывали вам несколько раз про нашу интеллектуальную службу распознавания речи — LUIS. И в этих историях всегда была одна проблема: LUIS крутой, но не понимает русский язык. Сегодня всё изменится. Под катом вы узнаете о методе добавления поддержки дополнительных языков в LUIS с помощью службы Translation Cognitive API.


Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 1

How to write the home address right?

Reading time 16 min
Views 1.2K
XML *NoSQL *OpenStreetMap *Big Data *

How Tax Service, OpenStreetMap, and InterSystems IRIS
could help developers get clean addresses


image
Pieter Brueghel the Younger, Paying the Tax (The Tax Collector), 1640

In my previous article, we just skimmed the surface of objects. Let's continue our reconnaissance. Today's topic is a tough one. It's not quite BIG DATA, but it's still the data not easy to work with: we're talking about fairly large amounts of data. It won't all fit into RAM at once, and some of it won't even fit on the drive (not due to lack of space, but because there's a lot of junk). The name of our subject is FIAS DB: the Federal Information Address System database — the databases of addresses in Russia. The archive is 5.5 GB. And it's a compressed XML file. After extraction, it will be a full 53 GB (set aside 110 GB for extraction). And when you start to parse and convert it, that 110 GB won't be enough. There won't be enough RAM either.
Read more →
Total votes 8: ↑6 and ↓2 +4
Comments 0

The Top 10 Languages for App Localization

Reading time 3 min
Views 2.5K
Alconost corporate blog Development of mobile applications *Language localisation *Mobile applications monetization *Mobile App Analytics *


App localization statistics, case studies and analytics


The goal of every app developer, product manager, and marketing manager is to drive their app’s visibility and broaden its coverage. At the same time, this is also a way to approach the ultimate business goal of increasing monthly active users and revenue.

This brings us to the idea of app localization, which allows a product to reach new geographical regions and satisfy specific needs and user expectations. As such, localization must address multiple linguistic, cultural, regional, and religious considerations.

Written by Alconost
Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 2

Telegram бот для изучения языков

Reading time 5 min
Views 32K
Learning languages

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

Пришлось самому написать небольшой бот для Телеграма, который можно использовать для изучения практически любого языка.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Comments 53

Content Localization Strategies

Reading time 7 min
Views 1.4K
Alconost corporate blog Interfaces *Language localisation *Internet marketing *Content-marketing *
Translation


Setting up the content localization and, thus, configuring the interface language of the product in such a way that the right language is rendered to the right user is extremely important for each digital platform. That’s why we have decided to translate and share with you this expert article by Nicolai Goshin from Hellicht Medien.


And we strongly hope that some strategic points would be valuable for your localization projects!


Background and preliminary considerations


Digital projects targeting audiences in different countries or different language areas are doomed to take advantage of localization strategies. So we must answer the following question: which users should be given which content in which languages? The question at the first sight seems simple. But later in this article we will point out why this topic is, in fact, complex. And, of course, we will also address how to deal with this complexity.


Let's assume a scenario in which content (for example, an online magazine) is available in three languages: German, English, and Arabic. The goal is ideally to provide content to each user in their native language. If this is not possible, the content should be provided to the user in the language that they best understand apart from their mother tongue.

Read more →
Total votes 8: ↑8 and ↓0 +8
Comments 0

How to Localize a Mobile Game for the Asian Market

Reading time 7 min
Views 1.3K
Alconost corporate blog Game development *Language localisation *Games monetization *Games promotion *
Translation


With the Asian market rapidly growing, almost every ambitious IT product sooner or later faces the challenge of localization for this region. And without knowing all its facets any localization project is rather doomed to fail. That’s why we at Alconost have decided to translate and share with you the article on localizing games for Asia by Plarium, a global game developer with solid experience in game localization. We found here some useful approaches that are also valid for our localization projects and hope that you’ll like the reading, too.

For Western developers, entering the Asian market is like entering outer space, only 30 megabytes heavier. Localizing games into Japanese, Chinese, and Korean requires a Herculean effort. You need to account for certain technical requirements and scrupulously research the market and the target audience’s mindset. But if this is your dream, keep reading — our experience should stand you in good stead.

Read more →
Rating 0
Comments 0

Делаем параллельный корпус из книг с помощью sentence embeddings

Reading time 8 min
Views 5.5K
Python *Data Mining *Machine learning *Learning languages Natural Language Processing *
Tutorial

Parallel trucks (image by Unsplash


При поиске параллельных корпусов для своих нужд, — это может быть обучение модели машинного перевода или изучение иностранного языка, можно столкнуться с тем, что их не так уж и много, особенно, если речь идет не об английском, а каком-то редком языке. В этой статье мы попробуем создать свой корпус для популярной языковой пары русский-немецкий на основе романа Ремарка "Три товарища". Любителям параллельного чтения книг и разработчикам систем машинного перевода посвящается.


Задача


Такая задача называется выравниванием текстов и может быть до какой-то степени решена следующими способами:


  • Использовать эвристики. Можно считать количество предложений в текстах, количество слов в них и на основе этого производить сопоставление. Такой способ не дает хорошего качества, но может тоже быть полезным.
  • Использовать sentence embeddings. Наверняка вы слышали про модели типа word2vec или sent2vec или видели такой пример их использования — "король" + "женщина""мужчина" = "королева". Если коротко, то суть в том, чтобы перевести слова (предложения, тексты) в векторное пространство с сохранением семантического расстояния между ними. Такой подход открывает перед нами замечательные возможности по оценке близости текстов и их кусочков по смыслу.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 4

Большой провал маленькой функции 1С

Reading time 2 min
Views 7.5K
1C *

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

Читать далее
Total votes 15: ↑6 and ↓9 -3
Comments 74

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

Reading time 4 min
Views 5.1K
OTUS corporate blog Learning languages

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

Для начала дам немного контекста, чтобы вы поняли  мой предыдущий бэкграунд. Я работаю в IT на позициях QA Lead / SDET в зарубежных компаниях уже более 7 лет. Как и большинство из нас изучал язык еще в школе, но делал это крайне неохотно, давалось через силу. Скажу кое-что страшное  для лингвистов: транскрипцию я так и не запомнил. Но в целом на 4 из 5 баллов в обычной ГОУ СОШ вытягивал. Все шло гладко и после поступления в технический институт. Первые два года английский был насыщенный, но спрашивали не строго. Была возможность изучать язык в растяжку для зачета, опять же  без сильного рвения. Начиная с третьего курса мир перевернулся. 

Наш вуз подписал партнерское соглашение с IELTS, и тогда мы в обязательном порядке должны были его сдать к концу четвертого курса хотя бы на 4.5 балла (из 9). Для тех кто не в курсе: IELTS – это один из двух самых популярных экзаменов для поступления в зарубежные вузы наравне с  TOEFL. Кажется, что 4.5 балла из 9 это не так уж и много, но когда я впервые погрузился в секции reading и listening, то понял, что дела плохи, ведь IELTS прежде всего заточен, прежде всего, на академический английский, где приходится читать тексты и писать эссе не про “курочку Рябу”, а про  глобализацию, сельское хозяйство, астрономию и прочее. Тогда было довольно страшно, а сейчас я благодарен своему вузу (привет, МИСиС) за такую инициативу. Ведь хочешь не хочешь, а надо было получить зачет. Пришлось основательно погрузиться в язык, качественно делать домашнюю работу, регулярно учить новые слова на незнакомые темы. Помимо трех занятий в неделю в вузе, я еще посещал курсы английского в школе BKC. 

Читать далее
Total votes 27: ↑11 and ↓16 -5
Comments 10