Close icon

アトトックラボ

2023月11日27日

YouTube「数字の単位」のレッスン動画

YouTubeでITエンジニアに必要な基礎知識やプログラミング学習の動画を配信中です。

アトトックのYouTubeチャンネル

プログラムで扱うデータ:数字の単位

人間の普段の生活では数字の単位を10進数で表現します。
コンピュータでは2進数の方が扱いやすいため、数字の単位も2進数で表現します。
このような基本的なデータ表現の違いを理解することは、プログラミングやコンピュータサイエンスの基本の一部です。
この動画では数字の単位について学習します。

2023月11日20日

オンラインプログラミング学習サービスを開発中!

現在のプログラミング学習の多くは言語習得が主体でプログラムの作成が出来ればプログラマーになれると思われがちです。
しかしそのプログラミング学習は90%もの人が途中で挫折してしまうとの調査結果もあります。

また、せっかく努力の末に言語習得に成功しても、実はそれだけでは開発現場ではまったく通用しません。
プログラムが動作する環境、外部データとの連携、オブジェクト指向などの基本的な周辺知識にとどまらず、標準化された様々な規格の知識や理解など、膨大な情報を並行して学ばなければ『デキるエンジニア』にはなれず、これらもまた学習途上で挫折してしまう大きな要素ともなっています。

デキるエンジニアは複数の開発言語をカンタンに操ります。それは学習の過程で習得した様々な知識をもとに、自ら考えて実践し解決する能力も同時に身につけていくからです。

アトトックはこのような "自ら課題を解決できるエンジニア" になるための学習プラットフォームを開発、提供いたします。それが『マナピス』です。

『マナピス』ではプログラムのコードの意味を1行1行理解する仕組みや、必要になる周辺知識や専門用語などの解説、Q&Aなども逐次レッスンの内外に取り入れ、学習途上で躓くことがあっても、自らの力で能動的に課題を解決する力を持った未来のエンジニアを培うコンテンツとプラットフォームを提供してまいります。

IT人材不足という社会課題の解決、社会で活躍できるIT人材の輩出を目指します。

開発中のオンラインプログラミング学習サービスの紹介

2023月10日29日

[macOS]Swiftのバージョンを確認する方法

macOSやiOSのアプリ開発で、MacにインストールされているSwiftや、プロジェクトに設定しているSwiftのバージョンを確認したいときがあります。

XcodeのプロジェクトのSwiftのバージョンの確認

プロジェクトで使用しているSwiftのバージョンを確認するには、XcodeのTARGETSで「Build Settings」 - 「Swift Compiler - Language」 - 「Swift Language Version」を確認します。

2023月10日29日

[macOS]メニューバーに常駐するアプリ

macOS13から利用できるMenuBarExtraを使用してSwiftUIでメニューバーに常駐するアプリを開発できるようになりました。
しかし、macOS12以前のmacOSでは、MenuBarExtraはmacOS13からの対応なのでMenuBarExtraを使用しない方法で、メニューバーに常駐するアプリを作ってみます。

確認した環境

  • macOS 14
  • Version 15.0.1
2023月10日29日

[macOS]MenuBarExtraを使用してメニューバーに常駐するアプリを作ってみる

macOS 13から利用できるMenuBarExtraを使用してSwiftUIでメニューバーに常駐するアプリを作ってみます。

確認した環境

  • macOS 14
  • Version 15.0.1

参考

2023月10日19日

RailsのプロジェクトのRubyをバージョンアップ

現在、Railsアプリの開発環境では、Ruby 2.7.6を使用しています。
開発中のプロジェクトから、最新版のRuby 3.2.2にアップデートしていこうと思います。

開発環境

  • macOS 12.6
  • Rails 6.1.7.6
  • Ruby 2.7.6
  • rbenv 1.2.0

ruby 3.2.2をインストール

rbenvでruby 3.2.2をインストールしようとするとエラーが発生しました。

$ rbenv install 3.2.2
To follow progress, use 'tail -f /var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.log' or pass --verbose
Downloading openssl-3.1.2.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539
Installing openssl-3.1.2...
Installed openssl-3.1.2 to /Users/kuru/.rbenv/versions/3.2.2

Downloading ruby-3.2.2.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz
Installing ruby-3.2.2...
ruby-build: using readline from homebrew
ruby-build: using gmp from homebrew

BUILD FAILED (macOS 12.6 using ruby-build 20230717-11-g4d4678b)

