Diario

Configuración inicial de instancia AWS EC2 Amazon Linux 2 AMI 2.0 con soporte de idioma japonés

1 Mins read

Actualización de bibliotecas

sudo yum update

Configuración de hora – Establecer zona horaria Asia/Tokio
sudo timedatectl
sudo timedatectl set-timezone Asia/Tokyo

Configuración de idioma japonés #localectl ja_JP.utf8
localectl
sudo localectl set-locale LANG=ja_JP.utf8
localectl
cat /etc/locale.conf
sudo localectl set-keymap jp106
cat /etc/vconsole.conf

Herramientas de desarrollo

Instalar bibliotecas necesarias para compilación
sudo yum -y groupinstall base "Development tools"

Instalar el comando nkf necesario para procesamiento de japonés
wget "https://ja.osdn.net/dl/nkf/nkf-2.1.4.tar.gz" -O nkf-2.1.4.tar.gz
tar zxvf nkf-2.1.4.tar.gz
cd nkf-2.1.4/
sudo make && sudo make install
cd ..
rm -rf nkf-2.1.4
rm -f nkf-2.1.4.tar.gz
sudo ln -s /usr/local/bin/nkf /usr/bin/nkf

Configuración automática de hora y actualización

sudo yum -y install chrony

sudo vi /etc/chrony.conf

#------------------------------------
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# En comentario
# pool 2.amazon.pool.ntp.org iburst

# Agregar
server ntp.nict.jp iburst
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
server ntp3.jst.mfeed.ad.jp iburst
#------------------------------------

sudo systemctl restart chronyd
sudo systemctl enable chronyd

#Verificar
sudo chronyc sources

mailx

Entorno de correo que siempre se necesita. Esta AMI no viene con mailx preinstalado, así que lo instalamos para uso administrativo.
※sendmail [postfix] viene preinstalado

# Trabajar como root
sudo su -

# No hay módulo, así que el comando mail no funciona. Instalar
yum install mailx

# Eliminar mails antiguos a root por si acaso
sed -i '/^root:/d' /etc/aliases

# Mail a root
echo "root: hoge@hogetaro.com" >> /etc/aliases

# Aplicar cambios
newaliases

# Prueba
echo testtaro | mail root

# Volver al usuario
exit

※AWS gestiona estrictamente el puerto de envío de correo «25». Si se envía una cantidad considerable de mensajes externamente, existe la posibilidad de ser bloqueado. En ese caso, siga el proceso de aprobación.
Para configurar un servidor SMTP adecuado, se requiere aprobación.
https://forums.aws.amazon.com/thread.jspa?threadID=153660

telnet

telnet es muy útil. Instálelo si lo prefiere.

sudo yum -y install telnet
Read more
Diario

Problema con caracteres de escape HTML al usar SyntaxHighlighter en WordPress

1 Mins read

WordPress5.2.1
SyntaxHighlighter Plugin 3.5.0

Cuando se envuelve el código fuente con etiquetas para resaltarlo usando SyntaxHighlighter, los caracteres de escape HTML (etiquetas de mayor/menor que, etc.) no se muestran correctamente.

Parece que WordPress está codificando la cadena de caracteres en un evento de pérdida de foco en el cuadro de texto de la pantalla de publicación, y el proceso parece estar causando el problema.

Como solución rápida, si presiona el icono de deshacer en la esquina superior izquierda una vez, se revierte antes de la codificación. Después de eso, si publica, se mostrará correctamente.

※Como el proceso de codificación también se ejecuta cuando se presiona el botón de publicación, está bien deshacer los cambios.
¡No enfoque el cuadro de texto de publicación!

 

Actualización 20190829

Classic Editor

¡resuelve el problema!

 

Read more
Diario

Cómo llamar un ViewController del Storyboard desde el código en iOS Xcode Swift 4.2

1 Mins read

Mac 10.14.5
Xcode 10.2.1
Swift 4.2

Método para llamar un ViewController del Storyboard desde el código
El ejemplo está dirigido a Main.storyboard, así que asegúrate de haber limpiado previamente la configuración en
«General» → «Deployment Info» → «Main Interface»

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
 
    var window: UIWindow?   //Main Window
 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
 
        window = UIWindow(frame: UIScreen.main.bounds)
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let viewController = storyboard.instantiateInitialViewController()
        window?.rootViewController = viewController
        window?.makeKeyAndVisible()
 
        return true
    }
}
Read more