Inspect or clean up the working tree at /var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.2vbRCR
Results logged to /var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.log

Last 10 log lines:
  Check ext/psych/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
Generating RDoc documentation
/private/var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.2vbRCR/ruby-3.2.2/lib/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
uh-oh! RDoc had a problem:
cannot load such file -- psych

run with --debug for full backtrace
make: *** [rdoc] Error 1
2023月09日13日

コンピューターの世界でよく使われる数の表現方法:2進数

2進数は、コンピューターの世界でよく使われる数の表現方法です。
通常、人間の日常生活では10進数(0から9までの数字を使用)で数を表現しますが、2進数では0と1の2つの数字しか使いません。
2進数を理解することで、様々なIT関連の概念を理解しやすくなります。

10進数と2進数

10進数

  • 10進数の1桁は0から9の10通りです。
  • 10進数の数値は0〜9まで1ずつ加算し、次に1を加算すると桁が1つ上がります。

2進数

  • 2進数の1桁は0か1の2通りです。
  • 2進数の数値は、0と1で表現します。1ずつ加算して次に1を加算すると、桁が1つ上がります。

2023月09日11日

コンピュータが扱うデータの基本単位:ビット(Bit)とバイト(Byte)

最近、プログラミングの学習法や必要な知識について考えています。プログラミングの習得には、実際にコードを書きながら経験を積むことが非常に重要です。
併せて、プログラミング言語だけでなく、ITエンジニアとしての基本的な知識も必要です。

プログラマーに必要なプログラミング言語以外の基礎知識について書いていこうと思います。

まず、ビットとバイトの話から
ビットやバイトは、コンピュータが扱うデータの基本単位です。

ビット(Bit)とは

ビットはコンピュータで扱うデータの最小単位です。
1桁で表現されるデータ量を1ビットといいます。
1ビットには0または1が格納され、1ビットで表現できるデータは2通りです。

1ビットで表現できるデータ




ビット列

ビットを並べたものをビット列といいます。
ビットの数が増えると、より多くの情報を表現できるようになります。
1ビットで表現できるデータは2通りですが、2ビットでは4通りのデータが表現可能です。




2023月06日30日

[Rails]ActiveDecoratorをControllerで使う

環境

Rails 6.1.7.2

やりたいこと

  • プログラムのコードをcodeタグを使って表示するため、コードの行ごとにspanタグを追加したい。
  • spanタグの追加処理はDecoratorで実装したい。
  • プログラムのコードはAPIで取得しているため、コントローラーでDecoratorを使用したい。

実装方法

sample_codesテーブルのsourceにプログラムのソースがテキストで保存します。
Decoratorにソースコードの1行ごとにspanタグを追加するメソットsource_codeを実装します。

SampleCodeDecorator

  
module SampleCodeDecorator
  def source_code
    lines = source.split("\n")
    source_code = ''
    lines.each do |line|
      source_code += "#{line}"
    end
    source_code
  end
end
  

APIのコントトーラーからSampleCodeDecoratorのメソッドsource_codeを実行するとエラー

sample_codes_controller.rb(修正前)

  
class Api::SampleCodesController < Api::ApiController
  def source
    sample_code = SampleCode.find(params[:sample_code_id])

    response = {}
    response[:title] = sample_code.title
    response[:source_code] = sample_code.source_code

    render json: response
  end
end
  

この状態で実行するとundefined methodになってしまいます。

NoMethodError (undefined method `source_code' for # Did you mean? source): app/controllers/api/sample_codes_controller.rb:8:in `source'

Viewで使用する時はActiveRecordのオブジェクトからDecoratoerのメソッドが自動的に実行されますが、コントローラーでActiveDecoratorを使いたい場合は、Decoratorのインスタンスを生成して使用します。

2022月10日13日

ファイルアップロードでMySQL client is not connected

RailsアプリでアップロードしたファイルをDBに保存する機能があり、
5MB程度のファイルでは問題なかったのですが、10MB程度のファイルをアップロードすると下記のエラーが発生しました。

ActiveRecord::StatementInvalid (Mysql2::Error: MySQL client is not connected):

BLOBのカラムにデータを保存する場合には発生しやすい現象なのでメモしておきます。



アトトックラボとは

株式会社アトトックメンバー が技術の話、デザインの話、キャラクターの話、ときどき脱線してガジェットの話やライフハックの話など好きなことを書いています。


連載記事


最近の記事


タグ